Avatar billede celal Nybegynder
12. juni 2002 - 17:32 Der er 12 kommentarer og
2 løsninger

Sql Syntaxs fejl

Jeg får en felj i min VBA kode, når jeg prøver at køre min SQL sætning:

strSQL = "UPDATE Kunder Set '" & Bruger & "' = '" & Rst2.Fields("Brugere") & "' Where ID = '" & ID1 & "'"

Jeg får en kørselfejl "3061", som hedder "Too few parameters. Expected 1"

Nogen som kan finde fejlen?
Avatar billede cbp Nybegynder
12. juni 2002 - 17:36 #1
Du skal i hvert fald ikke have ' omkring tabelnavnet:
strSQL = "UPDATE Kunder Set " & Bruger & " = '" & Rst2.Fields("Brugere") & "' Where ID = '" & ID1 & "'"
Avatar billede cbp Nybegynder
12. juni 2002 - 17:37 #2
Jeg mener naturligvis feltnavnet, ikke tabelnavnet :-)
Avatar billede senj Nybegynder
12. juni 2002 - 17:52 #3
Hvis dit id i baser er et nummer felt, så går plinger (') heller ikke i den where clause. Derfor:

strSQL = "UPDATE Kunder Set Bruger = '"&Rst2.Fields("Brugere")&"' Where ID = "&ID1&" "
Avatar billede senj Nybegynder
12. juni 2002 - 17:55 #4
Forsøg altid at udfører din sql direkte i access før du prøver via webben/odbc´en, på den måde sikrer du dig rigtige navne samt rigtige sammenligningsfaktorer.
Avatar billede itbjarne Nybegynder
12. juni 2002 - 22:21 #5
Hvis ID1 er en integer, skal den konverteres til streng:
strSQL = "UPDATE Kunder Set Bruger = '" & Rst2.Fields("Brugere") & "' Where ID = " & CStr(ID1) & ";"
Avatar billede terry Ekspert
13. juni 2002 - 10:45 #6
seni>last &" " shouldnt be necessary, although it should work :o)
Avatar billede celal Nybegynder
13. juni 2002 - 12:29 #7
okay, men nu får jeg et andet problem:

antalBruger = CInt(Rst.Fields("Antal"))

Jeg får fejlbeskeden : "Null er brugt ugyldigt"
Nogle af felterne i Antal er tom, Hvad skal jeg gøre?
Avatar billede celal Nybegynder
13. juni 2002 - 12:31 #8
Udskyld, jeg tastede forkert, fejlen opstår i dette kode
antalBruger = Rst.Fields("Antal")
Avatar billede terry Ekspert
13. juni 2002 - 12:39 #9
well I can imagine that Antal contains NULL and antalBruger is an integer which WILL fail!
Avatar billede terry Ekspert
13. juni 2002 - 12:41 #10
try
antalBruger = IIf(IsNull(Rst.Fields("Antal")), 0, Rst.Fields("Antal"))
Avatar billede celal Nybegynder
13. juni 2002 - 13:02 #11
Hvad gøre IIf?
Avatar billede terry Ekspert
13. juni 2002 - 13:11 #12
IF IsNull(Rst.Fields("Antal")) then
antalbruger = 0
else
....
Avatar billede celal Nybegynder
13. juni 2002 - 13:25 #13
Tak
Avatar billede terry Ekspert
13. juni 2002 - 13:30 #14
selv tak :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester