Avatar billede fiskerendk Nybegynder
18. juni 2002 - 15:44 Der 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>&nbsp;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.

Er der mulighed for det??
Avatar billede md_craig Nybegynder
18. juni 2002 - 16:10 #1
Brug en Inner Join....

eks om 1 moment...
Avatar billede md_craig Nybegynder
18. juni 2002 - 16:14 #2
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") & "%';
Avatar billede md_craig Nybegynder
18. juni 2002 - 16:21 #3
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") & "%';
Avatar billede fiskerendk Nybegynder
19. juni 2002 - 01:57 #4
det virker ikke rigtigt den kommer med nogle underlige udfald måshe hvis du kunne komme med et script som er testet..
Avatar billede tmceu Praktikant
19. juni 2002 - 05:45 #5
Du kan bruge UNION

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).
Avatar billede md_craig Nybegynder
19. juni 2002 - 12:47 #6
Jo... jeg skal se hvad jeg lige hurtigt kan finde på... men ifølge SQL, så skulle det kunne gøres så simpelt... men jeg kigger lige nærmere...
Avatar billede md_craig Nybegynder
19. juni 2002 - 14:23 #7
Nej den går forresten ikke til det du skal bruge det til... men det er rigtigt at du kan bruge Union...
Avatar billede fiskerendk Nybegynder
19. juni 2002 - 16:03 #8
Mange tak tmceu... du for nu dine points hehe..! også en tak til dig md_craig selvom jeg ik kan gi dig points skal du alligevel ha en tak..!
Avatar billede tmceu Praktikant
19. juni 2002 - 18:34 #9
Det var så lidt :-)
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