Avatar billede joki Mester
08. marts 2005 - 15:45 Der er 5 kommentarer og
1 løsning

forkert data type ved læsning fra excel

Hej

Jeg har simuleret en tabel ud fra et excel ark, ved at navngive et antal kolonner.
Når jeg forsøger at læse en af kolonnerne ind i et recordset, melder den fejl ved forkert data type.
jeg har formateret alle kolonnerne til tekst og alle mine variabler er string værdier. Eneste forskel er at den kolonne der meldes fejl på (antal) er 1-2 karaktere, mens de andre er op til 10.
Hvis jeg fjerner antal fra min forspørgelse fungere det fint med de andre kriterier.

Set rs = dbtmp.OpenRecordset("select * from `ubtabel` WHERE ubtabel.ub = '" & ub & "' AND ubtabel.partnummer = '" & material & "' AND ubtabel.antal = ' " & antal & " ';")
Avatar billede bak Forsker
08. marts 2005 - 15:54 #1
tror du har et par ' for meget. Excels uotoformatering kan være lidt vanskelig.

Set rs = dbtmp.OpenRecordset("select * from `ubtabel` WHERE ubtabel.ub = '" & ub & "' AND ubtabel.partnummer = '" & material & "' AND ubtabel.antal =  " & antal & " ;")
Avatar billede bak Forsker
08. marts 2005 - 15:55 #2
uotoformatering = Autoformatering
Avatar billede joki Mester
08. marts 2005 - 16:24 #3
checker lige i morgen, men det virker jo på de andre variabler. har du evt. et sted jeg kan læse om autoformatering
Avatar billede efry Nybegynder
08. marts 2005 - 17:04 #4
Såvidt jeg kan se er der en fejl i den sidste del af sætningen, hvor der står
= ' " & antal & " ';"
Hvis antal f. eks. er 7 vil det blive til: = ' 7 ';
dvs. du har et Space for meget før og efter værdien af variablen antal. Skal være:
= '" & antal & "';"
Således har du også gjort det for variablerne ub og material
Avatar billede joki Mester
08. marts 2005 - 19:35 #5
bak >> det hjalp ved at fjerne  ' omkring antal, så smid et svar så takker jeg med lidt point. Jeg kan dog stadig ikke se logikken i det da mine andre variabler (ub og material) er af samme type, så hvis du har en logisk forklaring så vil jeg meget gerne høre den.
Avatar billede bak Forsker
09. marts 2005 - 20:13 #6
Excel har det med at betragte tal som værdier og ikke som tekst, selvom kolonnen efterfølgende er formateret som tekst.
Hvis cellerne er formateret som tekst inden data skrives ind, ser det ikke ud til at være et problem.
Da antal så betragtes som en værdi skal ' ' fjernes. ellers virker det ikke.
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