Kriterium Abfrage per VBA ändern

Von: , Frage gestellt am Fr, 6. Mär 2009

Guten Tag
in einem Formular habe ich ein ungebundenes Feld "Auswahl".
In dieses Feld soll eine Zahl geschrieben werden, die beim Klicken auf eine Befehlsschaltfläche darunter das Feld "VP" der Tabelle "VP def" in der Abfrage "Abfrage VP" ändert und dann diese öffnet. Mein Code funktioniert nicht. Kann mir jemand helfen? Danke!

Private Sub Befehl30_Click()

Dim a As Variant

a = ("Abfrage VP", "SELECT * FROM VP def WHERE VP LIKE "Auswahl")
DoCmd.OpenQuery "Abfrage VP"

End Sub

Private Sub Befehl4_Click()

End Sub

7 Antworten zu dieser Frage

  1. Antwort von nach einer Stunde 0 hilfreich
    Re: Kriterium Abfrage per VBA ändern

    Hallo Peter,

    du versuchst eine fertige Abfrage zu manipulieren. Das geht so nicht und ist auch nicht nötig.

    - Öffne die Abfrage im Bearbeitungsmodus
    - in der Spalte mit VB
    - gibst du als Kriterium einfach an:
    wie Formulare!DeinFORMULAR_NAME.DeinFeld_Name

    - speichern
    - fertig

    immer wenn nun die Abfrage aufgerufen wird, wird nun der Inhalt des Feldes als Kriterium berücksichtigt.


    Grüße aus Schönberg (Lübeck)
    Wolfgang
    (Netwolf)

  2. Antwort von nach einer Stunde 0 hilfreich
    Re: Kriterium Abfrage per VBA ändern

    Hallo,



    was die eigentliche Aufgabe, bzw. was willst Du insgesamt erreichen?


    So wie Du es machen willst, geht es gar nicht.



    Viele Grüße vom Bodensee
    Franz , DF6GL

    PS: Feedback erwünscht!

    • Antwort von nach 14 Stunden 0 hilfreich
      Re^2: Kriterium Abfrage per VBA ändern

      Ich wollte es so wie in diesem Beispiel von access-home:
      http://www.access-home.de/htm/dbs/97abfrageaendern.htm

      aber nur der obere Teil! Leider bringe ich es nicht fertig, den Code so abzuändern, dass es in meiner Datenbank funktioniert. Eine Sortierung brauche ich nicht. Meine Objekte sind:
      Tab: "VP Def". Abfrage: "Abfrage VP" Feld: "VP"

      • Antwort von nach 15 Stunden 0 hilfreich
        Re^3: Kriterium Abfrage per VBA ändern

        Hallo,


        sorry, ich versteh immer noch nicht die Aufgabe.

        Bitte beantworte meine Frage, sonst kann ich nicht helfen.





        Viele Grüße vom Bodensee
        Franz , DF6GL

        PS: Feedback erwünscht!

        • Antwort von nach 16 Stunden 0 hilfreich
          Re^4: Kriterium Abfrage per VBA ändern

          Also ich habe eine Abfrage: "Abfrage VP". Da gibt es ein Feld "VP" von der Tab "VP def" (und andere Felder natürlich). Im Feld "VP" habe ich das Kriterium 15.
          Ich will nun ein Formular, in dem ich ein neues Kriterium für das Feld "VP" eingeben kann, z.B. 14. Dann sollte es ein Enter-Button geben, und wenn ich den anklicke, soll die "Abfrage VP" mit allen Feldern mit dem neuen Kriterium 14 im Feld "VP" starten. [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

          • Antwort von nach 16 Stunden 0 hilfreich
            Re^5: Kriterium Abfrage per VBA ändern

            Hallo,



            Also ich habe eine Abfrage: "Abfrage VP". Da gibt es ein Feld
            "VP" von der Tab "VP def" (und andere Felder natürlich). Im
            Feld "VP" habe ich das Kriterium 15.
            WO wird diese Abfrage verwendet?? Ich will nun ein Formular, in dem ich ein neues Kriterium für
            das Feld "VP" eingeben kann, z.B. 14. Dann sollte es ein
            Enter-Button geben, und wenn ich den anklicke, soll die
            "Abfrage VP" mit allen Feldern mit dem neuen Kriterium 14 im
            Feld "VP" starten.
            WARUM eine ABFRAGE starten??

            Ich nehme mal an, Du willst die in einem Formular angezeigten Datensätze nach dem bestimmten Kriterium filtern.

            Dann schreib in die Eigenschaft "Datenherkunft" des Forms den Tabellennamen ("VP def") , aus deren Feldern die Daten im Form angezeigt werden. (btw: Sonder-und Leerzeichen in Tabellen- und sonstigen Objektnamen führen in den meisten Fällen zu Komplikationen, also auf solche Zeichen und auch auf reservierte Wörter verzichten)


            Erstell ein zusätzliches ungebundenes Textfeld ("txtSuchen") und einen Button "btnSuchen" mit dieser Ereignisprozedur ("beim Klicken"):

            Sub btnSuchen_Click()
            Me.Filter="VP = " & nz(Me!txtSuchen,0)
            Me.Filteron=true
            End Sub

            Soll statt einer Filterung die Datenherkunft des Forms manipuliert werden (Abfrage statt Tabelle), dann etwa so:

            Sub btnSuchen_Click()
            Me.Recordsource ="Select * from [VP def] Where VP = " & nz(Me!txtSuchen,0)
            End Sub


            Viele Grüße vom Bodensee
            Franz , DF6GL

            PS: Feedback erwünscht!

            • Antwort von nach 17 Stunden 0 hilfreich
              Re^6: Kriterium Abfrage per VBA ändern

              Hallo
              Vielen Dank für deine ausführliche Antwort.
              Du hast recht, warum eine Abfrage starten. Im Formular geht es viel einfacher.
              Es funktioniert wie von dir beschrieben. Herzlichen Dank

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!