Har en sökmotor som skall söka i en datbas med 9 olika tabeller som refererar till olika sidor. Jag vill att sökningen ska gå att göra i alla tabeller och inte bara en (En kategori, mapp). Dock får jag felmeddelande att det blir multiple..... Testa något sånt här: Gör en ny sökning</p> Tack för svaret! Nu är det emellertid så att min första tabell heter bara bilddata (alltså inte bilddata1)...så 1 to .. tar ju inte med min första tabell. Hur löser jag det? Och var mer krångligare är är att tabellerna går i ordningen bilddata, bilddata1, bilddata3, osv....(fråga inte varför, det har bara blivit så!)...om du finns en lösning vore jag tacksam så jag slipper gå in och ändra i koden överallt..... Ha har du rvå lösningar på problemet. Tycker du borde kunnat löst dem själv. Ett mycket enkelt problem... ..kanske borde fixa det, men just nu så går det inte....Jag får fortfarande felmeddelandet att den inte kan hitta bilddata2. Bilddata2 finns ju inte heller, så jag vill att den ska hoppa från bilddata1 till bilddata3 och sedan bilddata4 och vidare upp till bilddata9. Detta löser nog dina problem... ändra <th> till <td> annars kommer det aldrig att gå väl!Problem med databaser i en sökning....
Här är min kod:
<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\Sokmotor\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 Namn LIKE '%" & Request.Form("DaInBox") & "%'"
Elseif 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 inga träffar!</h2>
<p>Gör en ny sökning</p>
<%Else%>
<%If Not rst.BOF Then%>
<b> Här är resultaten på din sökning! </b>
<hr noshade size="1">
<table BORDER="5" width="100%" cellpadding="5">
<tr>
<th ><font face="Arial" color="#FFFFFF">Motiv </font></th>
<th ><font face="Arial" color="#FFFFFF">Namn </font></th>
<th ><font face="Arial" color="#FFFFFF">Årtal </font></th>
<th ><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>
<p>Gör en ny sökning</p>
<p>Till startsidan</p>
<%
End If
End If
rst.Close
%>
</body>
</html>
</td>
</tr>
</table>
</div>
</body>
</html>
SELECT FROM bilddata är en tabell.......Sen har jag bilddata1, 2 osv....
och jag vill att det ska gå att söka i dom med en enda sökning. Hittils kan jag söka i specifik tabell (bilddata, bilddata1, osv) men vill alltså kunna söka i alla. Nån som har en idé?
// FreddeSv: Problem med databaser i en sökning....
<html>
<head>
<title>Sökresultaten!</title>
</head>
<body>
<%
Dim con
Dim rst
Dim fldMotiv
Dim fldNamn
Dim fldArtal
Dim fldBild
Dim strSQL
Dim strWHERE
Dim Index
Dim Found
Set con = Server.CreateObject("ADODB.Connection")
con.Open "driver={Microsoft Access Driver (*.mdb)};" & _
"DBQ=C:\inetpub\wwwroot\Sokmotor\Bilddata.mdb"
Select Case Request.Form("TypeSearch")
Case "Motiv"
strWHERE = "WHERE Motiv LIKE '%" & Request.Form("DaInBox") & "%'"
Case "Namn"
strWHERE = "WHERE Namn LIKE '%" & Request.Form("DaInBox") & "%'"
Case "Artal"
strWHERE = "WHERE Artal LIKE '%" & Request.Form("DaInBox") & "%'"
End Select
For Index = 1 To 5
strSQL = "SELECT *" & vbCrLf & _
"FROM bilddata" & Index & vbCrLf & _
strWHERE
set rst = con.execute(strSQL)
If Not rst.EOF Then
If Not Found Then
%>
Här är resultaten på din sökning!
<hr noshade size="1">
<table BORDER="5" width="100%" cellpadding="5">
<tr>
<th ><font face="Arial" color="#FFFFFF">Motiv </font></th>
<th ><font face="Arial" color="#FFFFFF">Namn </font></th>
<th ><font face="Arial" color="#FFFFFF">Årtal </font></th>
<th ><font face="Arial" color="#FFFFFF">Bild </font></th>
</tr>
<%
Found = True
End If
Set fldMotiv = rst("Motiv")
Set fldNamn = rst("Namn")
Set fldArtal = rst("Artal")
Set fldBild = rst("Bild")
Do Until rst.EOF%>
<tr>
<td> <%=fldMotiv%></td>
<td> <%=fldNamn%></td>
<td> <%=fldArtal%></td>
<td>
<%
rst.MoveNext
Loop
End If
rst.Close
Next
If Found Then
%>
<%
Else
%>Hittade tyvärr inga träffar!
<%
End IF
%>
<p>Till startsidan</p>
</body>
</html>Sv: Problem med databaser i en sökning....
//Fredde Sv: Problem med databaser i en sökning....
strSQL = "SELECT *" & vbCrLf & _
"FROM bilddata & vbCrLf & _
strWHERE
For Index = 1 To 5+1
'Kod i For Loop
strSQL = "SELECT *" & vbCrLf & _
"FROM bilddata" & Index & vbCrLf & _
strWHERE
Next
Aternativt:
For Index = 0 To 5
If Index > 0 Then
strSQL = "SELECT *" & vbCrLf & _
"FROM bilddata" & Index & vbCrLf & _
strWHERE
Else
strSQL = "SELECT *" & vbCrLf & _
"FROM bilddata & vbCrLf & _
strWHERE
End If
'Kod i For Loop
NextSv: Problem med databaser i en sökning....
bilddata ska oxå vara med!Sv: Problem med databaser i en sökning....
Dim Tables
Tables = Array("bilddata", "bilddata1", "bilddata3", "bilddata4", "bilddata5", "bilddata6", "bilddata7", "bilddata8", "bilddata9")
For Index = LBound(Tables) To UBound(Tables)
strSQL = "SELECT *" & vbCrLf & _
"FROM " & Tables(Index) & vbCrLf & _
strWHERE
'Kod i For Loop
Next
/Puss & Kram, Andreas HillqvistSv: Problem med databaser i en sökning....