Avatar billede killer_r Nybegynder
19. juni 2002 - 18:35 Der er 11 kommentarer og
1 løsning

SQL-fejl

Jeg får denne fejl i min SQL:

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

/diverse/hadsten/Kalender.asp, line 222


linje 222:

set rs = Conn.execute("select * from Kalender where CInt(Month(CDate(tid2)))=" & CInt(Month(tid)) & " and CInt(Month(CDate(tid)))=" & CInt(Month(tid)-1))


Hvad er fejlen???
Avatar billede medions Nybegynder
19. juni 2002 - 18:36 #1
Set rs = Conn.execute("select * from Kalender where CInt(Month(CDate(tid2)))='" & CInt(Month(tid)) & "' and CInt(Month(CDate(tid)))='" & CInt(Month(tid)-1)) & "'"

//>Rune
Avatar billede medions Nybegynder
19. juni 2002 - 18:37 #2
Set rs = Conn.execute("select * from Kalender where tid2 =" & CInt(Month(tid)) & " and tid=" & CInt(Month(tid)-1))

Eller sådan her.. jeg er lidt i tvivl...!

//>Rune
Avatar billede killer_r Nybegynder
19. juni 2002 - 18:50 #3
Der er ingen af dem der virker...
Sjovt nok kommer fejlen kun hvis datoen (tid) er december (12)
Avatar billede galaxy Nybegynder
19. juni 2002 - 18:54 #4
Fordi December er lige med 11 !!
Januar = 0
Avatar billede killer_r Nybegynder
19. juni 2002 - 18:56 #5
Jeg har en database med to kolonner:
"tid" & "tid2"
På siden laver jeg en variabel:
"tid" (Kan skabe lidt forvirring!!!) Den ser f.eks sådan ud: 01-12-2002

Det SQL'en skal gøre er at finde en post hvor måneden fra 2. kolonne (tid2) = Måneden fra variablen OG måneden fra kolonne 1 (tid) = måneden fra variablen-1

Ved ikke om det hjalp...
Avatar billede galaxy Nybegynder
19. juni 2002 - 18:58 #6
hmm, tror det var et lidt hurtigt, træt og malplaceret svar... sorry.
Avatar billede killer_r Nybegynder
19. juni 2002 - 19:00 #7
galaxy >>>> Er du HELT sikker på det... Jeg synes altså ikke det er noget jeg har oplevet...
Avatar billede tmceu Praktikant
19. juni 2002 - 21:42 #8
Du bruger en ASP funktion, CInt inde i dit SQL statement, dette er ikke lovligt.

Du kan måske bruge denne, afhængig af formatet på felterne i datasen:

set rs = Conn.execute("select * from Kalender where Month(tid2)=" & CInt(Month(tid)) & " and Month(tid)=" & CInt(Month(tid)-1))
Avatar billede tmceu Praktikant
19. juni 2002 - 21:44 #9
Sorry, havde ikke lige lagt mærke til, at det var en Access database, hvor CInt faktisk findes :-)

Hvilket format har dine datofelter ?
Avatar billede pato Nybegynder
19. juni 2002 - 23:29 #10
prøv med


"select * from Kalender WHERE (((Month(CDate([tid2])))=Month(#" & tid &"#)) AND ((Month(CDate([tid])))=Month(#"& tid &"#)-1))"
Avatar billede killer_r Nybegynder
20. juni 2002 - 16:22 #11
"Dato-felterne" i databasen er tekst-format...
Avatar billede killer_r Nybegynder
15. august 2002 - 08:03 #12
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