Avatar billede tblaster Nybegynder
24. september 2003 - 11:01 Der er 13 kommentarer og
1 løsning

Checke om dato er nyere end i dag

Hvordan henter jeg kun de poster ud fra en ms sql database hvor datoen i feltet er nyere end i dag?

Jeg har prøvet med følgende:

Dato = FormatDateTime (Now, vbshortDate)

Sql= "SELECT i.Titel, i.Nyhed, i.OprettelsesDato, b.Navn, b.Email From Informationsstyring as i, Bruger as b Where i.TemaOmrådeID = " & ID & " and i.SlutDato >= " & Dato & " and b.BrugerID = i.BrugerID Order by i.OprettelsesDato"

Men det henter alle felterne ud ligemeget hvad. Smider jeg det direkte ind i databasens sql får jeg også alle poster ud og ikke kun dem der er nyere end i dag.
Avatar billede mm12010 Nybegynder
24. september 2003 - 11:05 #1
Sql= "SELECT i.Titel, i.Nyhed, i.OprettelsesDato, b.Navn, b.Email From Informationsstyring as i, Bruger as b Where i.TemaOmrådeID = " & ID & " and i.SlutDato > DATE() and b.BrugerID = i.BrugerID Order by i.OprettelsesDato"
Avatar billede gertp Nybegynder
24. september 2003 - 11:06 #2
prøv Dato = date()
Avatar billede tblaster Nybegynder
24. september 2003 - 11:08 #3
Det gør ingen forskel ...
Avatar billede Slettet bruger
24. september 2003 - 11:13 #4
I MSSQL bruger du GetDate() ikke Date()

DVS.

Sql= "SELECT i.Titel, i.Nyhed, i.OprettelsesDato, b.Navn, b.Email From Informationsstyring as i, Bruger as b Where i.TemaOmrådeID = " & ID & " and i.SlutDato >= Getdate() and b.BrugerID = i.BrugerID Order by i.OprettelsesDato"
Avatar billede tblaster Nybegynder
24. september 2003 - 11:17 #5
Det giver:

Microsoft VBScript runtime error '800a000d'

Type mismatch: 'Getdate'


Men jeg har jo min Dato i følgende:
Dato = FormatDateTime (Now, vbshortDate)
Avatar billede Slettet bruger
24. september 2003 - 11:27 #6
Huh? Det virker stensikkert. SQL'en afvikler selv datoen, har brugt det masser af gange. Prøv at skriv din nuværende SQL sti som du siger fejler, den med GetDate()
Avatar billede tblaster Nybegynder
24. september 2003 - 11:32 #7
Sql= "SELECT i.Titel, i.Nyhed, i.OprettelsesDato, b.Navn, b.Email From Informationsstyring as i, Bruger as b Where i.TemaOmrådeID = " & ID & " and i.SlutDato >= " & GetDate() & " and b.BrugerID = i.BrugerID Order by i.OprettelsesDato"
Avatar billede Slettet bruger
24. september 2003 - 11:36 #8
GetDate() er SQL, dvs du skal IKKE have " & & " med, det er kun hvis det er ASP det skal eksekveres som.
Prøv at sætte den her SQL Streng ind, du skal ikke ændre i den.


Sql= "SELECT i.Titel, i.Nyhed, i.OprettelsesDato, b.Navn, b.Email From Informationsstyring as i, Bruger as b Where i.TemaOmrådeID = " & ID & " and i.SlutDato >=  GetDate() and b.BrugerID = i.BrugerID Order by i.OprettelsesDato"


SÅ VIRKER DET
Avatar billede Slettet bruger
24. september 2003 - 11:36 #9
Et svar her :)
Avatar billede tblaster Nybegynder
24. september 2003 - 11:37 #10
Det prøvede jeg først ... men gæt engang hvad jeg får ... en fejl. Den tror at GetDate() er et felt databasen:

ADODB.Recordset error '800a0cc1'

Item cannot be found in the collection corresponding to the requested name or ordinal.
Avatar billede tblaster Nybegynder
24. september 2003 - 11:40 #11
Sorry ... min fejl ... det var ikke der fejle lå!
Avatar billede tblaster Nybegynder
24. september 2003 - 11:41 #12
Men den viser ikke de poster hvor SlutDato =  GetDate() ... hvorfor ikke?
Avatar billede Slettet bruger
24. september 2003 - 11:49 #13
Datoen skal gerne være indsat amerikans for at det funger.
Avatar billede tblaster Nybegynder
24. september 2003 - 11:50 #14
thx ... det hjalp mig lidt længere ...
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