Datorn gör det du säger till den. Hur kan den förstå att du vill ha värdet från variabeln PersonNyckel infogad i din sträng? Du talar inte om det för datorn. Tackar igen Andreas.SQL WHERE xxx = Variabel fungerar inte ?!?
Varför fungerar inte ett variabelvärde istället för numeriskt värde (256) i nedanstående sats.
Verkar inte vara någon skillnad hur jag deklarerar variabeln. Long, String.
FUNGERANDE SATS:
PersonRecord.Open "SELECT * FROM Personer WHERE Anstallningsnr = 256", CurrentProject.Connection, adOpenKeyset, _
adLockOptimistic, adCmdText
Public Sub InitReadHelpFields()
Dim PersonRecord As ADODB.Recordset
Dim PersonNyckel
Set PersonRecord = New ADODB.Recordset
PersonNyckel = 500140
EJ FUNGERANDE SATS:
PersonRecord.Open "SELECT * FROM Personer WHERE Anstallningsnr = PersonNyckel", CurrentProject.Connection, adOpenKeyset, _
adLockOptimistic, adCmdText
Kan någon förklara mysteriet ?????
Jag vill ju givetvis att Anstallningsnr skall kunna tas ur en variabel (som i sin tur läses från en annan tabell).
Tacksam för svar/RolandSv: SQL WHERE xxx = Variabel fungerar inte ?!?
Om PersonNyckel är ett tal:
<code>
Public Sub InitReadHelpFields()
Dim PersonNyckel
Dim PersonRecord As ADODB.Recordset
PersonNyckel = 500140
Set PersonRecord = New ADODB.Recordset
PersonRecord.Open "SELECT * FROM Personer WHERE Anstallningsnr = " & PersonNyckel, CurrentProject.Connection, adOpenKeyset, _
adLockOptimistic, adCmdText
</code>
Om PersonNyckel är text bör du hantera tecken(sök i forumet efter SQLText funktionen)Sv:SQL WHERE xxx = Variabel fungerar inte ?!?
Hade missat att hela den delen av SELECT uttrycket som ligger mellan " " ju är en textsträng.
De e kul när de tänder! :)
/Roland