Kriterien hinzufügen, Um VBA-Code und Requery
Also den folgenden VBA-code habe ich requery wird das Formular basierend auf der Combo1 Wert von Januar. Irgendwann werde ich haben X Anzahl der Jahre in der Combo-Wert und nur wollen, um alle Datensätze auf Basis jedes Jahr.
Ist es möglich, fügen Sie zusätzliche VBA-code verwenden, die den Kriterien der Abfrage anstatt X Anzahl der Anfragen und requery, basierend auf der Jahr.
Private Sub Combo1_AfterUpdate()
If Combo1.Value = "2013" Then
[Form_Main Form].RecordSource = "Main_Form_Query"
[Form_Main Form].Requery
End If
End Sub
- stattdessen schreiben Sie den Namen Ihrer Abfrage in der
RecordSource
Eigenschaft können Sie die SQL-Anweisung in der runtime, und übergeben Sie es an diese Eigenschaft - Kann es sein, erfolgt innerhalb von VBA? Nur Grund ich Frage ist, ich bin nicht allzu vertraut mit dem Vorschlag, den Sie sind Wunschausrüstung zu.
- Ich habe eine Antwort auf ilustrate mein Vorschlag. Hoffe es hilft dir.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie erstellen Sie die Abfrage in der runtime (Sie erinnern sich: ein query-Objekt in access ist einfach nur eine sql-Anweisung)
So, lassen Sie uns davon ausgehen, dass Ihre Daten in eine Tabelle namens
tblMyData
mit Spalten namensmonth
(String Monat, name) und dieyear
(Numeric, Integer) (nur Beispiele). Sie können die Generierung der SQL-Abfrage in VBA auf diese Weise:Hoffe, dies hilft Ihnen.
.Requery
wieder.Öffnen Sie das Formular in einer anderen Weise.
Oder
Unter der Annahme, dass MyYear in der Tabelle oder Abfrage numerisch ist. Wenn es nicht ist, können Sie verwenden Sie einfache Anführungszeichen.
Die Allgemeine Idee ist, dass Sie ein Formular mit allen Datensätzen, und verwenden Sie die Where-argument der OpenForm-angeben, die die Datensätze, die angezeigt werden sollen. Sie können das gleiche tun mit berichten.
Habe ich nur eine vage Idee, was Sie versuchen zu erreichen. Es könnte helfen, um uns zu zeigen, die von SQL aus
Main_Form_Query
. Inzwischen überlegen Sie, ob Sie können das Formular benutzen, das.Filter
Eigentum zu tun, was Sie brauchen.Wenn die Datenquelle des Formulars enthält ein Textfeld mit dem Namen
fiscal_year
könnten Sie filtern die Zeilen angezeigt, basierend auf dem Jahr in der combo-box.Noch ein anderer Ansatz könnte sein, die Bezugnahme der combo-Wert in
Main_Form_Query
.Dann tun
Me.Requery
in der combo-Ereignis Nach Aktualisierung.