VBA Access erneutes Abfragen eine Abfrage, die außerhalb der aktuellen Form-Objekt
Arbeite ich an einem komplizierten Projekt in MS Access 2007.
Ich bin mit einigen Schwierigkeiten, die richtige Methode/Syntax für eine Abfrage außerhalb der offenen form erneut abgefragt werden. Ich bin noch ziemlich neu in der VBA, so verzeihen Sie mir, wenn ich Fehler machen, oder ich bin falsch.
Habe ich eine Abfrage erstellt, die verwendet den Wert einer bestimmten Kombinationsfeld in meinem Formular als Teil der WHERE-Kriterien. Ich habe getestet, und es funktioniert Prima. Jetzt arbeite ich auf einer "After Update" - Ereignis für das Kombinationsfeld in Frage, so dass, Wenn ich den Wert der Combo-Box in Frage, es wird automatisch sagen, meine Abfrage erneut ausführen, sich mit dem neuen Wert in der WHERE-Klausel.
Ich war ursprünglich denken mit dem folgenden Befehl in VBA
DoCmd.Requery [Queries]![TestQuery]
Aber ich bin unklar auf, wenn ich die DoCmd.Requery, da die Abfrage außerhalb der offenen form und nicht eingebettet in eine es.
Ich bin auf der Suche nach Möglichkeiten, wie am besten, um dies zu erreichen Wirkung, Nicht unbedingt VBA Nur. Also, wenn Sie ein Makro würde besser funktionieren, geben Sie mir bitte ein Beispiel für die Arbeit von
UPDATE
Nur um die Dinge ein wenig klarer ist Hier die eigentlichen SQL-Code für die Select-Abfrage, die ich will requery durch das Ereignis nach Aktualisierung.
SELECT ForcastTrans.Location, ForcastTrans.Client, ForcastTrans.Department, ForcastTrans.Account, ForcastTrans.Currency, ForcastTrans.Month1, ForcastTrans.Month2, ForcastTrans.Month3, ForcastTrans.Month4, ForcastTrans.Month5, ForcastTrans.Month6, ForcastTrans.Month7, ForcastTrans.Month8, ForcastTrans.Month9, ForcastTrans.Month10, ForcastTrans.Month11, ForcastTrans.Month12
FROM ForcastTrans
WHERE (((ForcastTrans.EntityID)=[Forms]![ReportSelect]![BusinessUnit]));
Als ich sagte, bevor diese Abfrage funktioniert gut von selbst, ich muss nur in der Lage sein, um die Ausgabe eines Ereignis nach Aktualisierung, die sagen, diese Abfrage Erneut ausführen, auf der Grundlage der aktualisierten WO die Kriterien.
Es ist eine SELECT-Abfrage, ich benutze es als Grundlage für einen Bericht. Es muss dynamisch sein, so dass ich nicht brauchen, um zurück zu kommen und neue Berichte erstellen jedes mal, fügen Sie einige neue Kategorie", um die Datensätze in der Datenbank.
Es ist immer wichtig, wie Sie der Bericht. Ich würde davon ausgehen, dass diese Abfrage ist die Datensatzquelle für den Bericht und der Bericht wird nur generiert, wenn Sie es verlangen, von dieser form, die Sie aktualisieren. In dem Fall, sollte die Abfrage automatisch die aktualisierten Wert beim laden des Berichts; Wenn Sie schauen, um den Bericht zu generieren nachdem Sie das Formular schließen, dann ist die Abfrage nicht funktionieren, wenn die combobox ist zerstört. Ich bin immer noch spekulieren, was genau Sie wollen zu tun hier, aber es genügt zu sagen, ich empfehle, nicht mit einer gespeicherten Abfrage, hängt davon ab, ein Objekt in einem Formular.
Tatsächlich hilft ein wenig Recht. Sie sind absolut richtig, dass diese gleiche form haben, eine Taste zum öffnen der angeforderten Berichte. Ich hatte nicht nachgedacht, beim initiieren der Offenen Form-Befehl, der es zwingen würde, die Abfragen, die erneut ausgeführt werden muss, in diesem Augenblick. Ich werde einige tests, um sicherzustellen, es funktioniert für meine Bedürfnisse, aber ich würde sagen, das könnte mein problem lösen
Ja, Dass das Thema gelöst. Werfen Sie eine Antwort auf diese, so kann ich geben Sie Kredit für die mir geholfen haben das problem zu lösen
InformationsquelleAutor Mr. Finn | 2013-12-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Danke.
Es ist immer wichtig, wie Sie der Bericht. Ich würde davon ausgehen, dass diese Abfrage ist die Datensatzquelle für den Bericht und der Bericht wird nur generiert, wenn Sie es verlangen, von dieser form, die Sie aktualisieren. In dem Fall, sollte die Abfrage automatisch die aktualisierten Wert beim laden des Berichts; Wenn Sie schauen, um den Bericht zu generieren nachdem Sie das Formular schließen, dann ist die Abfrage nicht funktionieren, wenn die combobox ist zerstört. Ich bin immer noch spekulieren, was genau Sie wollen zu tun hier, aber es genügt zu sagen, ich empfehle, nicht mit einer gespeicherten Abfrage, hängt davon ab, ein Objekt in einem Formular.
InformationsquelleAutor Bill N.
Einen saubereren Weg, dies zu tun, ist die Verwendung einer WhereCondition in Ihrem OpenReport aufrufen:
(in einer Schaltfläche klicken Sie auf ReportSelect)
Diese öffnet Ihr Bericht gefiltert durch die form, öffnet es, aber immer noch erlaubt, den Bericht zu öffnen, in dem alle Daten, wenn das Formular geschlossen ist.
Kevin
InformationsquelleAutor pteranodon