17. juli 2004 - 22:04Der 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?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
'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
Synes godt om
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!
:-)
Synes godt om
Ny brugerNybegynder
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.