18. juni 2002 - 15:44Der er
8 kommentarer og 1 løsning
Søgnign i flere tabeller i en Access DB!
Hej
Nogen der ved en konkret ting til at kunne få en søge funktion til at søge i flere tabeller i en Access Database
selve det script jeg bruger ser sådan ud:
<% If Request.Form("soeg") <> "" then Set DB = Server.CreateObject("ADODB.Connection") DBSti = "DBQ=" & Server.Mappath("db.mdb") DB.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBSti SQL = "select * from Produkt1 where name like '%" & Request.Form("soeg") & "%' or name like '%" & Request.Form("soeg") & "%'" Set rs = db.Execute (SQL) If not rs.eof then
Response.Write "" Do until rs.eof name = rs("name") backup = rs("backup") Response.Write "<TR><td colspan=2 width=*><tt>" & name & "</tt></td><td colspan=2 width=110><tt>" & backup & "</td></tr>" rs.movenext Loop Response.Write "" Else Response.Write "<font face=arial size=2><b> No Result Found! Try again!</b></font>" End if End if %>
Jeg vil gerne ha den til at søge i både "Produkt1" og "Produkt2" osv.
Med version 7 af TeamShare tager Lector næste skridt og bygger en platform for AI-agenter, der i højere grad kan følge medarbejderen gennem hele arbejdsprocessen.
Nej da... du skal jo ikke sætte noget lig hinanden i tabellerne vel eller hvad... hvis ikke
SELECT Table1.Name, Table2.Name FROM Table1, Table2 WHERE Table1.Name LIKE '%" & Request.Form("soeg") & "%' OR WHERE Table2.Name LIKE '%" & Request.Form("soeg") & "%';
SELECT Produkt1.Name, Produkt1.Beskrivelse, Produkt2.Name, Produkt2.Beskrivelse FROM Produkt1, Produkt2 WHERE Produkt1.Name LIKE '%" & Request.Form("soeg") & "%' OR Produkt2.Name LIKE '%" & Request.Form("soeg") & "%';
kunne være et eksempel... eller:
SELECT Produkt1.Name, Produkt1.Beskrivelse, Produkt2.Name, Produkt2.Beskrivelse FROM Produkt1, Produkt2 WHERE Produkt1.Name LIKE '%" & Request.Form("soeg") & "%' OR Produkt1.Beskrivelse LIKE '%" & Request.Form("soeg") & "%' OR Produkt2.Name LIKE '%" & Request.Form("soeg") & "%' OR Produkt2.Beskrivelse LIKE '%" & Request.Form("soeg") & "%';
SQL = "select *, 'produkt1' as TabelNavn from Produkt1 where name like '%" & Request.Form("soeg") & "%' or name like '%" & Request.Form("soeg") & "%'"
SQL = SQL & vbCrLf & "UNION" & vbCrLf
SQL = SQL & "select *, 'produkt2' as TabelNavn from Produkt2 where name like '%" & Request.Form("soeg") & "%' or name like '%" & Request.Form("soeg") & "%'"
Dette vil give dig et samlet recordset, med et ekstra felt "Tabelnavn" der fortæller fra hvilken tabel resultatet kommer.
Ønsker du ikke at kunne se fra hvilken tabel resultatet kommer, kan du fjerne det ekstra felt efter * ('produkt1' as TabelNavn).
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.