Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Tim95 am September 29, 2020, 11:12:32

Titel: Unterformular erzeugen in Abhänigkeit von Atribut aus einer Tabelle
Beitrag von: Tim95 am September 29, 2020, 11:12:32
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
Titel: Re: Unterformular erzeugen in Abhänigkeit von Atribut aus einer Tabelle
Beitrag von: ShenTo19 am September 29, 2020, 11:51:14
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
Titel: Re: Unterformular erzeugen in Abhänigkeit von Atribut aus einer Tabelle
Beitrag von: Tim95 am September 29, 2020, 14:46:37
Hallo Thomas,

vielen Dank. Leider bekomme ich auch bei geändertem Code die selbe Fehlermeldung.

Vielen Dank
Tim
Titel: Re: Unterformular erzeugen in Abhänigkeit von Atribut aus einer Tabelle
Beitrag von: DF6GL am September 29, 2020, 16:35:38
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)?