MavMedlem sedan juni 2000117 inlägg Hoppas ngn kan hjälpa mig med följande (säkert jättelätt att åtgärda men just nu står det still). Får följande fellmeddelande:
ADODB.Fields fel '800a0cc1'
ADO kunde inte hitta objektet i mängden som överensstämmer med det begärda namnet eller numret.
Koden:
<%
Set fritid = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
fritid.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=c:\inetpub\wwwroot\fritidsok\FritidKund.mdb"
If Request.Form("knapp") = "Sök" Then
SQL = "SELECT * From Adresser"
End If
rs.Open SQL, fritid
%>
....
<TR>
<TD><A HREF = fritid_htl.asp?Kund=<%=rs("Kundnamn")%>><%=rs("Kundnamn")%></A>
<TD><%=rs("Ort")%><BR>
</TR>
------------------
//Mav
emissionMedlem sedan dec. 19996 721 inlägg Ja antar att det var en del som saknades här, eftersom detta bara skulle lista ut en adress ur databasen, helt utan att bry sig om vilken.
If Request.Form("knapp") = "Sök" Then
SQL = "SELECT * From Adresser"
End If
rs.Open SQL, fritid
...är inte så bra, för om Request.Form("knapp") inte är "Sök" så kommer rs.Open att försöka exekvera en tom SQL-sats.
Felet verkar dock bero på att du inte har någon kolumn i databasen som heter "Kundnamn".
------------------
Gunnar Liljas - webbutvecklare
Leon Reklambyrå AB
MavMedlem sedan juni 2000117 inlägg Det är just det som är grejen. Jag har en kolumn som heter kundnamn därför förstår jag inte varför felet uppstår.
Vad ska jag använda istället för
If Request.Form("knapp") = "Sök" Then
SQL = .....
?
emissionMedlem sedan dec. 19996 721 inlägg Har du fler vägar in i skriptet? Jag menar: kan skriptet köras utan att man trycker på knappen "knapp" med värdet "Sök"?
------------------
Gunnar Liljas - webbutvecklare
Leon Reklambyrå AB
MavMedlem sedan juni 2000117 inlägg Nej, det körs bara om man trycker på "knapp". Hoppas ni eller ngn kan hitta en lösning eller ett annat alternativ för att kunna köra skriptet.
------------------
//Mav
emissionMedlem sedan dec. 19996 721 inlägg Varför har du då en if-sats, som kollar om man tryckt på rätt knapp?
Ta bort if-satsen, så ska du se att det funkar bättre.
------------------
Gunnar Liljas - webbutvecklare
Leon Reklambyrå AB
MavMedlem sedan juni 2000117 inlägg Tack för hjälpen men vad ska jag skriva istället då? Får nu detta felmeddelande:
Programsats förväntas.
/fritidsok/fritid_sok_ok.asp, rad 14
=Request.form("frisok")
Den första sidan har följande kod:
<FORM METHOD = "POST" ACTION = "fritid_sok_ok.asp">
<TABLE BORDER = 1>
<TR>
<TD>Stad:
<TD><INPUT TYPE = "TEXT" NAME = "frisok">
<TD><INPUT TYPE = "SUBMIT" VALUE = "Sök">
</TR>
Som du ser så hänvisar den till en annan sida som ser ut som följer:
<%
Set fritid = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
fritid.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=c:\inetpub\wwwroot\fritidsok\FritidKund.mdb"%>
<%=Request.form("frisok")
SQL = "SELECT * From Adresser"
rs.Open SQL, fritid
%>
<H2>Sökresultat:</H2>
<TABLE BORDER = 1>
<TR>
<TD ALIGN = CENTER><B>Ort</B>
<TD ALIGN = CENTER><B>Namn</B>
</TR>
<%
Do While Not rs.EOF
%>
<TR>
<TD><A HREF = fritid_htl.asp?Kund=<%=rs("Kundnamn")%>><%=rs("Kundnamn")%></A>
<TD><%=rs("Ort")%><BR>
</TR>
<%
rs.MoveNext
Loop
%>
Hoppas ni ser ngn lösning.
Tack på förhand!
------------------
//Mav
bohlinMedlem sedan mars 2000263 inlägg ändra
<%=Request.form("frisok")
SQL = "SELECT * From Adresser"
rs.Open SQL, fritid
%>
till
<%
SQL = "SELECT * From Adresser WHERE kundnamn LIKE '%" & Request.form("frisok") & "%' OR ort LIKE '%" & Request.form("frisok") & "%'"
rs.Open SQL, fritid
%>
------------------
/bohlin
MavMedlem sedan juni 2000117 inlägg Gjorde som du sa men fick då istället följande felmedelande:
Microsoft OLE DB Provider for ODBC Drivers fel '80040e10'
[Microsoft][Drivrutin för ODBC Microsoft Access] För få parametrar angavs. 2 förväntades.
/fritidsok/fritid_sok_ok.asp, rad 16
Vad gör man för att lösa detta?
Tack på förhand!
------------------
//Mav