Access-VBA Filter
Ich versuche, einen filter in vba so:
Private Sub Form_Load()
Me.Filter = "[Alvo] = " & AlvoAtual
Me.FilterOn = True
Me.Requery
End Sub
Wo AlvoAtual ist eine Globale variable, aber nix passiert. Wenn ich das AlvoAtual für einen spezifischen Wert nothin auch passiert. Wie diese:
Private Sub Form_Load()
Me.Filter = "[Alvo] = 'AAAA'"
Me.FilterOn = True
Me.Requery
End Sub
Kennt jemand das problem?
Ich bin mit der Verabschiedung dieser Frage (VBAWhatnow), in der Hoffnung, dass es beantwortet eher als ein Duplikat, als war ich beraten.
Ich versuche das gleiche zu tun, nur mit lokalen Variablen.
Mein filter funktioniert einwandfrei, wenn ich manuell die Werte definieren, aber wenn ich die Einführung der Variablen-der filter funktioniert nicht mehr
Forms![frmPendingActions]![qryPendingAction subform].Form.Filter = "Filterby = FilterCrit"
Könnte mir jemand helfen eine gute Lösung zu finden?
das können Tippfehler sein, aber
certified professional In Stackoverflow, es sei denn, Sie verwenden die code-Taste {} oder <br>, erscheint der text wie oben.
Sind Sie sicher, dass Alvo ist der name des Felds in der Datenquelle und nicht der name einer Kontrolle? Wenn Alvo text ist, müssen Sie Anführungszeichen, wie dargestellt, in Ihrem zweiten Beispiel, aber diese werden nicht angezeigt in deinem ersten Beispiel. Access 2007 verfügt über eine neue Eigenschaft "FilterOnLoad", werden Sie mit >=2007?
Für mit es ist es Wert, Sie brauchen nicht die mir.Vereinbarung, wenn Sie mit mir.fitler und mir.filteraktiv.
Original-Plakat: Könnten Sie mehr von Ihrem code, um richtig zu reproduzieren, Ihre Fehler? (es sei denn, HansUp die Antwort bereits sortiert Sie)
Me.Filter = "[Alvo] = " & AlvoAtual
, Me.FilterOn = True
und Me.Requery
werden müssen auf separaten Zeilencertified professional In Stackoverflow, es sei denn, Sie verwenden die code-Taste {} oder <br>, erscheint der text wie oben.
Sind Sie sicher, dass Alvo ist der name des Felds in der Datenquelle und nicht der name einer Kontrolle? Wenn Alvo text ist, müssen Sie Anführungszeichen, wie dargestellt, in Ihrem zweiten Beispiel, aber diese werden nicht angezeigt in deinem ersten Beispiel. Access 2007 verfügt über eine neue Eigenschaft "FilterOnLoad", werden Sie mit >=2007?
Für mit es ist es Wert, Sie brauchen nicht die mir.Vereinbarung, wenn Sie mit mir.fitler und mir.filteraktiv.
Original-Plakat: Könnten Sie mehr von Ihrem code, um richtig zu reproduzieren, Ihre Fehler? (es sei denn, HansUp die Antwort bereits sortiert Sie)
InformationsquelleAutor user569709 | 2011-01-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dich (VBAWhatnow) sagte: "Mein filter funktioniert einwandfrei, wenn ich manuell die Werte definieren, aber wenn ich die Einführung der Variablen-der filter funktioniert nicht mehr".
Dann in Ihre filter-Zuordnung ...
Daher gehe ich davon aus
FilterCrit
ist der name der lokalen Variablen. Wenn das wahr ist, bauen Sie den filter-Ausdruck über die variable, die den Wert eher als seinen Namen.Wenn
Filterby
ist ein numerisches Feld Typ ...Wenn
Filterby
ist ein text-Feld geben Sie ...Wenn keine dieser Varianten ist die Antwort für Sie sein, geben Sie uns mehr Informationen über
Filterby
undFilterCrit
.InformationsquelleAutor HansUp
Versuchen, anstelle der 3 Anweisungen:
Hinweis: Sie können auch festlegen, den Zustand manuell, und legen Sie die FilterOnLoad option auf "True" und speichern Sie Ihre form. Keine Programmierung erforderlich.
"Am besten ein makro ist kein makro..."
Ich habe versucht DoCmd.ApplyFilter, wherecondition:= "[Alvo] = " & AlvoAtual oder DoCmd.ApplyFilter, wherecondition:= "[Alvo] = 'AAAA'" und funktioniert nicht zu. Wenn ich den Zustand manuell funktioniert es, aber das problem ist, dass ich nicht setzen eine Globale variable manuell. Ich bin mit office 2007. Ein weiterer sugestion?
Versuchen Sie, fügen Sie eine Zeile, die sagt: debug.? "-",AlvoAtual," -", um Ihre FormLoad-sub. Wenn die form geladen wird, drücken Sie Strg+G, um zu sehen, die debug-Fenster.
Nicht du meinst
Debug.Print
? HM-es scheint, dass Debug.? ist äquivalent zu Debuggen.Print in das Direktfenster, aber wenn ich es in den code, es wird automatisch in der IDE zu Debuggen.Drucken. So, nicht viel, außer zu sparen, ein paar Zeichen eingeben, die in das Direktfenster.Da das Debug-Objekt hat nur zwei Mitglieder, ist es nicht sparen, viel in der Art von Tastendrücken, da kann ich geben
Debug.p
dannspace
und Intellisense macht den rest.InformationsquelleAutor Patrick Honorez
Hi versuchen Sie, ändern Sie den code wie folgt:
Sofern die variable name ist Dinkel-Recht und enthält einen string-Wert, dann sollte der filter funktionieren. Auch Sie haben eine Spalte namens Alvo in der aktuellen form.
Übrigens ich kann nicht sehen, warum würden Sie brauchen, zu tun, ein Requery in den Formen load-Ereignis.
Hoffe, das hilft
InformationsquelleAutor Mark3308
Seinem problem mit der Verarbeitung Ihrer Einzel-und doppelten Anführungszeichen.
Versuchen Sie, wie Sie diese & arbeiten
InformationsquelleAutor logan