Avatar billede ioni Nybegynder
13. august 2002 - 08:58 Der er 5 kommentarer og
2 løsninger

Fejl

Jeg får nedenstående fejl:
Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 2.

når jeg kører følgende kode:

' Connection til database
Set con = server.createobject("ADODB.Connection")
DBPath = "DBQ=" & server.mappath("db/test.mdb")
Con.Open "driver={Microsoft Access Driver (*.mdb)}; " & DBPath

' SQL Forespørgsel til DB
SQL = "SELECT * From Suppliers where DUNSNUM LIKE '" & DUNSNUM & "' OR COMPNAME LIKE '" & COMPNAME & "' OR TRADESSTYLE LIKE '" & TRADESSTYLE & "'" OR PHYSADDR1 LIKE '" & PHYSADDR1 & "' OR PHYSADDR2 LIKE '" & PHYSADDR2 & "' OR POSTAL_CD LIKE '" & POSTAL_CD & "' OR CITY LIKE '" & CITY & "' OR STATE_PROV LIKE '" & STATE_PROV & "' OR COUNTRY LIKE '" & COUNTRY & "' OR CNTRYACCCD LIKE '" & CNTRYACCCD & "' OR TELEPHONE LIKE '" & TELEPHONE & "' OR CEO_NAME LIKE '" & CEO_NAME & "' OR CEO_TITLE LIKE '" & CEO_TITLE & "' OR LINE_BUSIN LIKE '" & LINE_BUSIN & "' OR SIC1 LIKE '" & SIC1 & "' OR DIVISION LIKE '" & DIVISION & "' OR DIVISION_DESCRIPTION LIKE '" & DIVISION_DESCRIPTION & "' OR SIC2 LIKE '" & SIC2 & "' OR SIC2_DESCRIPTION LIKE '" & SIC2_DESCRIPTION & "' OR SIC4 LIKE '" & SIC4 & "' OR SIC4_DESCRIPTION LIKE '" & SIC4_DESCRIPTION & "' OR LOCALSALES LIKE '" & LOCALSALES & "'"

Set Record = Con.Execute(SQL

Er der een der kan se hvad jeg gør forkert?
Avatar billede ioni Nybegynder
13. august 2002 - 09:00 #1
Set Record = Con.Execute(SQL) - glemte at paste ")" med.
Avatar billede bocker Nybegynder
13. august 2002 - 09:40 #2
Too few parameters får du når der f.eks. mangler ' om et felt der har en string værdi, eller hvis de er der rundt om et integer felt...

Jeg vil nok skyde på det her er fejlen: TRADESSTYLE LIKE '" & TRADESSTYLE & "'" <-- Der har sneget sig et " ind der :)
Avatar billede eagleeye Praktikant
13. august 2002 - 10:26 #3
Fejlen kan også skyldes at et kolonnenavn ikke kan findes i databasen, men som bocker skriver så er der et " for meget..

Så tjek om kolonnenavne er staves ens med kolonnenavne i databasen.
Avatar billede bocker Nybegynder
13. august 2002 - 10:28 #4
Nej, hvis det var fordi kolonne navnet ikke fandtes, så ville den skrive "requested item not found" eller noget i den retning...
Avatar billede eagleeye Praktikant
13. august 2002 - 11:15 #5
Nej det er kun hvis men udskriver med et recordset:
Response.write rs("kolonnenavnsomikkefindes") den skriver den fejl..

Hvis du laver en SQL med et forkert kolonnenavn i WHERE delen får man også denne:

Too few parameters. Expected x.
Avatar billede slamsuger Nybegynder
13. august 2002 - 13:24 #6
Prøv at udskrive variablen "SQL" lige inden du kalder Con.Execute(SQL) - det kunne interresant at se hvordan den ser ud. Post den her.
Avatar billede ioni Nybegynder
14. august 2002 - 14:16 #7
Tak for jeres svar. Det viste sig at der manglede et ' i SQL forespørgslen (bocker) samt at kolonnenavn ikke fandtes (eagleeye). Så det bliver en deler. Endnu engang tak for hjælpen :-)
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
Kurser inden for grundlæggende programmering

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