Avatar billede mhs Nybegynder
20. maj 2002 - 15:03 Der er 10 kommentarer

loop

Jeg har følgende problem:
Jeg henter oplysninger fra en tabel (link) og skriver dem ud med loop, nu vil jeg så gerne tjekke i en anden tabel (SubCategory) om der findes en post i "EkstraName", men så kan den ikke fortsætte med loop, da jeg nu er i en anden tabel, min kode, hvor jeg tjekker i link tabel ser sådan ud:

CatName = Request.QueryString("CatName")
   

StrConnection = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("database.mdb")
Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open strConnection        
       
StrQ = "SELECT CatName, SubName "
StrQ = StrQ & "FROM Link "
StrQ = StrQ & "WHERE CatName='" & CatName & "' "
StrQ = StrQ & "ORDER BY SubName "


Set objRS = Server.CreateObject("ADODB.Recordset")
Set objRS.ActiveConnection = objConn
ObjRs.Open StrQ

       
If Not ObjRS.EOF then
          Do until ObjRS.EOF

%> 
<b><a href="showsub.asp?CatName=<%=CatName%>&amp;SubName=<%=ObjRS("SubName")%>"><%=ObjRS("SubName")%></a></b><br>
<%

    ObjRS.movenext
          loop
End if
%>

mellem <%=ObjRS("SubName")%> og </a> vil jeg så have <%=ObjRS("ExtraName")%> hvis der findes nogen ekstra data fra den anden tabel, men ved ikke hvad jeg skal gøre
Avatar billede elkrog Nybegynder
20. maj 2002 - 15:07 #1
If Not ObjRS.EOF then
          Do until ObjRS.EOF

%> 
<b><a href="showsub.asp?CatName=<%=CatName%>&amp;SubName=<%=ObjRS("SubName")%>"><%=ObjRS("SubName")%> <%=ObjRS("ExtraName")%></a></b><br>
<%

    ObjRS.movenext
          loop
End if
Avatar billede askhoej Praktikant
20. maj 2002 - 15:07 #2
Du skal joine de to tabeller i din SELECT. Er der altid et ExtraName, kun til nogen af posterne eller kan hvert link 1..mange ExtraNames?
Avatar billede mhs Nybegynder
20. maj 2002 - 15:16 #3
Hvordan joiner jeg dem??
Avatar billede mhs Nybegynder
20. maj 2002 - 15:16 #4
Der er kun EkstraName til nogle af posterne
Avatar billede askhoej Praktikant
20. maj 2002 - 15:18 #5
kan du ikke lige skrive kolonnerne i de to tabeller?
Avatar billede mhs Nybegynder
20. maj 2002 - 15:20 #6
Link tabel:
CatName, SubName
SubCategory tabel:
SubName, EkstraName
Avatar billede askhoej Praktikant
20. maj 2002 - 15:25 #7
okay

SELECT l.CathName, l.SubName, sc.EkstraName
FROM Link l, SubCategory sc
WHERE LEFT JOIN l.SubName = sc.SubName

Er ikke så stærk i Access syntaks
Avatar billede mhs Nybegynder
20. maj 2002 - 15:32 #8
får nu fejlen:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl, fordi der mangler en operator. i forespørgselsudtrykket "link.CatName.......


har skrevet følgende:

CatName = Request.QueryString("CatName")

StrQ = "SELECT link.CatName, link.SubName, SubCategory.EkstraName "
StrQ = StrQ & "FROM Link, SubCategory "
StrQ = StrQ & "WHERE link.CatName='" & CatName & "' AND LEFT JOIN link.SubName = SubCategory.SubName"
StrQ = StrQ & "ORDER BY link.SubName "

jeg ved ikke om jeg har skrevet det rigtig
Avatar billede askhoej Praktikant
20. maj 2002 - 15:40 #9
Prøv:

SELECT link.CatName, link.SubName, SubCategory.EkstraName
FROM Link LEFT OUTER JOIN SubCategory.EkstraName ON link.SubName = SubCategory.SubName
WHERE link.CatName='" & CatName & "' ORDER BY link.SubName

Ellers kan du se eksempler på outer joins her:

http://office.microsoft.com/assistance/2002/articles/acCreateOuterJoin.aspx
Avatar billede mhs Nybegynder
20. maj 2002 - 15:56 #10
få fejlen:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i JOIN-handlingen.

Har skrevet:
StrQ = "SELECT link.CatName, link.SubName, SubCategory.SubName, SubCategory.EkstraName "
StrQ = StrQ & "FROM Link LEFT OUTER JOIN SubCategory.EkstraName ON link.SubName = SubCategory.SubName "
StrQ = StrQ & "WHERE link.CatName='" & CatName & "' "
StrQ = StrQ & "ORDER BY link.SubName "
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