Avatar billede martindyhl Nybegynder
01. august 2008 - 08:55 Der er 8 kommentarer og
1 løsning

Hente en poster med en bestemt dato

Jeg har følgende, hvor jeg gerne skulle hente alle poster, hvor har produktion_premiere er lig i dag - feltet produktion_premiere er et "Dato og klokkeslæt"-felt, og værdierne er opgivet i formatet dd-mm-yyyy. Jeg kører med Access og asp.

Set premiereidag = Server.CreateObject ("ADODB.RecordSet")
premiereidag.Open "SELECT * FROM produktion WHERE produktion_premiere = " & Date(), database1

Den melder pt. EOF, men der er en post, som har datoen 01-08-2008, og som derfor burde hentes i dag, hvis altså programmeringen var rigtig - Nogen, som kan se fejlen???
Avatar billede michael_stim Ekspert
01. august 2008 - 09:03 #1
Udskriv din SQL og se hvad der står ved Date()
Og prøv #"& Date() &"#
Avatar billede martindyhl Nybegynder
01. august 2008 - 09:06 #2
Date() siger 01-08-2008

Det ændrede ikke noget ved at sætte # omkring.
Avatar billede michael_stim Ekspert
01. august 2008 - 09:13 #3
Men skal man ikke "si" tiden fra? Er ikke så indsat i Access men skal den ikke formateres? Noget a lá DATE_FORMAT(Date(), 'DD-MM-YYYY')
Avatar billede michael_stim Ekspert
01. august 2008 - 09:15 #4
Format (#17/04/2004#, "dd-mm-yyyy")
Hedder det på access'kt
Avatar billede mitbrugernavn Praktikant
01. august 2008 - 09:21 #5
når du har en kolonne i access som er sat til date - så står datoen nå du ser i databasen 01-08-2008  - men når du skal hente den skal du hente den med 08-01-2008 d.v.s.
dagsdato = month(date())&"-"&day(date())&"-"&year(date())
premiereidag.Open "SELECT * FROM produktion WHERE produktion_premiere = #"&dagsdato&"#, database1
Avatar billede martindyhl Nybegynder
01. august 2008 - 09:23 #6
Hvis jeg smider det op, siger den at typerne ikke stemmer overens:

Set premiereidag = Server.CreateObject ("ADODB.RecordSet")
premiereidag.Open "SELECT * FROM produktion WHERE produktion_premiere = " & Format(Date(), "dd-mm-yyyy") & "", database1

Jeg har også forsøgt med en der hedder FormatDateTime, men der melder den også bare EOF..

Set premiereidag = Server.CreateObject ("ADODB.RecordSet")
premiereidag.Open "SELECT * FROM produktion WHERE produktion_premiere = " & FormatDateTime(Now, vbShortDate) & "", database1
Avatar billede mitbrugernavn Praktikant
01. august 2008 - 09:23 #7
hvordan er produktion_premiere sat op i access ?
Avatar billede martindyhl Nybegynder
01. august 2008 - 09:25 #8
Det hjalp. Tak for hjælpen
Avatar billede mitbrugernavn Praktikant
01. august 2008 - 09:32 #9
super - hvis du bruger mysql database så er det år - måned - dag - bare til orientering - datoer kan være noget sjov noget at arbejde med.
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