none
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

            
    Montag, 1. Januar 2018 19:37

Antworten

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 


    Dienstag, 2. Januar 2018 15:53
  • 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

    Freitag, 5. Januar 2018 19:19
  • 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 


    Samstag, 6. Januar 2018 22:02
  • 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 Sub

    Das 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.

    Samstag, 20. Januar 2018 19:23