Avatar billede thomas_b Nybegynder
26. marts 2006 - 23:18 Der er 15 kommentarer og
1 løsning

Problemmer med format() til SQL database

Hej eksperter...

Jeg har et problem med mit script...:

SQL = "SELECT count(*) as log_post_unik FROM nytabel2006_statastik_log_unikke WHERE Format(dato, 'dd-mm-yyyy')=#"& dtmCurDate &"#"
Set rs_dagens = Server.CreateObject("ADODB.Recordset")
rs_dagens.Open SQL, Conn,1, 2

I min tabel "dato" kommer der resultater der ser således ud..: 10-03-2006 00:18:00
Og "dtmCurDate" kommer med et output som ser således ud..: 10-03-2006

Så er det at jeg har den til at skrive hvor mange poster jeg har på den dato...! men der kommer kun alle poster på 13-03-2006 og derefter - Men hvis jeg ændre SQL-sætningen til Format(dato, 'mm-dd-yyyy') så skriver den kun poster fra den 1-03-2006 til den 12-03-2006

Det virker pænt ulogisk men sådan gør den og jeg ville meget gerne have at den fandt alle posterne på én gang...
Nogle der kan hjælpe...? Det håber jeg...
Avatar billede erikjacobsen Ekspert
26. marts 2006 - 23:25 #1
Prøv yyyy-mm-dd
Avatar billede thomas_b Nybegynder
26. marts 2006 - 23:28 #2
Så virker den slet ikke...

Der kommer igen fejl men den viser 0
Avatar billede fennec Nybegynder
27. marts 2006 - 08:20 #3
Hvis dato er af typen adto & klokkeslet i databasen burde du kunne gøre noget i denne stil:

dato1 = "03-27-2006"
dato2 = "03-28-2006"
SQL = "SELECT count(*) as log_post_unik FROM nytabel2006_statastik_log_unikke WHERE dato>=#"& dato1 &"# and dato<#"& dato2 &"#"

Læg mærke til at datoformatet er mm-dd-yyyy
Avatar billede fennec Nybegynder
27. marts 2006 - 08:20 #4
adto = dato :o)
Avatar billede mitbrugernavn Praktikant
27. marts 2006 - 08:34 #5
Database_Location = "test.mdb"

Set Conn=Server.CreateObject("ADODB.Connection")
Set rs=Server.CreateObject("ADODB.RecordSet")
Set rsa=Server.CreateObject("ADODB.RecordSet")

    Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath(Database_Location)
    Conn.Open

dtmCurDate = date()
strSQL = "SELECT count(*) as log_post_unik FROM dato WHERE Format(dato, 'dd-mm-yyyy')=#"& dtmCurDate &"#"

set rs=conn.execute(strSQL)

response.write rs("log_post_unik ")

'jeg har 5 poster med d.d. og forskellige klokkeslet ud af 15 forskellige og den viser fint at der er 5 poster

prøv at lægge dansk datoformat øverst

<%Session.LCID = 1030 %>
Avatar billede erikjacobsen Ekspert
27. marts 2006 - 12:26 #6
Det vil kun virke med yyyy-mm-dd hvis også det du sammenligner med, dtmCurDate, er i det format.
Avatar billede mitbrugernavn Praktikant
27. marts 2006 - 12:59 #7
til mit svar er lige følgende feltet dato i db er sat til dato & klokkeslet
Avatar billede thomas_b Nybegynder
27. marts 2006 - 21:55 #8
Det lykkes med denne SQL...:

SQL = "SELECT count(*) as log_post_unik FROM nytabel2006_statastik_log_unikke WHERE Format(dato, 'dd-mm-yyyy')=#"& dtmCurDate &"# OR Format(dato, 'mm-dd-yyyy')=#"& dtmCurDate &"#"
Set rs_dagens = Server.CreateObject("ADODB.Recordset")
rs_dagens.Open SQL, Conn,1, 2

Tak til alle men jeg har prøvet: "erikjacobsen"'s og "mitbrugernavn"'s men jeg tror at pointet går til fennec, da han ligesom kom med svaret der kunne løse opgaven...
Lægger du lige et svar...
Avatar billede erikjacobsen Ekspert
27. marts 2006 - 23:00 #9
Den sql-sætning du skriver her til sidst ser "farlig" ud. Det kan være den løser dit problem her og nu, men du kommer sikkert en dag til at få fat på 2 forskellige datoer - den ene korrekt, og den anden forkert. Test det grundigt for at se, om ikke du kan fremprovokere fejlen.
Avatar billede thomas_b Nybegynder
27. marts 2006 - 23:11 #10
Hvordan kan jeg gøre dette...?
Avatar billede erikjacobsen Ekspert
27. marts 2006 - 23:16 #11
Prøv at putte den 1/2-2000 og 2/1-2000 i din tabel, og søg på 2/1  - mit gæt er den bliver "forvirret" ;)
Avatar billede thomas_b Nybegynder
27. marts 2006 - 23:22 #12
Nej det gør den ikke...! hvert flad ikke endnu...!
Avatar billede thomas_b Nybegynder
25. juli 2007 - 07:11 #13
nogle der lægger et svar
Avatar billede fennec Nybegynder
25. juli 2007 - 08:10 #14
.o) <-- One Eyed Jack
Avatar billede erikjacobsen Ekspert
25. juli 2007 - 08:31 #15
Nej tak.
Avatar billede thomas_b Nybegynder
25. juli 2007 - 09:27 #16
ok
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