Avatar billede fastpoint Nybegynder
26. marts 2005 - 17:59 Der er 28 kommentarer og
1 løsning

virker stadig ikke

hvorfor virker dette ikke?

strSQL = "SELECT * FROM kunde WHERE  status = '" & Request("status") & "' AND betalingsdato < date() AND betalingsdato <> 10/10/2000"

den udskriver stadig dem med dato 10/10/2000
Avatar billede apo Praktikant
26. marts 2005 - 18:08 #1
Prøv det som busschou foreslog i det andet spørgmål:

<%
strStatus = Request("status")
strSQL = "SELECT * FROM kunde WHERE  status = '" & strStatus & "' AND " & betalingsdato & " < #" & date() &"# AND betalingsdato <> 10/10/2000"
%>

Apo
Avatar billede Søren Bech Morsing Praktikant
26. marts 2005 - 18:08 #2
<>  sjak vlre AND NOT betaligsdato = 10/10/2000
Avatar billede eagleeye Praktikant
26. marts 2005 - 18:14 #3
Du skal enten havde ' eller # omkring datoen du skriver direkte i SQL sætningen.

strSQL = "SELECT * FROM kunde WHERE  status = '" & Request("status") & "' AND betalingsdato < date() AND betalingsdato <> '10/10/2000'"


Eller sådan her hvis betalingsdato er af typen date/time og access

strSQL = "SELECT * FROM kunde WHERE  status = '" & Request("status") & "' AND betalingsdato < date() AND betalingsdato <> #10/10/2000#"


Endnu bedre er det at skrive datoer som yyyy-mm-dd da det er standart SQL syntax så prøv:

strSQL = "SELECT * FROM kunde WHERE  status = '" & Request("status") & "' AND betalingsdato < date() AND betalingsdato <> #2000-10-10#"
Avatar billede eagleeye Praktikant
26. marts 2005 - 18:14 #4
Når du skriver det unden ' eller # laver database den udregning du har skrevet 10 delt med 10 delt med 2000 :)
Avatar billede fastpoint Nybegynder
26. marts 2005 - 18:16 #5
tester lige om lidt:) min server gider ikke lade mig logge på og tænkte nok det med dato formattet skulle gøres anderledes:)
Avatar billede busschou Praktikant
26. marts 2005 - 20:56 #6
Deltager da lige hvis det viser sig det fra forrige spørgsmål virker alligevel ;o)
Avatar billede fastpoint Nybegynder
28. marts 2005 - 19:04 #7
beklager jeg først skriver nu men der har overhovedet ikke været adgang til min ftp!
det er der heldigvis igen. Jeg får dog denne fejl til alle forslag

Microsoft OLE DB Provider for ODBC Drivers error '80040e21'

ODBC driver does not support the requested properties.

hvad betyder det?
Avatar billede eagleeye Praktikant
28. marts 2005 - 23:03 #8
Typisk er det fordi man skriver en forkert variable enten som SQL eller Connection. Eksempel:
SQL = "select *from tabelnavn"
rs.Open strSQL, Conn, 1, 3
Avatar billede fastpoint Nybegynder
28. marts 2005 - 23:12 #9
hmm den ser sådan her ud

Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT * FROM kunde WHERE  status = '" & Request("status") & "' AND betalingsdato < date() AND betalingsdato <> #10/10/2000#"
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("database.mdb")
If Request("alfa") > "" Then strSQL = strSQL & " AND instr('" & LCase(Request("alfa")) & "',lcase(left(firmanavn,1)))>0"
strSQL = StrSQL & " ORDER BY placering, id ASC"
rs.Open strSQL, strDSN, 1

hvor jeg har valgt at prøve dit løsningsforslag nr. 2
Avatar billede eagleeye Praktikant
28. marts 2005 - 23:16 #10
Overføre du en værdi i alfa?
Avatar billede fastpoint Nybegynder
28. marts 2005 - 23:19 #11
sorry! pastede den forkerte kode ind:( det er denne

          <%
                strStatus = Request("status")

Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT * FROM kunde WHERE  status = '" & Request("status") & "' AND betalingsdato < date() AND betalingsdato <> #10/10/2000#"
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../database.mdb")
strSQL = StrSQL & " ORDER BY rykker DESC"
rs.Open strSQL, strDSN, 1

    %>
Avatar billede eagleeye Praktikant
28. marts 2005 - 23:27 #12
Fejlen kommer i rs.Open metoden og det kan være fordi den ikke forstår det som står i en af variablerne. Men umiddelbart ser det fint ud. Så prøv evt at rette koden til så  du bruger en connection og ikke rs.Open metoden:


          <%
                strStatus = Request("status")

Set conn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT * FROM kunde WHERE  status = '" & Request("status") & "' AND betalingsdato < date() AND betalingsdato <> #10/10/2000#"
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../database.mdb")
Conn.Open strDSN
strSQL = StrSQL & " ORDER BY rykker DESC"
Set rs = conn.Open strSQL

    %>
Avatar billede fastpoint Nybegynder
28. marts 2005 - 23:33 #13
jeg copy pastede bare koden og fik denne fejl

Expected end of statement

Set rs = conn.Open strSQL
-------------------^

prøvede at sætte et "," efter open men hjalp ikke
Avatar billede eagleeye Praktikant
28. marts 2005 - 23:43 #14
hmm min fejl linjen:

Set rs = conn.Open strSQL

Skal være sådan her:

Set rs = conn.execute strSQL
Avatar billede fastpoint Nybegynder
28. marts 2005 - 23:45 #15
hmm håber ikke jeg er irriterende:) men det rykkede bare på linjen

