Hallo,
ich habe ein Formular mit verschiedenen Unterformularen. In Abhängigkeit eines Feldes ,,Typ" in dem Formular möchte ich ein entsprechendes Unterformular automatisch im Formular angezeigt haben. Also nur eins nicht alle. Leider bin ich noch Anfänger, sodass dies nicht wie gewünscht funktioniert. Ich dachte das der Eintrag von tomm85 ähnlich ist, jedoch komme ich da gerade nicht weiter. Fehler der zur Zeit auftaucht ist
Fehler beim Kompilieren: Unzulässige Verwendung des Schlüsselwortes Me (im Select Case)
Hier der Code:
Private Sub Grundinformationen1_AfterUpdate()
Dim sSQL As String
sSQL = "SELECT * FROM Grundinformationen1"
Select Case Nz(Me!Grundinformationen1)
Case "A"
Me!tbl_Katze.Form.RecordSource = sSQL & " WHERE [Typ]='Katze'"
Case "B"
Me!tbl_Hund.Form.RecordSource = sSQL & " WHERE [Typ]='Hund'"
Case "C"
Me!tbl_Maus.Form.RecordSource = sSQL & " WHERE [Typ]='Maus'"
Case Else
Me!tbl_Tier.Form.RecordSource = sSQL
End Select
End Sub
Vielen Dank
Hallo,
tbl_Katze/Hund/Maus/Tier sind doch sicher die Bezeichnungen von Tabellen, oder? Hier muß aber der Name des entspr. Unterformulars hin.
Gruß Thomas
PS: beachte:
http://www.donkarl.com/?FAQ4.2Gruß Thomas
Hallo Thomas,
vielen Dank. Leider bekomme ich auch bei geändertem Code die selbe Fehlermeldung.
Vielen Dank
Tim
Hallo,
was hast Du nun ausprobiert?
Vermutlich ist diese Methode eher nicht zielführend..
ZitatIn Abhängigkeit eines Feldes ,,Typ" in dem Formular möchte ich ein entsprechendes Unterformular automatisch im Formular angezeigt haben.
Wenn es sich dabei um
unterschiedliche Formulare handelt, dann etwa so:
Private Sub Grundinformationen1_AfterUpdate()
Select Case Nz(Me!Grundinformationen1)
Case "A"
Me!UFO_Steuerelementname.SourceObject = "frmFormularA"
Case "B"
Me!UFO_Steuerelementname.SourceObject = "frmFormularB"
Case "C"
Me!UFO_Steuerelementname.SourceObject = "frmFormularC"
Case Else
Me!UFO_Steuerelementname.SourceObject = "frmFormularNochEinAnderes"
End Select
End Sub
Wenn es ein einzelnes bestimmtes Form ist, das nur zu filtern ist, dann etwa so:
Das (Unter-)Formular (mit Datenherkunft "SELECT * FROM Grundinformationen1") als UFO-Steuerelement in das Hauptform einfügen.
und mit Code:
Private Sub Grundinformationen1_AfterUpdate() 'Ist das ein Formularfeld?
Dim strFilter As String
Select Case Nz(Me!Grundinformationen1,"")
Case "A"
strFilter = "[Typ]='Katze'"
Case "B"
strFilter = "[Typ]='Hund'"
Case "C"
strFilter = "[Typ]='Maus'"
Case Else
strFilter = " "
End Select
Me!Ufo_Steuerelelentname.Form.Filter =strFilter
Me!Ufo_Steuerelelentname.Form.FilterOn = True
End Sub
Es stellt sich die Frage: Warum überhaupt ein UFO(-steuerelement)?