Avatar billede Slettet bruger
17. juli 2004 - 22:04 Der er 1 kommentar og
1 løsning

DateDiff SQL problem

Hejsa,

Jeg er ved at lave et system til håndtering af fakturering af
nogle kunder og er i denne forbindelse ved at lave en side, der
skal kunne åbne en database og trække alle ordrer ud, der har
nået en dato hvor de skal genfaktureres.

Koden jeg arbejder med til udtrækning af disse poster er:

Set Rs = Server.CreateObject("ADODB.Recordset")
DagsDato = Date()
Rs.Open "Select * FROM kunder INNER JOIN Fak_Ordrer ON
kunder.Kundenummer = Fak_Ordrer.Kundenummer Where DateDiff('4',
DagsDato,Fak_Ordrer.NaesteFaktura) Order By Fakturanummer DESC",
Conn

Planen her er at alle ordrer, hvor datoen i feltet NaesteFaktura
er 4 dage større (eller lig med eller mindre) end dags dato skal
vises i forespørgslen.

Jeg har en lignende DateDiff funktion på en anden side og denne
virker fint, men her får jeg en fejl når jeg kører min kode.
Fejlen er:

Microsoft OLE DB Provider for ODBC Drivers fejl '80040e10'

[Microsoft][ODBC Microsoft Access-driver] Der er for få
parametre. Der var ventet 1.

/mappenavn/filter.asp, linje 21

Er det muligt at bruge DateDiff direkte i SQL? Og i givet fald,
hvad gør jeg galt her?

P.S. Jeg benytter en Access database.
Avatar billede eagleeye Praktikant
17. juli 2004 - 22:32 #1
'4' er ikke an gyldig paramerter. Du kan skrive d for dage.

Du kan heller ikke bare skrive et variable navn inde i strengen, og der skal # omkring hvis det er en dato, det gør man sådan her:
DateDiff('4',#" & DagsDato & "#,Fak_Ordrer.NaesteFaktura)

men når det er dags dato er det bedre/lettere at bruge den date funktion som er indbygget sådan din SQL bliver:

Rs.Open "Select * FROM kunder INNER JOIN Fak_Ordrer ON
kunder.Kundenummer = Fak_Ordrer.Kundenummer Where DateDiff('d',
Date(),Fak_Ordrer.NaesteFaktura) > 4 Order By Fakturanummer DESC",
Conn
Avatar billede Slettet bruger
17. juli 2004 - 22:47 #2
Takker for det hurtige svar og den gode løsning.
I den anden DateDiff jeg omtaler har jeg også "d" med, men fandt ud af at denne ikke kunne bruges da jeg så ikke kunne specificere et kriterie for hvad der skulle trækkes ud af databasen.
Men det du har skrevet virker fint.
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