Avatar billede pfp Nybegynder
21. februar 2003 - 17:16 Der er 5 kommentarer og
1 løsning

Relationer og hvordan laver jeg udtrækket?

Hej,

Jeg har en Access database med to tabeller: Menupunkter og Sider.

De indeholder følgende felter.

Menupunkter:
- MenuID (autonr)
- Menupunkt

Sider:
- Titel
- Tekst
- Parent (tal)

Jeg vil nu gerne trække alle overordnede menupunkter ud og under hvert af disse menupunkter titlen på den side hvor Parent = MenuID.

Er der nogen der kan hjælpe mig lidt med hvilke relationer jeg oprette og hvordan jeg laver et dynamisk udtræk?

På forhånd tak.

Venligst,
Peter F. Poulsen
Avatar billede eagleeye Praktikant
21. februar 2003 - 17:21 #1
Du kan udtrække det i stil med:

SQL = "SELECT Menupunkter.Menupunkt, Sider.Titel "
SQL = SQL & "FROM Menupunkter LEFT JOIN Sider ON Menupunkter.id = Sider.Parent;"
Avatar billede eagleeye Praktikant
21. februar 2003 - 17:23 #2
Vil du havde en liste som denne:

menuID1
-side 1
-side 2
-side 3
menuID2
menuID3
-side 1
-side 2

osv.?
Avatar billede pfp Nybegynder
21. februar 2003 - 17:24 #3
Wov, det ser interessant ud?

Hvordan laver jeg så selve udtrækket?

Det glæder jeg mig til at prøve.
Avatar billede pfp Nybegynder
21. februar 2003 - 17:24 #4
Ja eagle præcis som den liste
Avatar billede eagleeye Praktikant
21. februar 2003 - 17:32 #5
Prøv med dette eks:

<html>
<head></head>
<body>
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db1.mdb")
set rs = Server.CreateObject("ADODB.Recordset")

SQL = "SELECT Menupunkter.Menupunkt, Sider.Titel "
SQL = SQL & "FROM Menupunkter LEFT JOIN Sider ON Menupunkter.id = Sider.Parent;"

Set rs = Conn.Execute(SQL)

sidsteMenu = ""
do while NOT rs.EOF
  if sidsteMenu <> rs("Menupunkt") then
    sidsteMenu = rs("Menupunkt")
   
    'Udskriv menu / Linket her:
    Response.Write rs("Menupunkt") & "<br>" 
       
  end if
 
  'Tjek om der er en undermenu/link
  if isNull(rs("Titel")) = false then
    'Udskriv en Titel/ Under Link her
   
    Response.Write " - " & rs("Titel") & "<br>"
  end if
   
  rs.MoveNext 
loop

rs.Close
Set rs = Nothing
Conn.Close
Set Conn = Nothing
%>
</body>
</html>
Avatar billede pfp Nybegynder
21. februar 2003 - 17:40 #6
Du er en GUD eagleeye!

Tak for hjælpen!

Venligst,
Peter
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