Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: smily68 am Oktober 30, 2014, 11:04:23

Titel: Probleme mit Form.RecordSource eines Unterformulares
Beitrag von: smily68 am Oktober 30, 2014, 11:04:23
Hallo

Ich bin dabei eine kleine Testdatenbank zu erstellen. Es gibt eine tblAdresse ein Formular frmAdresse und ein Unterformular sfrZuteilung. In frmAdresse kann ich mit < > durch die Adressen blättern. das sfrZuteilung hat die Datenquelle tblAdresse wie das frmAdresse und ist als Unterformular in TabellenAnsicht in frmAdresse eingefügt. Es gibt keine Verknüpfungskriterien zwischen diesen beiden Formularen. sfrZuteilung wird durch ein FormRecordSource Filter bestimmt. Es sollten alle Adressen angezeigt werden, die, die gleiche Nummer haben wie die aktuelle Adresse. Leider wird im sfrZuteilung nur immer die aktuelle Adresse angezeigt.

Der Code sieht wie folgt aus:

Me!sfrZuteilung.Form.RecordSource = "SELECT * FROM tblAdresse WHERE adress_Auswahl Like " & Me!txtAdress_Auswahl

Ich habe die Datenbank angehängt.

Gruss Daniel
Titel: Re: Probleme mit Form.RecordSource eines Unterformulares
Beitrag von: MaggieMay am Oktober 30, 2014, 11:30:48
Hallo,
ZitatEs gibt keine Verknüpfungskriterien zwischen diesen beiden Formularen.
das ist nicht zutreffend, schau dir mal die Eigenschaften des Unterformular-Steuerelements an.
Titel: Re: Probleme mit Form.RecordSource eines Unterformulares
Beitrag von: smily68 am Oktober 30, 2014, 11:48:12
Du hast recht, es wieder adress_ID als Verknüpfung drin. Ich habe diese schon mehrmals rausgenommen und auf keine gestellt. Und doch kommt sie immer wieder rein. Wieso?
Titel: Re: Probleme mit Form.RecordSource eines Unterformulares
Beitrag von: MaggieMay am Oktober 30, 2014, 11:52:34
Möglicherweise passiert das, sobald du etwas an den Einstellungen änderst, manchmal "denkt" Access etwas zu viel mit.
Um sicher zu gehen, könntest du beim Öffnen des Formulars die Steuerelement-Eigenschaften per VBA ändern/löschen.
Titel: Re: Probleme mit Form.RecordSource eines Unterformulares
Beitrag von: smily68 am Oktober 30, 2014, 12:20:22
Wie sieht den der Code aus um diese Verknüpfung zu löschen?
Titel: Re: Probleme mit Form.RecordSource eines Unterformulares
Beitrag von: MaggieMay am Oktober 30, 2014, 13:07:02
Me.ufocontrolname.LinkChildFields = ""
Me.ufocontrolname.LinkMasterFields = ""

Darauf kommt man, wenn man im Formularentwurf die Verknüpfungseigenschaften des Unterformular-Steuerelements im Register "Daten" anklickt und F1 drückt.
Titel: Re: Probleme mit Form.RecordSource eines Unterformulares
Beitrag von: smily68 am Oktober 31, 2014, 10:25:54
Ich habe nun festgestellt, dass es nicht nur an der Verknüpfung liegt, sondern auch an meinem Code Form.RecordSource

Me!sfrZuteilung.Form.RecordSource = "SELECT * FROM tblAdresse WHERE adress_Auswahl Like " & Me!txtAdress_Auswahl

Obwohl ich die Verknüpfung auf das Auswahl Feld mache, macht er mir eine Verknüpfung auf die ID. Ich weiss nicht ob es daran liegt, dass sowohl für das HFormular wie auch für das UFormular die gleiche Tabelle benützt wird.

Ich habe nun diesen Code rausgenommen und das ganze mit einer Verknüpfung beim Laden versucht. Wenn ich nur ein Feld angebe, funktioniert es einwandfrei, schlussendlich brauche ich aber für meine Datenbank mehrer Kriterien. Ich habe gelesen, die einzelnen Felder müssen durch ; getrennt werden. So habe ich den unten aufgeführten Code erstellt, doch da kommt immer eine Meldung:

Wenn sie die Eigenschaft Verknüpfen von und nach verwenden, müssen sie gleich viele Felder angeben. Dies habe ich ja gemacht. Was ist falsch an meinem Code?

Me.sfrZuteilung.LinkChildFields = "Adress_Auswahl; Adress_Hotel"
Me.sfrZuteilung.LinkMasterFields = "Adress_Auswahl; Adress_Hotel"

Gruss Daniel
Titel: Re: Probleme mit Form.RecordSource eines Unterformulares
Beitrag von: MaggieMay am Oktober 31, 2014, 10:35:51
Hallo Daniel,

versuche es mal mit Komma als Trennzeichen.
Es macht einen Unterschied, ob die Zuweisung per VBA ausgeführt wird oder die Einträge manuell im Eigenschaftsfenster vorgenommen werden.
Titel: Re: Probleme mit Form.RecordSource eines Unterformulares
Beitrag von: smily68 am Oktober 31, 2014, 15:35:51
Beim Komma habe ich die gleiche Fehlermeldung.

Kann mehr jemand sagen, wie ich mehrer Felder mit einem VBA Code verknüpfen kann?

Gruss Daniel
Titel: Re: Probleme mit Form.RecordSource eines Unterformulares
Beitrag von: MaggieMay am Oktober 31, 2014, 15:57:36
Fehlermeldung?! Welche wäre das denn?
Titel: Re: Probleme mit Form.RecordSource eines Unterformulares
Beitrag von: DF6GL am Oktober 31, 2014, 17:08:42
Hallo,

Zum SQL-String:

Wenn Tabellenfeld "adress_Auswahl " den Datentyp TEXT besitzt:

Me!sfrZuteilung.Form.RecordSource = "SELECT * FROM tblAdresse WHERE adress_Auswahl Like '" & Me!txtAdress_Auswahl & "'"


oder besser bei genauem Vergleich:

Me!sfrZuteilung.Form.RecordSource = "SELECT * FROM tblAdresse WHERE adress_Auswahl=  '" & Me!txtAdress_Auswahl & "'"



wenn "adress_Auswahl"  den Datentyp Zahl (Long) besitzt:

Me!sfrZuteilung.Form.RecordSource = "SELECT * FROM tblAdresse WHERE adress_Auswahl =  " & Me!txtAdress_Auswahl