Avatar billede pxa Nybegynder
07. april 2001 - 18:38 Der er 7 kommentarer og
1 løsning

søge i flere tabeller i en access database

Hvordan søger jeg i flere tabeller i en access database fra en html form.
Avatar billede netsrac Praktikant
07. april 2001 - 18:40 #1
select tabel1.feltnavn, tabel2.feltnavn from tabel1, tabel2
Avatar billede pxa Nybegynder
07. april 2001 - 18:42 #2
Det har jeg prøvet.
Det virker ikke.
Avatar billede netsrac Praktikant
07. april 2001 - 18:44 #3
Så gør du det forkert for det skal virke, lad mig se noget kode...
Avatar billede pxa Nybegynder
07. april 2001 - 18:49 #4
<%
\' Henter værdien fra soeg.htm
strKeyword = Trim(Request.Form(\"Keyword\"))

strTabel = Trim(Request.Form(\"Tabel\"))


Hvis der er skrevet i feltet
    strKeyword = Replace(strKeyword,\"\'\",\"\'\'\")

strSQL = \"SELECT scenarier.Titel, benchmarking.Titel FROM scenarier, benchmarking WHERE (scenarier.Titel LIKE \'%\" & strKeyword & \"%\') OR (benchmarking.Titel LIKE \'%\" & strKeyword & \"%\')\"


\' Skaber DSNLess forbindelse til DBen
strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"fagbibliotek.mdb\")
Set myConn = Server.CreateObject(\"ADODB.Connection\")
myConn.Open strDSN

\' Skaber et recordset udfra SQL strengen
Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then
    \' Hvis der er fundet poster på søgningen
    Response.Write \"<p>Søgeresultat</p>\"
   
    Response.Write \"<div align=left><table border=0 width=590 cellpadding=5 cellspacing=5>\"
    Response.Write \"<tr><td><b>Titel</b></td><td><b>Navn</b></td><td><b>Beskrivelse</b></td></tr></b>\"
    Do While Not rs.EOF
        Response.Write \"<tr><td valign=top>\" & rs(\"Titel\") & \"</td>\"

        rs.MoveNext
    Loop
    Response.Write \"</table></div>\"

Else
    \' Hvis der ikke er fundet poster på søgningen
    Response.Write \"<p>Der er ikke fundet noget på denne søgning</p>\"
End If

\' Rydder op efter os
myConn.Close
Set myConn = Nothing
%>
Avatar billede netsrac Praktikant
07. april 2001 - 22:43 #5
Får du nogen fejl eller ?
Avatar billede pxa Nybegynder
08. april 2001 - 10:33 #6
Nej jeg får ingen fejl, men den henter bare ikke noget fra den den første tabel.
Tilgengæld så skriver den flere gange det den finder i den anden tabel
Avatar billede proaccess Nybegynder
08. april 2001 - 10:44 #7
Du skal bruge UNION...

strSQL = \"SELECT Titel FROM scenarier WHERE Titel LIKE \'%\" & strKeyword & \"%\') UNION SELECT Titel FROM benchmarking WHERE Titel LIKE \'%\" & strKeyword & \"%\')\"

i stedet for din nuværende:
strSQL = \"SELECT scenarier.Titel, benchmarking.Titel FROM scenarier, benchmarking WHERE (scenarier.Titel LIKE \'%\" & strKeyword & \"%\') OR (benchmarking.Titel LIKE \'%\" & strKeyword & \"%\')\"

SÅ SKULLE DEN VÆRE DÉR


Avatar billede pxa Nybegynder
08. april 2001 - 11:15 #8
UNION virkede.
Tak for det.
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