Avatar billede vision-jsp Nybegynder
20. marts 2001 - 14:52 Der er 8 kommentarer og
1 løsning

Hvordan kan det nu være??

Jeg har følgende kode som checker om de findes en entry i en tabel indeholdende helligdage:
(dato er def. som \"as date\")


sql = \"SELECT * FROM helligdage WHERE dag = #\" & dato & \"#\"
Set db = CurrentDb()
Set rec = db.OpenRecordset(sql, dbOpenDynaset)

If rec.RecordCount > 0 Then
...

Hvis jeg prøver at finde \"01-01-01\" er der ingen problemer, men fx \"12-04-01\" som er lagt i tabellen senere, ja der er RecordCount = 0, selv om jeg VED at der er 1 entry.


Hjææælp


Jakob






20. marts 2001 - 14:57 #1
Problemet er at Access af og til bytter om på dag og måned i datoer. Så når du skriver \"12-04-01\" så kigger den efter \"04-12-01\" istedet.

Problemet er at den ikke er konsekvent. Derfor har jeg haft succes med at bruge Dateseriel() og derved tvinge den til at tage dem i den rigtige rækkefølge. Men der ER noget rod, det med datoerne.

/Thomas
Avatar billede horus Nybegynder
20. marts 2001 - 14:57 #2
Hej Jakob,

Det er ganske enkelt fordi Access er et engelsk program oprindeligt !!!!!! Selvom du kan benytte dansk datoformat mange steder, så benytter JET -motoren bag access sig nu engang af det engelske sprog og format. Og når du laver forespørgsler som i ovenstående så snakker du direkte med jet og den forventer engelsk datoformat.... så du skal have byttet om på dag og måned så formatet er mmddåå :-(

Du kan hurtigt tjekke om det er det der er årsagen ved at prøve med 04-12-01, så skulle din post pr. 12-04-01 gerne blive talt med....

Horus
www.huskdet.nu - så glemmer du aldrig...
Avatar billede horus Nybegynder
20. marts 2001 - 14:59 #3
Thomas du er sku\' for hurtig... har du ikke andet at give dig til ? :-)

Jeg har lavet en funktion som jeg altid benytter i disse tilfælde - den modtager den danske dato som argument - bytter rundt på dag og måned og returnerer den nye.... men det er noget rod - afgjort....


Horus
www.huskdet.nu - så glemmer du aldrig...
20. marts 2001 - 15:02 #4
Hey Horus :-)

Jeg er på arbejde. Så hvad andet skulle jeg lave end svare på den her slags spørgsmål ;-)

/Thomas

PS: Hvis du en dag har lyst, så må du da meget gerne sende den funktion til mig. Du finder min e-mail ved at klikke på mit navn...
pfh tak :-)
Avatar billede vision-jsp Nybegynder
20. marts 2001 - 15:02 #5
Jeg vil da også gerne se den funktion...


Jakob
Avatar billede vision-jsp Nybegynder
20. marts 2001 - 15:10 #6
Fx. sådan her:

Deter sikkert noget svineri, men i har ret det virker!

Dim eng_dato As String

eng_dato = Year(dato) & \"-\" & Month(dato) & \"-\" & day(dato)

sql = \"SELECT * FROM helligdage WHERE dag = #\" & dato & \"#\"
Set db = CurrentDb()
Set rec = db.OpenRecordset(sql, dbOpenDynaset)

If rec.RecordCount > 0 Then
...


20. marts 2001 - 15:11 #7
Jepper, det er noget i den stil jeg selv plejer at lave, så... :-)
Avatar billede horus Nybegynder
20. marts 2001 - 15:13 #8
I har den hér Gutter... Bemærk at jeg også laver 4-cifret årstal, da det også har voldt mig lidt kvaler hér i det nye årtusinde :-)

Horus
www.huskdet.nu - så glemmer du aldrig


Public Function HandleDKDate(DKDate As Date) As String

Dim intDay As Integer, intMonth As Integer, intYear As Integer
Dim strNewDate As String

intDay = Left(DKDate, 2)
intMonth = Mid(DKDate, 4, 2)
intYear = year(DKDate)

\'Hvis dags dato ikke er efter den 12 så byttes rundt på måned og dag.

If intDay <= 12 Then
    strNewDate = intMonth & \"-\" & intDay & \"-\" & intYear
Else
    \'Så er dags dato efter den 12, og der skal ikke gøres noget
    \'udover at lave 4 cifret årstal.
    strNewDate = intDay & \"-\" & intMonth & \"-\" & intYear
End If

HandleDKDate = strNewDate

End Function

20. marts 2001 - 15:15 #9
Kanon :-)

Jeg er nu lidt ked af, at du ikke fik nogen point for dit bidrag. Jeg opretter lige et spørgsmål til dig, Horus.
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