02. juni 2005 - 18:02Der er
4 kommentarer og 1 løsning
Hent data fra datofelt i Access database
Hej,
Jeg har et datofelt i en Access database, hvor der står nogle leveringsdatoer i følgende format: "01-06-2005".
Får jeg forsøger at tælle antal forekomster med ovenstående dato, så får jeg 0 hver gang ? Hvorfor virker dette ikke (og der ER forekomster i databasen med denne dato):
Leveringsdato = "01-06-2005"
SQL = "Select Count(*) as antal from tblOrder where Levering = #" & Leveringsdato & "#" set nrs = Conn.execute(SQL)
Når man bruger danske datoer og Access kan man opleve Access bytter rundt på måned og dag. Problemet opstår fordi Access bruger US eller UK dato format via SQL, som enten er yyyy-mm-dd eller mm-dd-yyyy.
Når man så indsætter en dato i dansk dato format som er dd-mm-yyyy, vil Access bytte rundt på dag og måned i datoen.
Der er en løsning og det er at bruge dato funktionerne Year, Month og Day til at formatere din dato:
Leveringsdato = "01-06-2005" strDato = Year(Leveringsdato) & "-" & Month(Leveringsdato) & "-" & Day(Leveringsdato) SQL = "Select Count(*) as antal from tblOrder where Levering = #" & strDato & "#"
Ja det er da for mærkeligt - i databasen står der 01-06-2005 og når man trækker resultatet ud uden at lave en betingelse i SQL'en så skrives der også 01-06-2005, men hvis jeg skal søge på feltet med en Where i SQL'en, så skal jeg åbenbart bruge din løsning eagleeye...
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.