Avatar billede JenZen Novice
19. september 2006 - 23:23 Der er 11 kommentarer og
1 løsning

SQL forespørgsel

Nedenstående er min sql query streng. men den melder fejl, desværre. Nederst på siden er det jeg prøver at fremkalde siden med.

strSQL = "Select * From " & Request.querystring("Tabel") &" Where Medarbejder='" & Request("Medarbejder") &"' Where Dato Between '" & Request("Fra") &"' AND '" & Request("Til") &"'"

test.asp?Tabel=Arbejdstimer&Medarbejder=JRJ?Fra?01-09-2006&Til=02-09-2006
Avatar billede thesurfer Nybegynder
19. september 2006 - 23:28 #1
Der skal kun være 1 "?".. resten er "&":

test.asp?Tabel=Arbejdstimer&Medarbejder=JRJ&Fra=01-09-2006&Til=02-09-2006

Der er også fejl her, hvor det andet "?" skulle være "=": ?Fra?01-09-2006
Avatar billede hitanykey Nybegynder
19. september 2006 - 23:28 #2
prøv at fjerne ?-tegnet mellem JRJ og Fra og erstat det med et &  ?
Avatar billede thesurfer Nybegynder
19. september 2006 - 23:29 #3
Hvis det ikke er nok, skal du sikkert bruge Date-konvertering på dine request..

Dine request skal forresten være Request.Querystring("Tabel") osv..

Dvs, Request.Querystring i stedet for bare Request.
Avatar billede JenZen Novice
19. september 2006 - 23:39 #4
Fik jeg ikke helt fat i kan du ikke prøve at skrive sql strengen som den skal være.
Avatar billede thesurfer Nybegynder
19. september 2006 - 23:45 #5
Højst sandsynligt sådan:

strSQL = "Select * From " & Request.Querystring("Tabel") & " Where Medarbejder='" & Request.Querystring("Medarbejder") & "' Where Dato Between #" &  CDate(Request.Querystring("Fra")) & "# AND #" & CDate(Request.Querystring("Til")) & "#"

Og kaldes med:

test.asp?Tabel=Arbejdstimer&Medarbejder=JRJ&Fra=01-09-2006&Til=02-09-2006
Avatar billede thesurfer Nybegynder
19. september 2006 - 23:46 #6
..jeg går ud fra, at feltet "Dato" er af typen "Date" (eller "DateTime").. dvs, ikke bare et almindeligt tekstfelt..
Avatar billede jytte Nybegynder
19. september 2006 - 23:51 #7
Der er vist også et "where" der skal være et "And"
Avatar billede JenZen Novice
19. september 2006 - 23:57 #8
Her er min streng:
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("/fpdb/Medarbejder.mdb")
strSQL = "Select * From " & Request.Querystring("Tabel") & " Where Medarbejder='" & Request.Querystring("Medarbejder") & "' Where Dato Between #" &  CDate(Request.Querystring("FraD")) & "# AND #" & CDate(Request.Querystring("TilD")) & "#"
Set rs = Conn.Execute(strSQL)
%>

Og her er svaret når jeg kalder siden:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'Medarbejder='JRJ' Where Dato Between #12:00:00 AM# AND #12:00:00 AM#'.

/test.asp, line 12
Avatar billede thesurfer Nybegynder
19. september 2006 - 23:58 #9
jytte> Korrekt.. det havde jeg overset..

Det skal være: "' and Dato Between
Avatar billede thesurfer Nybegynder
19. september 2006 - 23:58 #10
telekaeden> Sikker pga "where" der skulle være "and".. se forrige indlæg..
Avatar billede JenZen Novice
20. september 2006 - 00:09 #11
Jytte havde ret nu virker det, kom med et svar så er der point.
Avatar billede thesurfer Nybegynder
20. september 2006 - 00:10 #12
Svar.
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