Beitrag aus SmartTools Access Weekly
Leeres Unterformular ausblenden
Access 365 2024 2021 2019 2016 2013 2010s
FRAGE In einem Unterformular meiner Access-Datenbank sollen zusätzliche Informationen zum Hauptdatensatz aus einer anderen Tabelle angezeigt werden. Das funktioniert allerdings nur solange in der anderen Tabelle auch mindestens ein Datensatz vorhanden ist. Ist die Tabelle leer, wird immer nur eine leere weiße Fläche in der Größe des Unterformular-Steuerelementes angezeigt. Kann man das irgendwie verhindern?
K. Uhrmann
ANTWORT Sie können in der Ereignisprozedur "Beim Anzeigen" des Hauptformulars die Datenbasis des Unterformulars prüfen und es komplett ausblenden, wenn es leer ist:
Private Sub Form_Current()
Dim rs As DAO.Recordset
On Error Resume Next
Set rs = Me.Unterformular.Form.RecordsetClone
If Err Or rs.RecordCount = 0 Then
Me.Unterformular.Visible = False
Else
Me.Unterformular.Visible = True
End If
Set rs = Nothing
End Sub
"Unterformular" ersetzen Sie durch den Namen des Unterformular-Steuerelementes in Ihrem Formular. Hier wird ein Recordset mit der Datenbasis des Unterformulars initialisiert und über die Eigenschaft "RecordCount" geprüft, ob Datensätze vorhanden sind. Ist das nicht der Fall wird es ausgeblendet, sind Datensätze vorhanden, wird es sichtbar gemacht. Um die Lösung zu perfektionieren, können Sie hinter dem Unterformular-Steuerelement ein Bezeichnungsfeld mit dem Text "Keine Zusatzinfos verfügbar..." oder ähnlich platzieren, das bei ausgeblendetem Unterformular sichtbar wird.