Avatar billede puppetmaster Nybegynder
15. november 2004 - 10:51 Der er 4 kommentarer og
1 løsning

Formatering af dato

Jeg bruger en Dansk Windows XP, som af hensyn til en anden applikation er sat op til at køre med Engelsk i Internationale og Sproglige indstillinger.

Problemet er når jeg skal hente data fra mine tabeller vha. SQL.
Eksempel på data:
PalleKlLosDato
11/11/2004
11/11/2004
11/11/2004
12/11/2004
15/11/2004
15/11/2004
15/11/2004
15/11/2004
16/11/2004
17/11/2004

Min SQL henter datoerne fra en anden tabel og udvælger så data fra tabellen på baggrund af en dato:

SQLString3 = "SELECT DISTINCT PalleKlLosDato, PalleKlOrdrerNr FROM PalleKlade"
Set rst2 = CurrentDb.OpenRecordset(SQLString3, dbOpenDynaset, dbSeeChanges)
While Not rst2.EOF
  SQLString2 = "SELECT Sum(PalleKlade.PalleKlVaegtPrEnh) AS SumOfPalleKlVaegtPrEnh, Sum(PalleKlade.PalleKlAntalEnh) AS SumOfPalleKlAntalEnh, PalleKlade.PalleKlLosDato, Partiklade.PartiKlNr, Partiklade.PartiKlOrdrerNr FROM PalleKlade RIGHT JOIN Partiklade ON PalleKlade.PalleKlPartiNr = Partiklade.PartiKlNr GROUP BY PalleKlade.PalleKlLosDato, Partiklade.PartiKlNr, Partiklade.PartiKlOrdrerNr HAVING Partiklade.PartiKlOrdrerNr='" & Ordrenummer & "' AND  PalleKlade.PalleKlLosDato=#" & rst2("PalleKlLosDato") & "# ORDER BY Partiklade.PartiKlNr"
  Set rst = CurrentDb.OpenRecordset(SQLString2, dbOpenDynaset, dbSeeChanges)
    Debug.Print rst("PalleKlLosDato") & ": " & rst("SumOfPalleKlVaegtPrEnh")
  rst2.MoveNext
Wend

I dette tilfælde får jeg IKKE data for d. 12/11/2004, for den dato der sammenlignes med er 11/12/2004!
Hvordan formaterer jeg SQL strengen, så jeg altid får datoen i det "korrekte" format?
dd/mm/yyyy
15. november 2004 - 10:57 #1
Jeg har god erfaring med altid at formattere datoer i formattet yyyy-mm-dd.

Dvs skrive:
PalleKlade.PalleKlLosDato=#" & Format(rst2("PalleKlLosDato"), "yyyy-dd-mm")
15. november 2004 - 11:01 #2
Problemet er jo ikke hvordan du "Viser" datoerne, men hvordan du "sammenligner" datoerne.

Dette problem topper listen over "irriterende elemeter" ved VB/VBA
Avatar billede puppetmaster Nybegynder
15. november 2004 - 11:01 #3
Tja, det giver i hvert fald det rigtige resultat i mit tilfælde (altså yyyy-mm-dd!)
Tak
Avatar billede puppetmaster Nybegynder
15. november 2004 - 11:02 #4
Thomas: Det har du så EVIGT RET I!
Det tog mindst 1 time før jeg kom på hvorfor dataene ikke blev vist! :(
15. november 2004 - 11:03 #5
Så er du sluppet billigt :o)
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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