Avatar billede axkris Nybegynder
10. juli 2003 - 09:38 Der er 18 kommentarer og
1 løsning

Problmer med date

Hej

Jeg har følgende:

strSQL="select * FROM search WHERE email_sent = 'false' and #" & date(????) & "# <= #" & date & "# and #" & date(????) & "# >= #" & Date - 4 & "#"

I databasen har jeg et felt, som hedder "datopublish" og det vil jeg gerne have sat i ind, hvor der står "????". Det giver hele tiden fejl for mig, så måske I kan finde ud af det.
Avatar billede kabbak Professor
10. juli 2003 - 09:50 #1
strSQL="select * FROM search WHERE email_sent = 'false' and #" & [datopublish] & "# <= #" & date & "# and #" & [datopublish] & "# >= #" & Date - 4 & "#"

prøv det
Avatar billede axkris Nybegynder
10. juli 2003 - 09:52 #2
Syntax error in date in query expression 'email_sent = 'false' and ## <= #10-07-2003# and ## >= #06-07-2003#'.
10. juli 2003 - 09:54 #3
Prøv denne:

strSQL="select * FROM search WHERE email_sent = false and [datopublish] <= date() and [datopublish] >=  & Date() - 4"
10. juli 2003 - 09:55 #4
Eller:
strSQL="select * FROM search WHERE email_sent = false and [datopublish] between date()-4 and Date()"
Avatar billede axkris Nybegynder
10. juli 2003 - 10:08 #5
Problemet er, at datopublish ligger i et amerikanske dato-format, mens serveren får date() til at vise et dansk dato-format. Så datopublish skal på en eller anden måde konverteres til det danske format. Hvordan går det i min kode?
10. juli 2003 - 10:10 #6
Er datopublish af datatypen Dato eller Tekst?
10. juli 2003 - 10:11 #7
Og er datopublish overhovedet med i Search? Eller er det blot et felt på en formular?
Avatar billede axkris Nybegynder
10. juli 2003 - 10:11 #8
Dato
Avatar billede axkris Nybegynder
10. juli 2003 - 10:17 #9
datopublish er med i "search"
10. juli 2003 - 10:19 #10
Hvad sker der, når du indsætter mit sidste forslag?
Avatar billede axkris Nybegynder
10. juli 2003 - 10:19 #11
Min fejl... datopublish kommer rigtigt nok ud i det danske format... jeg vender lige tilbage :-)
10. juli 2003 - 10:22 #12
Ja, det skulle jeg også mene....formattet har ikke noget at sige, når man bruger det som jeg har gjort (indkapslet i SQL'en)....
Avatar billede axkris Nybegynder
10. juli 2003 - 10:24 #13
Noget andet må være galt, fordi den siger:

Syntax error (missing operator) in query expression 'id ='

...ved:

strSQL2="select * FROM users WHERE id = " & rs("bruger_id")

Kan I genneskue det?

___________________________________

<%
if not Request.Cookies("emailSent") = "true" then

    Set myConn=Server.CreateObject("ADODB.Connection")
    myConn.Open ("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE="+server.Mappath("/db/selvet.mdb"))
    strSQL="select * FROM search WHERE datopublish between date()-4 and date()"

    set rs = myConn.execute(strSQL)
    response.write strSQL
    response.write "<br>" & rs("datopublish")

    Set myConn2=Server.CreateObject("ADODB.Connection")
    myConn2.Open ("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE="+server.Mappath("/db/users.mdb"))           

    do while not rs.BOF and not rs.EOF
        strSQL2="select * FROM users WHERE id = " & rs("bruger_id")
            set rs2 = myConn2.execute(strSQL2)
                       
            if not rs2.BOF and not rs2.EOF then
                  strSQL="update search SET email_sent = 'true' WHERE url_id = " & rs("url_id")
                myConn.execute(strSQL)
              end if

        rs.MoveNext
    Loop
   
    myConn.close
    myConn2.close
end if
%>
Avatar billede axkris Nybegynder
10. juli 2003 - 10:27 #14
Jeg har også prøvet at indkapsle det, og det giver den samme fejl.
10. juli 2003 - 10:32 #15
okay, men det er jo et helt andet problem. Det har jo ikke noget med datoen og dit spørgsmål at gøre!

Er rs("bruger_id") tekst eller tal?

Hvis det er tekst, så skal det jo se således ud:
strSQL2="select * FROM users WHERE id = '" & rs("bruger_id") & "'"
Avatar billede axkris Nybegynder
10. juli 2003 - 10:36 #16
Du løste først del af mit spørgsmål, men det skabte en fejl, som aldrig har været det før nu.

bruger_id er af typen tal :-)
Avatar billede axkris Nybegynder
10. juli 2003 - 10:38 #17
Jeg tror, at fejlen kommer af, at der ikke findes nogle records ved eksekvering af strSQL-sætningen, men det burde "rs.EOF" dog undgå.
10. juli 2003 - 10:43 #18
Kan du ikke få udskrevet rs.recordcount?
Avatar billede axkris Nybegynder
10. juli 2003 - 10:53 #19
Jeg har fundet fejlen... det var fordi at der var en record i min database, hvor bruger_id ikke var udfyldt. Mange tak for hjælpen :-9
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