Access-o-Mania

Access-Forum (Deutsch/German) => Bericht => Thema gestartet von: SG05 am April 07, 2015, 12:48:12

Titel: Syntaxfehler Komma
Beitrag von: SG05 am April 07, 2015, 12:48:12
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.....

Titel: Re: Syntaxfehler Komma
Beitrag von: MaggieMay am April 07, 2015, 12:54:38
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.
Titel: Re: Verwendung von Between?!
Beitrag von: SG05 am April 07, 2015, 14:04:37
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
Titel: Re: Syntaxfehler Komma
Beitrag von: DF6GL am April 07, 2015, 14:11:14
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?
Titel: Re: Syntaxfehler Komma
Beitrag von: MaggieMay am April 07, 2015, 14:16:18
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...