Avatar billede amsy Nybegynder
08. december 2002 - 13:59 Der er 4 kommentarer

Hvordan laver jeg en JOIN mellem 3 tabeller

Jeg er ved at lave en hjemmeside, hvor jeg skal kunne trække oplysninger fra en Access-database. Det er planen, at man skal kunne logge sig på og derefter trække oplysninger fra 3 tabeller og til det skal jeg bruge en såkaldt JOIN. Jeg har prøvet mig frem, men kan ikke få det til at fungere. Jeg har kopieret noget tekst ind nedenfor for at det er nemmere at se evt. fejl.

Databasen hedder Database1.mdb og de 3 tabeller hedder Bruger, Funktion og Bruger_Funktion.

På forhånd tak

< script language="VBScript" >
< option explicit >
<%    
const adOpenForwardOnly=0
const adLockReadOnly=1
const adCmdText=1
dim ObjConn
Set ObjConn = server.Createobject("ADODB.Connection")
    ObjConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("Database1.mdb")
dim ObjRS
Set ObjRS = Server.CreateObject("ADODB.Recordset")
    strSql = "SELECT BrugerID, FunktionID, E-mail FROM Bruger, Funktion, Bruger_Funktion where BrugerID=1 and Bruger.BrugerID=Bruger_Funktion.BrugerID and Funktion.FunktionID=Bruger_Funktion.FunktionID ORDER BY BrugerID"
Set ObjRS.Activeconnection = ObjConn
    ObjRS.open (strSql), ObjConn, adOpenForwardOnly, adLockReadOnly, adCmdText
%>
Avatar billede neteffect Nybegynder
08. december 2002 - 14:13 #1
Prøv

strSql = "SELECT Bruger.BrugerID, Funktion.FunktionID, Bruger.[E-mail] FROM Bruger INNER JOIN (Funktion INNER JOIN Bruger_Funktion ON Funktion.FunktionID=Bruger_Funktion.FunktionID) ON Bruger.BrugerID=Bruger_Funktion.BrugerID  WHERE Bruger.BrugerID=1 ORDER BY Bruger.BrugerID"

"ORDER BY Bruger.BrugerID" er overflødig, hvis BrugerID altid skal være =1
Avatar billede burningice Nybegynder
08. december 2002 - 14:58 #2
det har INGENTING med asp at gøre... flyt dog spm over i access kategorien
Avatar billede amsy Nybegynder
08. december 2002 - 15:02 #3
Hej igen.
Jeg har prøvet at sætte ovenstående ind, men får en fejlmeddelelse der siger, at der er en syntaksfejl i JOIN-handlingen. Den henviser også til den sidste linie med ObjRS.open.............
Avatar billede neteffect Nybegynder
08. december 2002 - 15:09 #4
Jeg glemte at nævne i første omgang, at det nemmeste er at lave sin query med Access query design. Vælg så "View SQL" og snup SQL'en derfra.
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