SQL INSERT INTO maakt 012 -> 12

Status
Niet open voor verdere reacties.

Visara

Gebruiker
Lid geworden
10 mrt 2019
Berichten
225
Goedeavond,

Op een form staat een 'Unbound' 'Textbox' (txtToevoegen) in de 'Form Footer' van een 'Continuous Form'.
Wanneer de gebruiker daar een waarde invult, dan wordt dit toegevoegd aan een tabel, en wordt het na een Requery ook zichtbaar in het scherm.
Werkt zoals ik wil, op een ding na: als de gebruiker '0123' invoert in de 'TextBox', dan wordt '123' ingevuld in de tabel; niet de bedoeling.
Het veld in de tabel waar deze waarde in wordt gezet heeft als opmaak 'Short Text', dus daar ligt het niet aan.

Deze code werkt voor alles wat nodig is, behalve als de invoer begint met een 0 (nul).
Code:
Private Sub txtToevoegen_AfterUpdate()
(...)
DoCmd.RunSQL "INSERT INTO tabelnaam (kolom1, kolom2) VALUES (" & Me!txtToevoegen & ", 1)"
Me.txtToevoegen.Value = ""
(...)

Ik probeerde 'VALUES' te vervangen voor 'STRING', kan niet. String(Me!txtToevoegen) mag ook niet. Wat is de correcte syntax?

Met vriendelijke groet,
Visara
 
Laatst bewerkt:
Niet getest.... maar probeer het zo eens:

Code:
Private Sub txtToevoegen_AfterUpdate()
(...)
DoCmd.RunSQL "INSERT INTO tabelnaam (kolom1, kolom2) VALUES ('" & Me!txtToevoegen.Value & "', 1)"
Me.txtToevoegen.Value = ""
(...)
 
Laatst bewerkt:
Vermijd enkele aanhalingstekens als het even kan; er kan in een veld een tekst staan met een ' ('s Gravenhage bijvoorbeeld) en dan ben je de sjaak, dan doe je opdracht het niet meer. Gebruik dus bij voorkeur dit:
Code:
Private Sub txtToevoegen_AfterUpdate()
     DoCmd.RunSQL "INSERT INTO tabelnaam (kolom1, kolom2) VALUES (""" & Me.txtToevoegen.Value & """, 1)"
End Sub
Als je jezelf dit aanwent, zul je zelden nog in de problemen komen :).
 
Bedank voor uw advies!
Ik heb het veranderd in 3x " , zoals in uw voorbeeld.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan