Namen mit ' gibt Fehlermeldung

13/07/2009 - 15:47 von Thom | Report spam
Hallo Liebe NG

Ich stehe mal wieder vor verschlossener Tür. Nachstehendes VBA Makro gibt
mir die Mehrfachauswahl eines Listenfeldes. In dem Listenfeld Klicke ich
diverse Kunden an. Dies funktioniert soweit auch problemlos. Bei folgender
Situation gibt es jedoch Probleme. Ich verstehe auch warum, nur weiss ich
nicht wie lösen.

Wenn der Name (Jener im Listenfeld den ich anklicke), ein ' hat also
<Meier's> oder <Hubert's xy> so erhalte ich die Fehlermeldung:

Syntaxfehler (fehlender Operator) in Abfrageausdruck 'Name_BASIS in
('Meier's');'.

Ich weiss es liegt am ' im Namen, hat mir jemand einen Tipp wie das umgangen
werden kann.

Danke im Voraus

Gruss Thom

********
VBA Makro:

Dim Gruppe As String
Dim i As Integer

With Me!lsb_200_kundenauswahl
For i = 0 To .ListCount - 1
If .Selected(i) = True Then
Gruppe = Gruppe & "'" & .ItemData(i) & "',"
End If
Next i
End With


If Gruppe <> "" Then
Gruppe = Left(Gruppe, Len(Gruppe) - 1)
End If

Dim strSQL As String

strSQL = "Insert INTO temp_200_Portefeuille_Kunde_Ergebnis " & _
"SELECT * " & _
"FROM tbl_000_resdaten_news " & _
"WHERE NAME_BASIS IN ( " & Gruppe & " ) ;"
CurrentDb.Execute strSQL, dbFailOnError

END SUB
******
 

Lesen sie die antworten

#1 Gunter Avenius
13/07/2009 - 15:55 | Warnen spam
Hallo Thom,

Thom schrieb folgendes:
Ich stehe mal wieder vor verschlossener Tür. Nachstehendes VBA Makro gibt
mir die Mehrfachauswahl eines Listenfeldes. In dem Listenfeld Klicke ich
diverse Kunden an. Dies funktioniert soweit auch problemlos. Bei folgender
Situation gibt es jedoch Probleme. Ich verstehe auch warum, nur weiss ich
nicht wie lösen.

Wenn der Name (Jener im Listenfeld den ich anklicke), ein ' hat also
<Meier's> oder <Hubert's xy> so erhalte ich die Fehlermeldung:

Syntaxfehler (fehlender Operator) in Abfrageausdruck 'Name_BASIS in
('Meier's');'.

Ich weiss es liegt am ' im Namen, hat mir jemand einen Tipp wie das umgangen
werden kann.

Danke im Voraus

Gruss Thom

********
VBA Makro:

Dim Gruppe As String
Dim i As Integer

With Me!lsb_200_kundenauswahl
For i = 0 To .ListCount - 1
If .Selected(i) = True Then
Gruppe = Gruppe & "'" & .ItemData(i) & "',"
End If
Next i
End With


...

verdopple den Fliegendreck im String.

Gruppe = Gruppe & "'" & replace(.ItemData(i),"'","''") & "',"

Gruß
Gunter
__________________________________________________________
Access FAQ: http://www.donkarl.com
home: http://www.avenius.com - http://www.AccessRibbon.de
http://www.ribboncreator.de

Ähnliche fragen