Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Unterformular erzeugen in Abhänigkeit von Atribut aus einer Tabelle

Begonnen von Tim95, September 29, 2020, 11:12:32

⏪ vorheriges - nächstes ⏩

Tim95

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

ShenTo19

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

Tim95

Hallo Thomas,

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

Vielen Dank
Tim

DF6GL

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)?
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access