Benutzer mit den meisten Antworten
Filter im Formularfuss kombinieren

Frage
-
Hallo, ich habe ein einfaches Problem. In einem Formularfuss möchte ich einen Filter aufsetzten der den Inhalt zweier Kombinationsfelder zusammen führt. Einzeln geht das einwandfrei nur die AND Funktion funktioniert nicht. Komme mit den Hilfe Erklärungen nicht zurecht.
K103, K105 ist ein Kombinationsfeld
TNr und SNr sind Nummern Felder
Kann mir da jemand auf die Sprünge helfen wie man Syntax gerecht eine "And" Abfrage aufbaut!
Private Sub B114_Click()
DoCmd.ApplyFilter "A1", "[Forms]![Feldname1]![K103] Like [A1]![TNr]"
'AND "[Forms]![Feldname2]! [K105] Like [A1]![SNr]"
End Sub
Antworten
-
Hallo!
Wahrscheinlich funktioniert es so:
DoCmd.ApplyFilter "A1", "[Forms]![Feldname1]![K103] Like [A1]![TNr] AND [Forms]![Feldname2]![K105] Like [A1]![SNr]"
Wenn ich den Filter richtig verstehe, könntest du ihn wegen besser verständlicher Logik und Syntax so formulieren:
DoCmd.ApplyFilter , "TNr = Forms!Feldname1!K103 AND SNr = Forms!Feldname2!K105"
Karl
http://www.AccessDevCon.com
http://www.donkarl.com- Bearbeitet Karl DonaubauerMVP Dienstag, 2. Januar 2018 15:53 Sig
- Als Antwort markiert Peter DoeringMVP, Moderator Sonntag, 21. Januar 2018 10:22
-
Hallo!
Die vollständige Qualifizierung mit einem Domänennamen [A1]! brauchst du an sich nur, wenn die Feldnamen nicht eindeutig sind, d.h. in mehreren Tabellen oder Abfragen in der Datenquelle vorkommen. Natürlich kannst du es auch damit versuchen:
DoCmd.ApplyFilter , "A1!TNr = Forms!Feldname1!K103 AND A1!SNr = Forms!Feldname2!K105"
Karl
http://www.AccessDevCon.com
http://www.donkarl.com- Bearbeitet Karl DonaubauerMVP Samstag, 6. Januar 2018 22:03
- Als Antwort markiert Peter DoeringMVP, Moderator Sonntag, 21. Januar 2018 10:22
Alle Antworten
-
Hallo!
Wahrscheinlich funktioniert es so:
DoCmd.ApplyFilter "A1", "[Forms]![Feldname1]![K103] Like [A1]![TNr] AND [Forms]![Feldname2]![K105] Like [A1]![SNr]"
Wenn ich den Filter richtig verstehe, könntest du ihn wegen besser verständlicher Logik und Syntax so formulieren:
DoCmd.ApplyFilter , "TNr = Forms!Feldname1!K103 AND SNr = Forms!Feldname2!K105"
Karl
http://www.AccessDevCon.com
http://www.donkarl.com- Bearbeitet Karl DonaubauerMVP Dienstag, 2. Januar 2018 15:53 Sig
- Als Antwort markiert Peter DoeringMVP, Moderator Sonntag, 21. Januar 2018 10:22
-
Hallo Karl,
danke, das hat geklappt , Deine verkürzter Syntax leider nicht! Fehlt vermutlich der Bezug zur Abfrage. Macht ja nichts, mir hat das jetzt sehr geholfen, ich bastle mir nämlich ein Access Programm mit dem ich wunderbar alles möglich lernen kann. Sprachen oder so. Ich vergleiche einfach zwei hinterlegte Felder mit einem Prüffeld. Der Filter dient einfach nur der besseren Übersicht.
MfG. Jürgen Hoffmann aus Finnland
-
Hallo!
Die vollständige Qualifizierung mit einem Domänennamen [A1]! brauchst du an sich nur, wenn die Feldnamen nicht eindeutig sind, d.h. in mehreren Tabellen oder Abfragen in der Datenquelle vorkommen. Natürlich kannst du es auch damit versuchen:
DoCmd.ApplyFilter , "A1!TNr = Forms!Feldname1!K103 AND A1!SNr = Forms!Feldname2!K105"
Karl
http://www.AccessDevCon.com
http://www.donkarl.com- Bearbeitet Karl DonaubauerMVP Samstag, 6. Januar 2018 22:03
- Als Antwort markiert Peter DoeringMVP, Moderator Sonntag, 21. Januar 2018 10:22
-
Hallo Karl, Ich sehe in meinem Profil, dass ich eine Frage nicht beantwortet habe, finde leider die Frage nicht. Das Problem ist auch gut gelöst, dank Deiner Hilfe. Ich bin mit meiner kleinen Datenbank weitergekommen und arbeite damit. Es ist eine kleine universel einsetzbare Datenbank mit Frage und und hinterlegten Antworten.
Ich habe da allerdings noch ein kleines Problem. Ich suchw den richtigen Syntax ( Befehlsfolge ) um in einem neu geöffnetem Formular in einem bestimmtes Feld dei Farbe auszuschalten bzw unsichtbar zu machen. Da funktioniert auch sonst sehr gut aber nicht wenn, ich das erste mal ein Formular öffne. Dann ist immer die erste Zeile sichtbar und das Feld mit dem hinterlegten Feld ist sichtbar. Wenn ich dann einen Satz weiter gehe funktioniert das mit dem von mir verwendetem Code / Syntax aber nich hier ? Kannst Du mir noch mal auf die Sprünge helfen ?
Zum Beispiel : Private Sub Befehl1_Click()
DoCmd.OpenForm "F1", acNormal, "", "", , acNormal
' DoCmd.GoToControl "Deutsch"
'Deutsch.ForeColor = 16777215 'Farbe aus'
End SubDas funktioniert leider so nicht ? VBA ist ziemlich doof ? Oder bin ich das? Kann sein! Ich suche noch ein gutes PDF Dokument in dem das alles erklärt wird . Der Acces VBA editor ist mir jedenfalls ein Buch mit sieben Siegeln. Der Makro Editor ist simpel, den kann man intuitiv bedienen..
MfG. J.H.