Avatar billede fastpoint Nybegynder
30. marts 2005 - 15:14 Der er 13 kommentarer og
1 løsning

Hjælp til sql mindre sql sætning

strSQL = "SELECT * FROM kunde WHERE datoto < ' " & (DateAdd("M", -1, date)) & "' AND  datoto <> "" "

får fejlen ODBC driver does not support the requested properties.

Vil gerne udskrive alt hvor datoto er mere end en måned gammel
AND  datoto <> "" er fordi den ikke må tælle de tomme felter med.
Avatar billede fennec Nybegynder
30. marts 2005 - 15:29 #1
strSQL = "SELECT * FROM kunde WHERE datoto < '" & (DateAdd("M", -1, date)) & "' AND  datoto <> ''"
Avatar billede fennec Nybegynder
30. marts 2005 - 15:29 #2
.. Du har brugt " i stedet for '
Avatar billede fastpoint Nybegynder
30. marts 2005 - 15:41 #3
Den kommer stadig med den der sql fejl. Har desuden rettet til

strSQL = "SELECT * FROM kunde WHERE datoto < '" & (DateAdd("M", -1, date)) & "' OR  datoto <> ''"

altså OR og ikke AND.

Det er fordi datoto feltet kan risikere at være tomt
Avatar billede fennec Nybegynder
30. marts 2005 - 15:50 #4
Det skal vel være AND eller tager den dem med. Men skal vi ikke lige glemme dem i første omgang :o)

Virker denne:
SQL = "SELECT * FROM kunde WHERE datoto < '" & (DateAdd("M", -1, date)) & "'"
Avatar billede fastpoint Nybegynder
30. marts 2005 - 15:54 #5
Den gør det stadig. Jeg tror det er fordi der er tomme felter i datoto feltet. pga

får fejlen ODBC driver does not support the requested properties.

Derfor der skal faktisk stå and not datoto <> ''"
.. men hvordan gør man det?
Avatar billede busschou Praktikant
30. marts 2005 - 15:57 #6
strSQL = "SELECT * FROM kunde WHERE datoto <> '' AND datoto < '" & (DateAdd("M", -1, date)) & "'"
Avatar billede busschou Praktikant
30. marts 2005 - 15:58 #7
ved ikke om sql evaluerer dovent?.. men i såfald bør man vel teste dem som fejler - altså er tomme først i en AND
Avatar billede fastpoint Nybegynder
30. marts 2005 - 16:04 #8
grr den gør det stadig nu har jeg sat en standard værdi i feltet

10-10-2000

prøvede dette

strSQL = "SELECT * FROM kunde WHERE datoto <> #10-10-2000# AND datoto < '" & (DateAdd("M", -1, date)) & "'"

hvorfor gør den det stadig?
Avatar billede busschou Praktikant
30. marts 2005 - 16:06 #9
er lige nysgerrig omkring din
DateAdd("M", -1, date)
bør det ikke være
DateAdd("M", -1, date())?
Bare et spørgsmål :o)
Avatar billede busschou Praktikant
30. marts 2005 - 16:07 #10
strSQL = "SELECT * FROM kunde WHERE datoto <> #10-10-2000# AND datoto < #" & (DateAdd("M", -1, date)) & "#"
måske?
Avatar billede fennec Nybegynder
30. marts 2005 - 16:07 #11
Er formatet også rigtigt (mm-dd-yyyy)??
Avatar billede fastpoint Nybegynder
30. marts 2005 - 16:10 #12
formattet er rigtigt nok ja. Desværre

DateAdd("M", -1, date) virker fint i alle andre scripts jeg har har lige prøvet med date() men ingen forskel
Avatar billede busschou Praktikant
30. marts 2005 - 16:12 #13
ok med mindre det er et andet sted fejlen er så er jeg sprunget fra :o)
Avatar billede fastpoint Nybegynder
30. marts 2005 - 16:18 #14
strSQL = "SELECT * FROM kunde WHERE betalingsdato < date() AND datoto <> #2000-10-10#"

den virker! tak for forsøgende under alle omstændigheder:)
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

IT-JOB

HusCompagniet A/S

IT-driftskonsulent

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Digital forretningsanalytiker til Cyberdivisionen

TD SYNNEX Denmark ApS

Sales Coordinator

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger IT-Supporter til lokal IT støtte i Oksbøl