Avatar billede fc-dong Nybegynder
12. maj 2003 - 12:25 Der er 7 kommentarer og
1 løsning

Access og dato

Hej med jer.

Jeg har en Access database, hvor jeg har lavet tre felter
DátoStart, DatoSlut, og så et felt der hedder Date.

Problemet er, at jeg ikke kan få den til at vise de poster som opfylder kravet til feltet Date. Hvis jeg selv skriver 12-05-2003 i feltet date, ja så virker det, Men feltet date, skal jo være dato i dag, og i morgen skal den jo vise 13-05-2003???

Er det mig som er helt forkert på den. Skal man slet ikke bruge det 3 felt?
Avatar billede larsen Nybegynder
12. maj 2003 - 12:28 #1
Hvordan søger du ?
Har du noget kode ?
Avatar billede larsen Nybegynder
12. maj 2003 - 12:28 #2
Jeg mener ikke du kan have et felt der hedder date, da det er en funktion
Avatar billede fc-dong Nybegynder
12. maj 2003 - 12:29 #3
Dim rsTest
Dim rsTest_numRows


Set rsTest = Server.CreateObject("ADODB.Recordset")
rsTest.ActiveConnection = MM_Lokecykler_STRING
rsTest.Source = "SELECT *  FROM Vare  WHERE Date BETWEEN DatoStart AND DatoSLUT"
rsTest.CursorType = 0
rsTest.CursorLocation = 2
rsTest.LockType = 1
rsTest.Open()

rsTest_numRows = 0
Avatar billede larsen Nybegynder
12. maj 2003 - 12:31 #4
Prøv at sætte # omkring datoerne :

rsTest.Source = "SELECT *  FROM Vare  WHERE #" & Date & "# BETWEEN #DatoStart# AND #DatoSLUT#"
Avatar billede Spotgun Seniormester
12. maj 2003 - 12:47 #5
Date ER et reserveret ord i Access, og derfor skal der [] omkring det, de steder du bruger det i din SQL.

Her er en komplet liste over Access 2000's reserverede ord:
http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q209/1/87.ASP&NoWebContent=1

Prøv forresten også det de andre har skrevet mht. # - det plejer også at virke.
Avatar billede eagleeye Praktikant
12. maj 2003 - 13:09 #6
Du skal ikke havde 3 felter du skal bare havde to felter og det er DatoStart og DatoSlut, så brug den inbyggede Date() function til at give dagsdato. Denne skulle gerne virker hvis de to felter er af typen Date/Time (Dato/Klokkeslæt):

rsTest.Source = "SELECT *  FROM Vare  WHERE Date() BETWEEN DatoStart AND DatoSLUT"
Avatar billede fc-dong Nybegynder
12. maj 2003 - 13:44 #7
Jeg brugte den eagleeye sagde, men jeg får denne fejl nu.
----------------
Microsoft JET Database Engine error '80040e07'

Syntax error in date in query expression '#12-05-2003# BETWEEN #DatoStart# AND #DatoSLUT#'.

Kan det være feltet i databasen ?
Avatar billede fc-dong Nybegynder
12. maj 2003 - 14:21 #8
Hmmmm, nu fik jeg det til at virke.
Det blev løsningen fra eagleeye som jeg brugte.
Tak for hjælpen endnu en gang, til jer alle *S*
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