Expected end of statement

Set rs = conn.execute strSQL
----------------------^
Avatar billede eagleeye Praktikant
28. marts 2005 - 23:47 #16
Prøv at copy/paste koden over i notepad og slet mellemrumet imellem execute og strSQL og lav det igen.
Avatar billede fastpoint Nybegynder
28. marts 2005 - 23:49 #17
samme problem desværre. Jeg prøvede også selv at skrive den ind direkte men hjalp heller ikke
Avatar billede eagleeye Praktikant
28. marts 2005 - 23:51 #18
Prøv at sætte () omkring strSQL:
Set rs = conn.execute (strSQL)
Avatar billede fastpoint Nybegynder
28. marts 2005 - 23:55 #19
Det ændrede en smule på det, men fik denne fejl istedet

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
Avatar billede eagleeye Praktikant
29. marts 2005 - 00:00 #20
Det betyder typisk at et kolonnenavn er skrevet forkert i forhold til det i databasen. Så tjek kolonnenavne er skrevet rigtigt og findes i tabellen.
Avatar billede eagleeye Praktikant
29. marts 2005 - 00:01 #21
Det kunne være status som driller prøv at sætte klammer omkring sådan her:

strSQL = "SELECT * FROM kunde WHERE  [status] = '" & Request("status") & "' AND betalingsdato < date() AND betalingsdato <> #10/10/2000#"
Avatar billede fastpoint Nybegynder
29. marts 2005 - 00:04 #22
strSQL = "SELECT * FROM kunde WHERE  status = '" & Request("status") & "' AND betalingsdato < date() AND betalingsdato <> #10/10/2000#"

af den så er jeg sikker på jeg har tabellen kunde. Her er kolonnen betalingsdato

betalingsdato

copy paste fra databasen. og status har jeg også.
Husk på at denne sql virkede fint

strSQL = "SELECT * FROM kunde WHERE  status = '" & Request("status") & "' AND betalingsdato < date() "

men når jeg prøvede at sætte en ekstra betingelse på virkede det ikke mere.
den ekstra betingelse er at dato ikke må være 10/10/2000
Avatar billede eagleeye Praktikant
29. marts 2005 - 00:06 #23
hvilken type er kolonnen betalingsdato ?
Avatar billede fastpoint Nybegynder
29. marts 2005 - 00:10 #24
Date/Time

Der blev jeg godt nok lige forskrækket! prøvede lige den sql sætning jeg sagde virkede og fik denne fejl. (samme som med dit)

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

men det er ikke sql sætningen den er galt med tror jeg, men den nye conn vi lavede
det her virker nemlig.. men der mangler jeg den sidste betingelse


          <%
Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT * FROM kunde WHERE  status = '" & Request("status") & "' AND betalingsdato < date() "
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../database.mdb")
strSQL = StrSQL & " ORDER BY id"
rs.Open strSQL, strDSN, 1
    %>
Avatar billede eagleeye Praktikant
29. marts 2005 - 00:10 #25
Prøv at skrive datoen som yyyy-mm-dd, sådan her:

strSQL = "SELECT * FROM kunde WHERE  status = '" & Request("status") & "' AND betalingsdato < date() AND betalingsdato <> #2000-10-10#"
Avatar billede eagleeye Praktikant
29. marts 2005 - 00:12 #26
nej fejlen har intet med den nye connection af gøre.
Avatar billede fastpoint Nybegynder
29. marts 2005 - 00:14 #27
den brokkede sig ikke! så tester lige om det virker som det skal:)
Avatar billede fastpoint Nybegynder
29. marts 2005 - 00:17 #28
eagleeye! TAK!! Det virker:)!!
Avatar billede eagleeye Praktikant
29. marts 2005 - 00:22 #29
ok ;)
så det vist også senge tid, god nat og sov godt :)
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