Probleem bij syntax in een UPDATE SQL

Status
Niet open voor verdere reacties.

boule

Gebruiker
Lid geworden
20 jan 2011
Berichten
42
Wie kan mij helpen :


Deze instructie werkt wel :

strSQL = "UPDATE controlwerking SET Waarde = " & Me.Combo15.Column(0) & " WHERE Identificatie='Clubcode'"
CurrentDb.Execute strSQL

In bovenstaande UPDATE staat er in Me.Combo15.Column(0) een nummerieke waarde



Deze instructie werkt niet :

strSQL = "UPDATE controlwerking SET Waarde = " & Me.Combo39.Column(3) & " WHERE Identificatie='Toernooinaam';"
CurrentDb.Execute strSQL

In bovenstaande UPDATE staat er in Me.Combo39.Column(3) een alfabetische waarde in quotes die worden toegevoegd door access
bv "De Lange toernooi"

Ik krijg bij de laatste de volgende fout melding :

Syntax error (missing operator) in query expression "De lange Toernooi"

Ik denk dat het te maken heeft met de "quotes" die worden toegevoegd maar ik kan de oplossing niet vinden

graag hulp, Boule
 
Klopt, als je tenminste overal die quootjes hebt staan en niet alleen bij "De lange Toernooi". Quootjes (of dat nu " is of ') zijn in Access tekens die gebruikt worden om een string te bepalen. Ze leggen dus het begin en het eind van de string vast. Je mag ze dan ook niet zomaar in een tekstveld zetten, want dan krijg je exact dit probleem. Waarom doe je dat overigens? Lijkt mij een nogal nutteloze zaak, naast dat je nu in de problemen komt, kun je de quootjes er altijd nog bijzetten als je het veld nodig hebt in een formulier of rapport. Je hóeft ze dus niet op te slaan bij de naam.
 
De quotes worden door access er bij geplaatst

Het probleem is niet dat IK er quotes bij zet maar dat Access dat doet.

strSQL = "UPDATE controlwerking SET Waarde = " & Me.Combo15.Column(0) & " WHERE Identificatie='Clubcode'"

In dit eerste voorbeeld staat er in de combobox : Me.Combo15.Column(0) de waarde "115" als ik er in kijk in debugmode. (muis boven de tekst)

Deze waarde wordt keurig geschreven naar het veld waarde (prima)

In een andere procedure gebruik ik de zelfde bewerking

strSQL = "UPDATE controlwerking SET Waarde = " & Me.Combo39.Column(3) & " WHERE Identificatie='Toernooinaam'"

In dit tweede voorbeeld staat er in de combobox : Me.Combo39.Column(3) de waarde "De Lange Toernooi" als ik er in kijk in debugmode. (muis boven de tekst)

en dan krijg ik die melding over de syntax error.




De quotes komen uit de combobox en die zie je niet als je de combobox bekijkt.

In beide gevallen worden de comboboxen in de form goed getoond.

Ik heb geen idee waarom het fout gaat
 
Code:
strSQL = "UPDATE controlwerking SET Waarde = """ & Me.Combo39.Column(3) & """ WHERE Identificatie='Toernooinaam';"
CurrentDb.Execute strSQL

Tardis
 
Wijzen van ophalen data uit combobox opgelost

Bedankt,

De oplossing met meerdere quotes werkt.

Ik had al verschillende combinaties geprobeerd maar deze niet.

Chapeau

Boule
 
De variant die de meeste mensen gebruiken (en die wat makkelijker leesbaar is) is deze:
Code:
strSQL = "UPDATE controlwerking SET Waarde = '" & Me.Combo39.Column(3) & "' WHERE Identificatie='Toernooinaam';"
 
Dat is geen variant maar een wezenlijk andere aanpak.

Tardis
 
Nee, dat is geen andere aanpak, maar gewoon een variant op een stringcode. Of gaan we hier nu over het hoofd van de TS een semantiek discussie starten?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan