Hej! Hej ändra lite i din kod. Hej Jan! Om den ger detta så är något fel: det står bara SELECT * FROM bilddata Jag skulle tro att det är i IF satsen som felet ligger. tack för hjälpen...jo den går in i if-satsen. vad är artal av för fälttyp? nej jag har artal som Text...i Access...så det borde inte vara där felet ligger.... Den sida som skickar sökförfrågan ska skicka med Method=Post. jo den använder method=post, men sen använder den name=form och detta kan vara ett problem,....jag tror inte jag angett något sådant namn.. Skickar över filerna till dig så kan du i alla fall kolla på dom...Hitta specifika sökord...
Har problem med mitt lilla program som ska sortera ut det man söker på i databasen. När jag söker så kommer allt i databasen fram...vet inte vad det är för fel....har testa response.write sqjJunk:response.end och det verkar som den söker som den ska....
Nedan följer programmet....Skulle bli glad om nån kunde hjälpa mig!!
<html>
<head>
<title>Sökresultaten!</title>
</head>
<body>
<%
Dim SqlJunk
Set con = Server.CreateObject("ADODB.Connection")
con.Open "driver={Microsoft Access Driver (*.mdb)};DBQ=C:\inetpub\wwwroot\Bilddatabas\Bilddata.mdb"
SqlJunk = "SELECT * FROM bilddata"
If Request.Form("TypeSearch") = "Motiv" Then
SqlJunk = SqlJunk & " WHERE Motiv LIKE '%" & Request.Form("DaInBox") & "%'"
End If
If Request.Form("TypeSearch") = "Namn" Then
SqlJunk = SqlJunk & " WHERE Name LIKE '%" & Request.Form("DaInBox") & "%'"
End If
If Request.Form("TypeSearch") = "Artal" Then
SqlJunk = SqlJunk & " WHERE Artal LIKE '%" & Request.Form("DaInBox") & "%'"
End If
set rst=con.execute(sqlJunk)
%>
<% If rst.BOF and rst.EOF Then %>
<h2 align="center">Hittade tyvärr ingen träff!</h2>
<%Else%>
<%If Not rst.BOF Then%>
<h2>Här är resultaten på din sökning:</h2>
<table BORDER="5" width="100%" cellpadding="5">
<tr>
<th bgcolor="#800000"><font face="Arial" color="#FFFFFF">Motiv </font></th>
<th bgcolor="#800000"><font face="Arial" color="#FFFFFF">Namn </font></th>
<th bgcolor="#800000"><font face="Arial" color="#FFFFFF">Årtal </font></th>
<th bgcolor="#800000"><font face="Arial" color="#FFFFFF">Bild </font></th>
<%
Do While Not rst.EOF
%>
<tr>
<td><%=rst("Motiv")%>
<td><%=rst("Namn")%>
</td>
<td><%=rst("Artal")%>
</td>
<td> <a href="<%=rst("Bild")%>"><img border="0" width="150" height="90" src="<%=rst("Bild")%>"><a>
</td>
</tr>
<% rst.MoveNext
Loop
%>
</table>
<%End If%>
<%End If%>
<%
rst.Close
%>
</body>
</html>
Sedan finns själva programmet för designen oxå-- Hoppas på svar!Sv: Hitta specifika sökord...
Jag har markerat en kod som jag skulle vilja veta vad den ger, se längre ner.
<html>
<head>
<title>Sökresultaten!</title>
</head>
<body>
<%
Dim SqlJunk
Set con = Server.CreateObject("ADODB.Connection")
con.Open "driver={Microsoft Access Driver (*.mdb)};DBQ=C:\inetpub\wwwroot\Bilddatabas\Bilddata.mdb"
SqlJunk = "SELECT * FROM bilddata"
If Request.Form("TypeSearch") = "Motiv" Then
SqlJunk = SqlJunk & " WHERE Motiv LIKE '%" & Request.Form("DaInBox") & "%'"
Elseif Request.Form("TypeSearch") = "Namn" Then
SqlJunk = SqlJunk & " WHERE Name LIKE '%" & Request.Form("DaInBox") & "%'"
Elseif Request.Form("TypeSearch") = "Artal" Then
SqlJunk = SqlJunk & " WHERE Artal LIKE '%" & Request.Form("DaInBox") & "%'"
End If
Response.Write sqlJunk ' <==== Detta resultat
set rst=con.execute(sqlJunk)
If rst.BOF and rst.EOF Then
%>
<h2 align="center">Hittade tyvärr ingen träff!</h2>
<%Else%>
<%If Not rst.BOF Then%>
<h2>Här är resultaten på din sökning:</h2>
<table BORDER="5" width="100%" cellpadding="5">
<tr>
<th bgcolor="#800000"><font face="Arial" color="#FFFFFF">Motiv </font></th>
<th bgcolor="#800000"><font face="Arial" color="#FFFFFF">Namn </font></th>
<th bgcolor="#800000"><font face="Arial" color="#FFFFFF">Årtal </font></th>
<th bgcolor="#800000"><font face="Arial" color="#FFFFFF">Bild </font></th>
</tr>
<%
Do While Not rst.EOF
%>
<tr>
<td><%=rst("Motiv")%></td>
<td><%=rst("Namn")%></td>
<td><%=rst("Artal")%></td>
<td><a href="<%=rst("Bild")%>"><img border="0" width="150" height="90" src="<%=rst("Bild")%>"><a></td>
</tr>
<%
rst.MoveNext
Loop
%>
</table>
<%
End If
End If
rst.Close
%>
</body>
</html>Sv: Hitta specifika sökord...
Den ger SELECT * FROM bilddata...
Det ger fortfarande samma resultat dock...Sv: Hitta specifika sökord...
SELECT * FROM bilddata...
Hur ser det ut sedan, alltså hela sql-satsen inkl where m.m. ?
/JanneSv: Hitta specifika sökord...
sql satsen är väl den som står i programmet.... alltså
SqlJunk = "SELECT * FROM bilddata"
If Request.Form("TypeSearch") = "Motiv" Then
SqlJunk = SqlJunk & " WHERE Motiv LIKE '%" & Request.Form("DaInBox") & "%'"
Elseif Request.Form("TypeSearch") = "Namn" Then
SqlJunk = SqlJunk & " WHERE Name LIKE '%" & Request.Form("DaInBox") & "%'"
Elseif Request.Form("TypeSearch") = "Artal" Then
SqlJunk = SqlJunk & " WHERE Artal LIKE '%" & Request.Form("DaInBox") & "%'"
End If
Response.Write sqlJunk ' <==== Detta resultat
set rst=con.execute(sqlJunk)
Om du har icq eller liknande kan jag maila den andra filen oxå till dig...Skulle verkligen behöva lite hjälp.... Jag har icq 47280472.Sv: Hitta specifika sökord...
Testa med att lägga in ett ELSE som hämtar en post som du vet finns i tabellen.
SqlJunk = "SELECT * FROM bilddata"
If Request.Form("TypeSearch") = "Motiv" Then
SqlJunk = SqlJunk & " WHERE Motiv LIKE '%" & Request.Form("DaInBox") & "%'"
Elseif Request.Form("TypeSearch") = "Namn" Then
SqlJunk = SqlJunk & " WHERE Name LIKE '%" & Request.Form("DaInBox") & "%'"
Elseif Request.Form("TypeSearch") = "Artal" Then
SqlJunk = SqlJunk & " WHERE Artal LIKE '%" & Request.Form("DaInBox") & "%'"
<== min kod
ELSE
SqlJunk = SqlJunk & " WHERE Artal ='" & 1999 & "'"
==>
End If
Response.Write sqlJunk ' <== Detta resultat
set rst=con.execute(sqlJunk)
När du skriver ut din sql sats så borde det bli:
SELECT * FROM bilddata WHERE artal ='1999 '.
Då vet du om den har gått in i IF satsen eller inte.
Jag skulle också lägga in Request.Form i en variabel och titta på vad variabeln innehåller. Typ:
bilddata = TRIM(Request.From("TypeSearch"))
TRIM för att rensa bort eventuellt skräp som kan ha kommit med.
När du kör din IF sats så kollar du på vad bilddata innehåller.
IF bilddata = "Artal" THEN.....
Hoppas att du blev lite klokare. Anna-KarinSv: Hitta specifika sökord...
Det känns dock som att det är något som fattas, men jag vet inte vad det kan vara... den sa att den inte hittade några träffar när jag la till ELSE satsen. och sqlsatsen skrevs ut ...SELECT * FROM bilddata WHERE Artal ='1999' .. Har dock inte någon konkret lösning än, någon som har ett förslag...?Sv: Hitta specifika sökord...
Är fälttypen av typen Datum/Tid och db är Access så måste du använda brädgårdar i sql-frågan:
... WHERE Artal LIKE #%" & Request.Form("DaInBox") & "%#"
cya,
PatrikBSv: Hitta specifika sökord...
Sv: Hitta specifika sökord...
Stämmer detta?
Skicka gärna den sidans kod för jag tror att felet ligger och spökar där.
Använder inte ICQ med du får maila mig på jan@borsholm.se
/JanneSv: Hitta specifika sökord...
// Fredde