Hallo zusammen,
habe ein Problem bei Selektieren in einem UFO.
Folgende Zeilen sollen die HRDicke filtern:
Public Sub Auswahl01()
Dim strkrit As String
Dim HRDicke As Double
If Not IsNull(Forms!For_HR_Bestand!HRDicke) Then strkrit = strkrit & " and [HRDicke] = " & Forms!For_HR_Bestand!HRDicke
If Len(strkrit) > 0 Then strkrit = Mid(strkrit, 6)
Forms!For_HR_Bestand!For_HR_Bestand_1.Form.Filter = strkrit
Forms!For_HR_Bestand!For_HR_Bestand_1.Form.FilterOn = True
End Sub
Bei HRDicken wie 2,00 klappt es, aber bei 2,50 kommt eine Fehlermeldung "3075" ( Syntaxfehler Komma in Abfrageausdruck).
Gebe ich 2.50 ein, wird 25,00 im Auswahlfeld angezeigt.
Das Feld in der Tabelle und Formular ist als Double / Festkommazahl mit zwei Dezimalstellen angelegt.
Erbitte Eure Hilfe.....
Hallo,
setze die Str-Funktion ein, um das Komma SQL-tauglich in einen Dezimalpunkt zu verwandeln:
If Not IsNull(Forms!For_HR_Bestand!HRDicke) Then strkrit = strkrit & " and [HRDicke] = " & Str(Forms!For_HR_Bestand!HRDicke)
BTW:
Wenn HRDicke ein Formularfeld ist, so ist die Deklaration der Variablen gleichen Namens überflüssig.
Danke MaggieMay,
eine weiter Lösung benötige ich für einen Bereich zwischen zwei HRDicken:
If Not IsNull(Forms!For_HR_Bestand!HRDicke) Then strkrit = strkrit & " and [HRDicke] Between " & Str(Forms!For_HR_Bestand!HRDicke1) & " and " & Str(Forms!For_HR_Bestand!HRDicke2)
zeigt einen Syntaxfehler....
Danke für die Unterstützung
Hallo,
in der Codezeile gibt es keinen Syntax-Fehler...
Wann kommt die Fehlermeldung? Beim Kompilieren im VBA-Editor oder bei der Ausführung des mit dem Kriterium zusammengebauten SQL-Strings?
Hi,
wozu dient das erste " and "?
ZitatIf Not IsNull(Forms!For_HR_Bestand!HRDicke) Then strkrit = strkrit & " and [HRDicke] Between " & Str(Forms!For_HR_Bestand!HRDicke1) & " and " & Str(Forms!For_HR_Bestand!HRDicke2)
Du solltest besser die neuen Textfelder prüfen...