Avatar billede mini-me Nybegynder
18. marts 2006 - 17:03 Der er 1 kommentar og
1 løsning

Fejl i udtræk fra database

Hej,

Jeg forstår det ikke jeg har tilføjet 50 poster i min access database til feltet dag, som er af typen dato/tid. Dette er gjort 100% ens.

Når jeg kører flg. kode:

  md_nu = Month(Now)
  yy_nu = Year(Now)
  dato_d_1 = DateSerial(yy_nu, md_nu, 1)
  dato_n_m = DateAdd("m", 1, dato_d_1)
  DaysInMonth = DateDiff("d", dato_d_1, dato_n_m)     
           
  set rs = server.CreateObject("ADODB.Recordset")

  for I = 1 to daysInMonth
    sqlStrDate = i & "-" & md_nu & "-" & yy_nu
    sqlStrDate = cdate(sqlStrDate)
    strSQL = "SELECT count(*) as HitsDay From Stat where Dag=#" & sqlStrDate & "#"
    set rs = conn.execute(strSQL)
    response.Write(rs("HitsDay") & "<br><br>")
next



Så skriver den 50 ved alle datoer undtagen:

01,02,04,05,06,07,08,09,10,11,12

alle andre dage får jeg det korrkete output som er 50!

Jeg har prøvet at slette dataen i databasen og oprettet dem igen!!

Nogen der kan hjælpe?!?!
Avatar billede eagleeye Praktikant
20. marts 2006 - 13:17 #1
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.

Så når man arbejde med SQL så brug altid formatet yyyy-mm-dd så skulle det virke hver gang. Så du skal rette disse to linier:

    sqlStrDate = i & "-" & md_nu & "-" & yy_nu
    sqlStrDate = cdate(sqlStrDate)

Til denne ene da Cdate ikke nødvendig du konverter afligevel datoen til tekst når den bliver lagt ind i strSQL.:

    sqlStrDate = yy_nu & "-" & md_nu & "-" & i
Avatar billede mini-me Nybegynder
20. marts 2006 - 13:58 #2
Jeg takker for hjælpen :) Og skriver det UK/US dato fis bag øret :-)
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