Avatar billede chris96 Nybegynder
03. august 2004 - 16:52 Der er 10 kommentarer og
1 løsning

Fejl i en strsql!

Måske stirrer jeg mig helt blind....  men hvad er der galt...

Der er fejl i den her:
strSQL = "Select * from sidemenu where (type = 'Generel') and (menupunkt = 'Generel') order by id asc"
Set rs = Conn.Execute(strSQL)

Og fejlen er:
Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

Fatter de ikke helt! Fremkommer fejlen ikke, når en kolonne man spørger til ikke findes i tabellen??? Og jeg har tjekket RIGTIGT mange gange... og der er ingen stavefejl!
Avatar billede Spotgun Seniormester
03. august 2004 - 16:56 #1
Type er et reserveret ord i Access, så prøv det her:

strSQL = "Select * from sidemenu where ([type] = 'Generel') and (menupunkt = 'Generel') order by id asc"
Avatar billede Spotgun Seniormester
03. august 2004 - 16:57 #2
Du kan læse mere om reserverede ord her:
http://activedeveloper.dk/artikler/default.asp?articleid=183
Avatar billede chris96 Nybegynder
03. august 2004 - 17:01 #3
Prøvede første det du skrev... det virkede ikke. Ændrede derefter i tabellem - og i strSQL sætningen til menutype i stedet... så kommer samme fejl!
Avatar billede Spotgun Seniormester
03. august 2004 - 17:04 #4
Prøv lige at komme med resten af din kode, så er det lidt nemmere at fejlsøge. Det kan jo være fejlen ligger et andet sted.
Avatar billede chris96 Nybegynder
03. august 2004 - 17:06 #5
<%
            Set Conn = Server.CreateObject("ADODB.Connection")
            DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
            DSN = DSN & "DBQ=" & Server.MapPath("db/hovedbasen.mdb")
            Conn.Open DSN
            strSQL = "Select * from sidemenu where (menutype = 'Generel') and (menupunkt = 'Generel') order by id asc"
            Set rs = Conn.Execute(strSQL)

            if rs.eof then

            response.write "<tr><td align=right bgcolor=#EAE8E8><font face=verdana size=-2><b>Ingen generel undermenu</b></font></td></tr>"

            else

            Do

            Response.write "<tr><td align=left bgcolor=#EAE8E8><font face=verdana size=-1><b><a href=" & rs("menuhttp") & ">" & rs("menunavn") & "</b></font></a></td></tr>"

            rs.MoveNext
   
            Loop While Not rs.EOF
            end if
            %>

Og så lukkes der lidt senere igen...
Avatar billede Spotgun Seniormester
03. august 2004 - 17:09 #6
Prøv at rette det første til dette:

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("db/hovedbasen.mdb")
Conn.Open DSN
strSQL = "Select * from sidemenu where (menutype = 'Generel') and (menupunkt = 'Generel') order by id asc"
Set RS = Server.CreateObject("ADODB.RecordSet")
RS.Open strSQL, Conn, 1, 3
Avatar billede chris96 Nybegynder
03. august 2004 - 17:14 #7
Same same...
Avatar billede Spotgun Seniormester
03. august 2004 - 17:15 #8
Hmm... Prøv så at cut-n-paste din SQL-statement ind i en Access-forespørgsel og se om den virker dér.
Avatar billede chris96 Nybegynder
03. august 2004 - 17:17 #9
Selvfølgelig borset fra at fejlmeddelelsen er i linie 96 i stedet ;=))))
Avatar billede chris96 Nybegynder
03. august 2004 - 17:22 #10
Sådan der... nu fik jeg det til at virke! Som sædvanlig overså jeg noget... LOL - du får pointene på grund af min stupide dumhed...
Avatar billede Spotgun Seniormester
03. august 2004 - 17:24 #11
Ok, takker :)
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