Avatar billede roadrunr Nybegynder
30. september 2001 - 13:41 Der er 5 kommentarer og
2 løsninger

Find dato i database

jeg skal finde følgende dato i databasen(Access): 10-10-2001 i feltet \"Dato\" med datatypes \"Dato/Time\"

Umiddelbart ville jeg som tidligere forsøge vha. følgende:
---------------------------------
WHERE [Dato] = #10-10-2001#
---------------------------------

men det virker bare ikke! Hvis jeg i stedet gør følgende:
---------------------------------
WHERE Day([Dato]) = Day(\"10-10-2001\") AND Month([Dato]) = Month(\"10-10-2001\") AND ......
---------------------------------

Så kan jeg godt finde \"rækken\". Er det fordi der er rod med Dansk/Engelsk datoformat?

Jeg var også ude for, hvis jeg testede det på MS SQL server, så fik jeg en fejl når jeg sammenlignede Datoen og brugte #10-10-2001# i stedet for kun 10-10-2001. Hvorfor vil den ikke det?
Avatar billede tmceu Praktikant
30. september 2001 - 14:17 #1
# rundt om datoer er en Access specifik ting, der ikke bruges i SQL Server.

Problemet kan sagtens skyldes dansk/amerikansk datoformat. Datoformatet i USA er MDY, så det burde faktisk virke på datoen i dit eksempel.

Personlig bruger jeg altid YMD i mine selects uden problemer. Du kan prøve med WHERE [Dato] = #2001-10-10#. Eller alternativt kan du prøve med \"/\" i stedet for \"-\", d.v.s. eks. #10/10/2001#.
Avatar billede roadrunr Nybegynder
30. september 2001 - 15:05 #2
lyder meget fornuftigt. Kigger lidt videre på det!
Avatar billede eagleeye Praktikant
30. september 2001 - 22:41 #3
Jeg har også haft problem med Access og jeg er kommet til at i SQL sætningen til Access bliver datoen tolket som mm-dd-yyyy og ikke dd-mm-yyyy som man skriver. Jeg har før benyttet en omregning brugte dato\'en:
datostr = month(date()) & \"-\" & day(date()) & \"-\" & year(date())

Du kan også gøre noget i stil med:
\"SELECT * FROM tabel WHERE Fotmat(dato,\'dd-mm-yyyy\')=#\"&dindato&\"#;\"
Avatar billede roadrunr Nybegynder
01. oktober 2001 - 09:04 #4
hvis jeg f.eks. skal bruge det til MS SQL Server, så kan jeg vel ikke bruge VB\'s \"Format\"??
Avatar billede aho_metier Nybegynder
01. oktober 2001 - 09:43 #5
Hvis du skal bruge det til SQL server skal du bruge Convert funktionen...

convert(varchar,DATO,105) = \'10-10-2001\'
105 svarer til DD-MM-YYYY
Avatar billede roadrunr Nybegynder
01. oktober 2001 - 09:46 #6
lyder interessant.... kigger på det!
Avatar billede roadrunr Nybegynder
28. august 2002 - 22:39 #7
Lukker - og siger tak for hjælpen...
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