Hallo Zusammen,
als blutiger Anfänger in der Access-Welt versuche ich mich gerade an einer Datenbank für unsere Versuchsauswertung.
Hierfür habe ich ein Suchformular (frmFilter) erstellt, welches durch eine Parameterabfrage mir die gewünschten Einträge anzeigt.
Dieses Suchformular binde ich in einem Datenbankformular (frmDatenbank) in einem Registersteuerungselement ein.
Wenn ich nun in dem Unterformular im Registersteuerungselement etwas suchen will, passiert nichts. Nur wenn ich direkt im Suchformular (frmfilter) bin kann ich etwas suchen. Muss ich da irgendwie was verknüpfen?
Ich habe die Datenbank mal hochgeladen.
besten Dank und netter Gruß
Ich habe zusätzlich nochmal ein kruzes Video gemacht um mein Probelm zu veranschaulichen ;D
https://www.youtube.com/watch?v=ioRC5mt8z2A (https://www.youtube.com/watch?v=ioRC5mt8z2A)
Hallo,
man stellt keine Frage gleichzeitig in 2 Foren. Das ist verpönt und gemäß Forenregeln (Netiquette) auch unerwünscht.
https://www.ms-office-forum.net/forum/showthread.php?t=366891
Hallo,
"..ist die Frage, wieso?"
weil in der Form-Abfrage Formular-Steuerelement-Verweise verwendet werden und diese Referenzen nicht mehr stimmen, wenn das Form in einem UFO-Steuerelement angezeigt wird.
http://www.donkarl.com/?FAQ4.2
Besser ist, das Form in den einzelnen Afterupdate-Ereignissen anstatt mit Me.Requery zu aktualisieren es zu filtern (Me.Filter = ".......")
Guten Morgen,
@MzKlMu: hast du recht, Sorry! Habe im anderen Forum darum geben das Thema zu schließen / zu löschen....
@DF6GL: Danke für den Input. Ich habe mit der Programmierung bisher wenig am Hut gehabt und tue mich etwas schwer deinen Tipp zu verstehen.
Reicht es den Bezug zum Unterformular richtig herszustellen? oder muss ich das Suchformular ansich anders aufbauen, so wie du gesagt hast mit "me.filter".
Sollte nur der richtige Bezug hergestellt werden, welchen Syntax deiner Quelle brauche ich und wo füge ich den ein? Habe einiges ausprobiert und es leider nicht hinbekommen.
Hallo,
wenn für das UFO die Methode der Form-Verweise im Kriteriumsfeld der Abfrage beibehalten werden soll, dann lautet der SQL-String der Abfrage so:
ZitatSELECT tab_versuche.[Versuchs-ID], tab_versuche.Datum, tab_bestrahlung.Laserleistung, tab_bestrahlung.Linienbreite, tab_bestrahlung.Fokuslage, Laserart.Laserart, Wert_Lackart.Lackart, tab_probe.[Proben-ID]
FROM Wert_Lackart INNER JOIN (Laserart INNER JOIN (tab_lack INNER JOIN (tab_probe INNER JOIN (tab_versuche INNER JOIN tab_bestrahlung ON tab_versuche.[Versuchs-ID] = tab_bestrahlung.[Bestrahlungs-ID]) ON tab_probe.[Proben-ID] = tab_versuche.[Proben-ID]) ON tab_lack.[Lack-ID] = tab_probe.[Lack-ID]) ON Laserart.Laserart = tab_bestrahlung.Laserart) ON Wert_Lackart.Lackart = tab_lack.Lackart
WHERE (((tab_versuche.[Versuchs-ID]) Like "*" & [Forms]![frmDatenbank]![UfoFilter]![txtVersuchsID] & "*") AND ((tab_versuche.Datum) Like "*" & [Forms]![frmDatenbank]![UfoFilter]![txtDatum] & "*") AND ((tab_bestrahlung.Laserleistung) Like "*" & [Forms]![frmDatenbank]![UfoFilter]![txtLaserleistung] & "*") AND ((tab_bestrahlung.Linienbreite) Like "*" & [Forms]![frmDatenbank]![UfoFilter]![txtLinienbreite] & "*") AND ((tab_bestrahlung.Fokuslage) Like "*" & [Forms]![frmDatenbank]![UfoFilter]![txtFokuslage] & "*") AND ((Laserart.Laserart) Like "*" & [Forms]![frmDatenbank]![UfoFilter]![cbxLaserart] & "*") AND ((Wert_Lackart.Lackart) Like "*" & [Forms]![frmDatenbank]![UfoFilter]![cbxLackart] & "*") AND ((tab_probe.[Proben-ID]) Like "*" & [Forms]![frmDatenbank]![UfoFilter]![txtProbenID] & "*"));
wobei die Verweise auf das Unterform wie bei Donkarl beschrieben (überall) angepasst werden müssen:
Zitat[Forms]![frmDatenbank]![UfoFilter]![txtVersuchsID]
rot: Hauptformular
blau: Unterformular(-Steuerelementname)
Das bedeutet, dass die Abfrage nur für genau diese Konstellation verwendbar ist.
Würde die Filterung in (irgendeinem) Formular mit Me.Filter = xxxx geschehen, wäre es egal, wo und wie das Form (als HFO oder UFO) verwendet würde:
Private Sub txtVersuchsID_AfterUpdate()
Me.Filter = "[Versuchs-ID] = '" & Nz(Me!txtVersuchsID, "") & "'"
Me.FilterOn = True
End SubBtw:
--Für ID-Felder keinen TEXT-Datentyp verwenden!
--Keine Sonder- und Leerzeichen verwenden! (krasses Beispiel in tab_reflexion)
--Keine reservierten Wörter verwenden!
--Überarbeitung/Korrektur der Beziehungen dringend erforderlich!