Quotes in tekstveld

Status
Niet open voor verdere reacties.

bikerron

Gebruiker
Lid geworden
9 mei 2009
Berichten
236
Hallo,
In een VBA insert Query is een van de inputvelden een tekstveld.
In dit veld kán ergens een quote opgenomen zijn.
Bij het inserten wordt echter het veld "verwerkt" tot aan de quote en wordt er een nieuw veld "aangenomen" om te inserten.
Dat is dus niet helemaal de bedoelinf.
Ergo... wat voor code moet ik opgeven om het textveld goed te kunnen verwerken.
Ik gebruik nu:
Code:
strSQL = "INSERT INTO tabel Exnaam, " _
& vbCrLf

strSQL = strSQL & "SELECT " _
& "'" & Me.ExNaam & "', "
strSQL = strSQL & "FROM tabel " & vbCrLf
 
Daar kun je geen code voor verzinnen, vrees ik. Een algemeen gebruikte truc is, voordat je het veld gebruikt in je insert statement, de quootjes vervangen door bijvoorbeeld het woord apostrof. Na de insertquery kan je dan een bijwerkquery draaien die het woord apostrof vervangt door een quootje.
 
Hallo Michel,
Wat ben je toch weer vlot met een suggestie.
Ik ga me er morgen het hoofd over breken of.....
Heb je een voorzetje voor me?

Groet,
Ron
 
Zoiets:

Code:
    If Not IsNull(rs.Fields(strField).Value) Then
        rs.Edit
        rs.Fields(strField).Value = Replace(rs.Fields(strField).Value, "'", "apostrof")
        rs.Update

En om 'm terug te zetten:

Code:
    rs.Edit
    rs.Fields(strField).Value = Replace(rs.Fields(strField).Value, "apostrof", "'")
    rs.Update
 
Het ondervangen van een apostrofe kan wel degelijk via je oorspronkelijke code en wel door drie dubbele aanhalingstekens links en rechts van je variabele te zetten:

Code:
strSQL = "INSERT INTO tabel Exnaam, " _
& vbCrLf

strSQL = strSQL & "SELECT " _
& """" & Me.ExNaam & """, "
strSQL = strSQL & "FROM tabel " & vbCrLf

Aanpak van OctaFish is leuk bedacht, gaat ook werken maar is absoluut niet nodig.

Tardis
 
Tardis,
Zeer bedankt. This did the tric!.
Scheelt mij weer aan code.

Wat is zo'n forum toch een handig en leerzaam medium!

Ron
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan