naam met afkappingsteken

JEPEDEWE

Terugkerende gebruiker
Lid geworden
14 jun 2006
Berichten
1.682
Als ik een naam heb zoals bv D'Hondt Jan en ik steek die in de volgende syntax:

If IsNull(DLookup("[ID]", "klanten", "naam= '" & Me.[txtKlantnm] & "'")) = True Then

Verslikt de code zich op het "afkappingsteken"
Ik kwam dit probleem vroeger al tegen maar kan me de oplossing niet meer voor de geest brengen..
Krijg ik van iemand een handje?

Alvast bedankt
JP
 
Gebruik
Code:
"naam=""" & Me.[txtKlantnm] & """"
 
If IsNull(DLookup("[ID]", "klanten", "naam= '" & Me.[txtKlantnm] & "'")) = True Then

Ik kwam dit probleem vroeger al tegen maar kan me de oplossing niet meer voor de geest brengen..
En toch heb ik het toen dacht ik goed uitgelegd, en blijf ik je sindsdien bij elke vraag van jou vertellen dat je het wat mij betreft altijd op deze manier moet doen om het probleem te voorkomen:
Code:
If IsNull(DLookup("[ID]", "klanten", "naam= """ & Me.[txtKlantnm] & """")) = True Then
Want dit is de enige veilige manier om teksten goed te krijgen in formules. (al kan je ook met een Chr code werkens :)).
 
Ik beken schuld Michel... mea culpa... ik zal het nooit leren
 
Nou, nooit…. Kwestie van onthouden, meer niet :). En de regel is eigenlijk heel simpel: als je een tekst(waarde) in een string wilt zetten, markeer die met twee dubbele aanhalingstekens. En je hebt er twee nodig, omdat het teken ook gebruikt wordt als markering van tekst strings.

Als ik het voor mezelf makkelijk wil maken, dan doe ik het ook nog wel eens met een enkele quoot, die ik dan later vervang door twee dubbele. Dus dan typ ik eerst (ik zet er voor de duidelijkheid extra spaties tussen).
Code:
"naam= ‘ " & Me.[txtKlantnm] & " ‘ "
En dan vervang ik de enkele quoot door dubbele:
Code:
"naam= "" " & Me.[txtKlantnm] & " "" "
Dus het eerste stuk begint met een begin quoot (“), dan naam =, dan de twee dubbele quoots voor het aanduiden van het tekstveld, dan de dubbele quoot om de tekststring af te sluiten. Daarna het tekstveld, en dan het blokje met de vier dubbele quoots. Daarvan is de eerste het begin van de string, en de laatste het eind.

Voor de duidelijkheid nog even het verschil tussen een vergelijking met een tekst waarde, een getal een een datum:
Code:
"klantid= " & Me.[txtKlantID] &
Code:
"naam= "" " & Me.[txtKlantnm] & " "" "
Code:
"datum= # " & Me.[txtDatum] & " # "

Getallen zijn dus het makkelijkst :).
 
Terug
Bovenaan Onderaan