variable in een SQL-statement

Status
Niet open voor verdere reacties.

jvondermans

Gebruiker
Lid geworden
14 feb 2005
Berichten
75
ik heb een stukje VBA wat voor mij prima werkt, alleen krijg ik het niet voor elkaar een variable te gebruiken die ik eerder heb gedefinieerd.

Hieronder zie je het staan en ik krijg iedere keer in msgbox waarin ik de variabele handmatig moet invoeren, weet iemand of ik haakjes of vierkante haakjes moet gebruiken?

Code:
Private Sub Knop5_Click()

Dim varsoort_klant As String
 
varsoort_klant = Me.drpsoort_klant 'ophalen van de informatie uit de drop-downlist

strSQL = "INSERT INTO testlijst (bedrijfsnaam, bedrijfsnummer)SELECT [bedrijfsnaam],[bedrijfsnummer] FROM bedrijvenselectie WHERE [soort klant.value] = [B][varsoort_klant][/B] GROUP BY [bedrijfsnummer]"


DoCmd.RunSQL strSQL

End Sub

hopelijk kan iemand me helpen!

alvast bedankt,
Jordy
 
Denk dat je dit bedoelt.

Code:
strSQL = "INSERT INTO testlijst (bedrijfsnaam, bedrijfsnummer)SELECT [bedrijfsnaam],[bedrijfsnummer] FROM bedrijvenselectie WHERE [soort klant.value] = [" & varsoort_klant & "] GROUP BY [bedrijfsnummer]"

Gr,
Alex,
 
ik kom al een stukje verder, nu krijg ik niet meer de vraag van vartsoort_klant, maar ik zie nu NOK met invulveld. Even ter verduidelijking NOK is hetgeen in de drop-downlist staat, waar de variable drpklant_soort zijn info vandaan haalt

dus ergens zit er nog iets mis, meer haakjes?
 

Bijlagen

  • vraag.JPG
    vraag.JPG
    7,9 KB · Weergaven: 25
Laatst bewerkt:
Dit lijkt me voldoende

Code:
Private Sub Knop5_Click()
  DoCmd.RunSQL "INSERT INTO testlijst (bedrijfsnaam, bedrijfsnummer)SELECT [bedrijfsnaam],[bedrijfsnummer] FROM bedrijvenselectie WHERE [soort klant.value] = " & Me.drpsoort_klant.value & " GROUP BY [bedrijfsnummer]"
End Sub

Alternatief:
Code:
Private Sub Knop5_Click()
  DoCmd.RunSQL "INSERT INTO testlijst (bedrijfsnaam, bedrijfsnummer)SELECT [bedrijfsnaam],[bedrijfsnummer] FROM bedrijvenselectie WHERE [soort klant.value] = " & chr(34) & Me.drpsoort_klant.value & chr(34) & " GROUP BY [bedrijfsnummer]"
End Sub
 
variant 2 werkte! de eerste leverde hetzelfde resultaat als de vorige suggestie.

Hartstikke bedankt, kan ik weer verder.

groetjes,
Jordy
 
ja, ik liet eerst de waarde in een variabele zetten en gebruikte die in in de SQL structuur. Je kan het ook rechtstreeks doen.

Ik moet alleen aangeven dat wat ik liet zien een stukje was van een groter deel, het ging mij met name om de variabele (of rechtstreeks uitgelezen) te kunnen gebruiken in een SQL-statement.

ik had die ASCII code voor quotes chr(34) nog nooit gezien en dat was mijn oplossing!

Nogmaals erg bedankt!!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan