Hallo zusammen,
folgender Code, an mein HFO angepasst, aus dem Forum läuft bei mir nicht ( Fehlermeldung "Datentyp.... unverträglich ):
Private Sub MeinButton_Click()
On Error GoTo Err_MeinButton_Click
Dim strkrit As String
If Not IsNull(Me!Lokation) Then strkrit = strkrit & " and [Lokation] ='" & Me!Lokation & "'"
If Not IsNull(Me!Branche) Then strkrit = strkrit & " and [Branche] ='" & Me!Branche & "'"
If Len(strkrit) > 0 Then strkrit = Mid(strkrit, 6)
Me!F_Auftragsübersicht_Anzeigen_1.Form.Filter = strkrit
Me!F_Auftragsübersicht_Anzeigen_1.Form.FilterOn = True
Exit_MeinButton_Click:
Exit Sub
Err_MeinButton_Click:
MsgBox Err.Description
Resume Exit_MeinButton_Click
End Sub
Frage 2, ist diese Art erweiterbar auf z.B. 4 oder 5 Kriterien?
Danke für die Hilfe
N'abend,
an welcher Stelle tritt der Fehler auf?
Sind alle Kriterien als TEXT deklariert?
Wird wohl nicht die Ursache sein, aber ich bevorzuge es, Variablen anfangs auf einen definierten Wert zu setzen: also strkrit = ""
Weitere Kriterien sind machbar.
Harald
Hallo Harald, hallo SG05,
Zitat
an welcher Stelle tritt der Fehler auf?
Wahrscheinlich hier:
If Not IsNull(Me!Lokation) Then strkrit = strkrit & " and [Lokation] ='" & Me!Lokation & "'"
Unter der Voraussetzung, das Me!Lokation ein Kombifeld ist, wird da wohl die gebundene Spalte (ID?) nicht vom Typ String sein.
Die wird aber mit Me!Lokation per Standardeigenschaft (Value) zurückgegeben. Wenn das so ist, musst Du entweder die ' wegmachen, oder mit Me!Lokation.Column(n) auf die Lokation zugreifen, - n ist dann die sichtbare Spalte (0-basiert).
Zitat
Frage 2, ist diese Art erweiterbar auf z.B. 4 oder 5 Kriterien?
Warum nicht? Wird IMO nur durch die maximale Länge des Filterstrings beschränkt (weiss aber nicht wie lang der sein darf, und bin jetzt auch zu faul zum Suchen)
Zitat
aber ich bevorzuge es, Variablen anfangs auf einen definierten Wert zu setzen: also strkrit = ""
Mach' ich auch; ist aber nicht nötig, da Dim as String die Variable IMO automatisch mit einem Leerstring initialisiert.
gruss ekkehard
Moin,
in http://www.access-o-mania.de/forum/index.php?topic=14991
hattest Du Me!Ufo_1.Form.Filter = "[Lokation]= " & 4 verwendet.
Lokation ist kein String, also:
If Not IsNull(Me!Lokation) Then strkrit = strkrit & " and [Lokation] = & Me!Lokation
Harald
Danke hat super geklappt.
Gerne möchte ich auch Bereiche abfragen:
If Not IsNull(Me!Umssatz) Then strkrit = strkrit & " and [Umsatz] = & ">" & Me!Lokation
oder
If Not IsNull(Me!Umssatz) Then strkrit = strkrit & " and [Umsatz] = & > Me!Lokation
laufen nicht...
habe mich verschrieben:
If Not IsNull(Me!Umsatz) Then strkrit = strkrit & " and [Umsatz] = & ">" & Me!Lokation
oder
If Not IsNull(Me!Umsatz) Then strkrit = strkrit & " and [Umsatz] = & > Me!Lokation
Hallo,
versuche es mal so:
If Not IsNull(Me!Umsatz) Then strkrit = strkrit & " and [Umsatz] > " & Me!Lokation