Beitrag aus SmartTools Access Weekly
Meldung bei Unterformularen ohne Datensätze
Access 365 2024 2021 2019 2016 2013 2010
FRAGE In unserer Anwendung haben wir in einem Hauptformular ein Unterformular eingebettet, über das Zusatzinfos zum Hauptdatensatz in chronologischer Reihenfolge erfasst werden. Die Eingabe der Daten wird immer wieder vergessen und daher soll der Anwender beim Wechsel des Hauptdatensatzes darauf aufmerksam gemacht werden, wenn im Unterformular noch keine Datensätze vorhanden sind. Wie lässt sich das realisieren?
Diverse Anfragen
ANTWORT Verwenden Sie dazu in die Ereignisprozedur "Beim Anzeigen" des Hauptformulars und geben Sie hier folgende Anweisungen ein:
Dim rs As DAO.Recordset
On Error Resume Next
If Me.NewRecord Then Exit Sub
Set rs = Me.Unterformular.Form.RecordsetClone
rs.MoveLast
If Err Or rs.RecordCount = 0 Then
MsgBox "Keine Datensätze im UFo!"
End If
Set rs = Nothing
"Unterformular" ersetzen Sie dabei durch den Namen des Unterformular-Steuerlementes in Ihrem Hauptformular. Die Routine prüft zunächst über "NewRecord", ob es sich um einen neuen Datensatz handelt. Ist das der Fall, sind keine weiteren Aktionen notwendig und die Routine wird verlassen. Andernfalls wird von der Datenbasis des Unterformulars per "RecordsetClone" eine Kopie im Recordset "rs" angelegt. Kommt es dabei zu einem Fehler oder sind keine Datensätze vorhanden (RecordCount = 0), wird eine entsprechende Meldung angezeigt. Sofern DAO in der Datenbank nicht genutzt wird, muss in der VBA-Entwicklungsumgebung über Extras-Verweise eine Referenz eingerichtet werden.