Avatar billede heira Nybegynder
18. november 2000 - 20:40 Der er 17 kommentarer og
2 løsninger

SQL tabel + 31 <=\" & dato & \"\'\" (dato udatering i Access)

Hej !

Jeg har et problem med min SQL-string, der har til funktion at updatere et felt ja/nej
der WHERE dagsetning + 31 <= \" & dato & \"\'\"

Hvad er der galt ?
Avatar billede tpiil Nybegynder
18. november 2000 - 20:43 #1
WHERE dagsetning + 31 <= #\" & dato & \"#\'\"
Avatar billede tpiil Nybegynder
18. november 2000 - 20:44 #2
prøv det jeg ved ikke om det virker!
Avatar billede lbs Nybegynder
18. november 2000 - 21:14 #3
du skal bruge dateAdd
dateAdd(\"dd\",31,dato)
Avatar billede heira Nybegynder
18. november 2000 - 23:05 #4
tpiil Nej, den virker ikke med #.
dato er en string  dato=date

lbs dateAdd hvordan ??  (har aldrig brugt det!)

Sagen er at jeg har en funktion der skal udføres én gang om døgnet, og hvis feltet dagsetning i tabellen, indholder et date, der er lige med eller mindre end dagensdato NU, skal den tages ud af funktion med opdate.
Avatar billede heira Nybegynder
18. november 2000 - 23:11 #5
Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in string in query expression \'dagsetning + 31 <=18/11/00\'\'.

Avatar billede tue Nybegynder
19. november 2000 - 14:10 #6
WHERE dagsetning = dagsetning + 31 <= #\" & dato & \"#\"
Avatar billede tue Nybegynder
19. november 2000 - 14:13 #7
WHERE dagsetning <= dateAdd(\"dd\",31,dato)
Avatar billede heira Nybegynder
19. november 2000 - 14:30 #8
tue :
Har prøvet at sætte den ind men, fejl :Microsoft VBScript compilation error \'800a0401\'

Expected end of statement

/leiguval/main.asp, line 68

SQL = \"Update leigutaki SET virk =\" & strUvirk & \" WHERE dagsetning <= dateAdd(\"dd\",31,dato)
--------------------------------------------------------------------------------^
\'Den kan ikke lide \"dd\".

Men feltet dagsetning indholder en masse af datoer, og hvis den er gået 1 mån over tiden, skal den opdateres (nej).  Men SQL kan ikke lide min + 31,,,, hjælp !!!

Avatar billede tue Nybegynder
19. november 2000 - 14:52 #9
SQL = \"Update leigutaki SET virk =\" & strUvirk & \" WHERE dagsetning <= \" & dateAdd(\"dd\",31,dato) & \"\"
Avatar billede heira Nybegynder
19. november 2000 - 15:59 #10
tue !
Nej, der er en fejl !
Microsoft VBScript runtime error \'800a0005\'

Invalid procedure call or argument: \'dateAdd\'


Avatar billede tue Nybegynder
19. november 2000 - 16:08 #11
SQL = \"Update leigutaki SET virk =\" & strUvirk & \" WHERE dagsetning <= \" & dateAdd(\"d\",31,dato) & \"\"
Avatar billede heira Nybegynder
19. november 2000 - 16:12 #12
tue, der er en fejl !

Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\'

[Microsoft][ODBC Microsoft Access Driver]Division by zero (null)



Avatar billede tue Nybegynder
19. november 2000 - 16:14 #13
Ok, det har hvis ikke længere noget med din sql sætning at gøre!

Kan jeg ikke få lov til at se koden?
Avatar billede heira Nybegynder
19. november 2000 - 16:17 #14
Altså, jeg skal ikke optadere en dato i feltet dagsetning.  Funktionen skal gå ind i feltet og finde alle de datoer der er 31 dage eller ældre, og
så slå fra ,,virk,, til \"nej/false\".

Altså en dato check, hvor alle datoer + 31 skal annuleres.  Tue, er du med ?
Avatar billede tue Nybegynder
19. november 2000 - 16:20 #15
Ok, så skal det bare se sådan her ud:

SQL = \"Update leigutaki SET virk = false WHERE dagsetning <= \" & dateAdd(\"d\",31,dato) & \"\"

...men det kan godt være at der jo er fejl i noget andet kode, og at det er der for det ikke virker!
Avatar billede heira Nybegynder
19. november 2000 - 20:47 #16
tue ! Tak, men der er en fejl !  Puha,,,Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\'

[Microsoft][ODBC Microsoft Access Driver]Division by zero (null)

Nej, det er KUN den SQL string, der driller.
Avatar billede heira Nybegynder
20. november 2000 - 11:36 #17
Ok, er der ingen KLOG nok for denne SQL < 30 string ?
Jeg har nu fundet en SQLstring der er sådan, men jeg synes ikke den virker, eller hvad ?
Hvad synes I ?

SQL = \"Update leigutaki SET virk = true WHERE DATEDIFF(\'h\', dagsetning, now()) < 30\"


Avatar billede tue Nybegynder
20. november 2000 - 17:43 #18
SQL = \"Update leigutaki SET virk = true WHERE dagsetning <= \" & DateAdd(\"d\",-31,date) & \"\"
Avatar billede heira Nybegynder
21. november 2000 - 01:14 #19
Den her, VIRKER for mig.

WHERE datediff(\'D\', Thedate, #\" & date & \"#) > 30\"

Tak tue for din hjælp og tid.
(selv om ingen kom op med datediff)
Over and out.
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