Avatar billede binauhus Nybegynder
19. november 2003 - 23:32 Der er 10 kommentarer og
2 løsninger

Udtræk fra flere tabeller i Acc. Db

En lille hurtig nattræning for de lærte:

<%@ Language=VBScript %>
<%
Response.Buffer = True

'Åbner forbindelse til databsen
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../sp.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
sql = "select * from Udlejning order by Id"
rs.Open sql, conn, 1, 3
%>
<html>
<head>
    <STYLE>BODY {
    SCROLLBAR-FACE-COLOR:#000000; SCROLLBAR-HIGHLIGHT-COLOR:#000000; SCROLLBAR-SHADOW-COLOR: #FFFFFF; SCROLLBAR-3DLIGHT-COLOR:#FFFFFF ; SCROLLBAR-ARROW-COLOR: #FFFFFF; SCROLLBAR-TRACK-COLOR:#000000; SCROLLBAR-DARKSHADOW-COLOR:#000000}
    </STYLE>
    <script language="javascript">
<!--
var prev;
prev = '0';

function ShowHide(id) {
    if ( prev == '0' ) {
        prev = id;
    }
    if (( prev != '0' ) && ( prev != id )) {
        document.all(prev).style.display = 'none';
        document.images['i'+prev].src = 'plus.gif';
        prev = id;
    }

    if ( document.all(id).style.display == 'none' ) {
        document.all(id).style.display = '';
        document.images['i'+id].src = 'minus.gif';
    } else {
        document.all(id).style.display = 'none';
        document.images['i'+id].src = 'plus.gif';
    }
}
-->
</script>
    </head>
<body>
<div align="left">

       
        <table style="color: #FFFFFF; font-size:7pt; font-family:Verdana,Tahoma,sans-serif" style="border-collapse:collapse" border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="420" id="AutoNumber2" height="200">
   
  <tr>
    <td><b>Under konstruktion</b><br>
    Der arbejdes på sagen.<br><br>
   
    <%
        DO WHILE NOT RS.EOF
        %>
   
    <div align="left">
  <table style="color: #FFFFFF; font-size:7pt; font-family:Verdana,Tahoma,sans-serif" border="0" cellspacing="0" style="border-collapse: collapse" width="400" cellpadding="0" height="20">
    <tr>
      <td onclick="java script:ShowHide('<%=rs("Id")%>');" style="cursor: hand; width="100%" height="15"><img src="plus.gif" border="0" align="bottom" id="i<%=rs("Id")%>" width="9" height="9">&nbsp;&nbsp;<%=rs("Udlejning")%></td>
    </tr>
    <tr>
      <td width="100%" height="12">
      <table style="color: #FFFFFF; font-size:7pt; font-family:Verdana,Tahoma,sans-serif" style="display: none;" id="<%=rs("Id")%>" border="0" cellspacing="0" style="border-collapse: collapse" width="400" cellpadding="0" height="5">
        <tr>
          <td width="100%"><%=rs("Udlejning")%> og mere <%=rs("Udlejning")%></td>
        </tr>
      </table>
      </td>
    </tr>
  </table>
</div>
<br>
<%
        rs.MoveNext
        LOOP
        rs.MoveFirst
        nummer = 0
        %>
  </tr>
     
</table>


</div>
<%
rs.Close
Set rs = Nothing
Set Con = Nothing
%>

Hvordan gør jeg så den inde mit i tabellen henter noget fra en anden tabel i min db ?
Altså der hvor der står: <%=rs("Udlejning")%> og mere <%=rs("Udlejning")%> skal der i stedet være udtræk fra en tabel der hedder "Lys"

//Binauhus
Avatar billede thb Nybegynder
19. november 2003 - 23:43 #1
Du laver bare en ny sql query..

SQL = "select * from lys"
set rs2 = conn.Execute(SQL)

Thomas
Avatar billede binauhus Nybegynder
19. november 2003 - 23:45 #2
Okay. Men kan jeg ikke få dig til at passe koden til og forklare mig hvor den skal sparkes ind i dokumentet ?

//BinauHus
Avatar billede thesurfer Nybegynder
19. november 2003 - 23:48 #3
Der er en bedre og mere officiel måde.. med INNER JOIN..
se http://www.eksperten.dk/spm/375347

Eller en søgning er her på Eksperten.dk:
http://www.eksperten.dk/kat/3/?searchtype=txt&words=2+tabeller&method=and&sort=score&catid=3
Avatar billede thesurfer Nybegynder
19. november 2003 - 23:50 #4
Elle sæt dem begge i samme SQL streng med UNION:
http://www.eksperten.dk/spm/238075
Avatar billede thesurfer Nybegynder
19. november 2003 - 23:52 #5
I spm 238075 ville spørgen have disse 2 SQL strenge sat sammen:

"SELECT * FROM incomming WHERE mailReciver = '" & Session("Brugernavn") & "' AND mailDeleted = TRUE"
og
"SELECT * FROM outgoing WHERE mailSender = '" & Session("BrugerIsOK") & "' AND mailDeleted = TRUE"

Løsningen:
strSQL = "SELECT * FROM incomming WHERE mailReciver = '" & Session("BrugerIsOK") & "' AND mailDeleted = TRUE UNION SELECT * FROM outgoing WHERE mailSender = '" & Session("BrugerIsOK") & "' AND mailDeleted = TRUE

Læg mærke til UNION.
Avatar billede thb Nybegynder
19. november 2003 - 23:52 #6
Hvad er det du skal hente i tabellen lys.. Det har vel noget at gøre med et id fra rs, ik ??

En anden ting er at der ikke behøver at stå rs.movefirst i slutningen, hvis det skal stå der så skal du sætte det ind over din do()..

Din sql query sættes ind der hvor du gerne vil have den.. Du kan sætte den ind i toppen, men hvis den skal bruge noget fra den do while du kører, så skal den jo være inde i den..

Forstår du ?? :)

Thomas
Avatar billede binauhus Nybegynder
21. november 2003 - 00:05 #7
Okay, tror bare jeg står i en situation hvor jeg ikke kan bruge det sådan lige.
Har nemlig noget fra en tabel den skal udskrive på en side, som ovenfor. Hver af de ting den skriver ud skal der være et link til noget i en anden tabel.

Ved ikke helt hvordan jeg skal få det til at fungere... ?

hvis vi siger:

Udstyr
ID      Ting
-------------
1        Lys
2        Lyd


Lyd
ID      Ting
-------------
1        Microfoner
2        Højtalere


Lys
ID      Ting
-------------
1        Lamper
2        Movingheads


Hvordan laver jeg så at den skal skrive ud fra Udstyr og når den udskriver
Lyd. og ved tryk på det viser den alt inde fra tabellen Lyd ?

Det med at de skal vise det hele på samme side har jeg fundet ud af men hvordan får jeg den til at se at den skal hente fra tabellen Lyd når den udskriver lyd fra Udstyr ???

Hvordan med al den kode ???

Skal nok smide flere point oven i !!!

//BinauHus
Avatar billede thb Nybegynder
21. november 2003 - 00:47 #8
<%
sl = request.querystring("sl")
select case sl
  case "" ' Her kommer der udstyr
  Response.write "Udstyr"
  SQL = "select * from udstyr"
  set s = conn.Execute(SQL)

  if not s.eof then

  end if
end select
%>
Avatar billede thb Nybegynder
21. november 2003 - 00:47 #9
ups kom til at trykke enter.. øjeblik.. :)
Avatar billede thb Nybegynder
21. november 2003 - 00:53 #10
Lavede lige lidt om....

<%
    sl = request.querystring("sl")

    if sl = "" then
        response.write "Hej tryk <aa href='?sl=udstyr'>her</a> for at se mit udstyr"
    else
        Response.write sl
   
          SQL = "select * from " & sl
          set s = conn.Execute(SQL)
   
          if not s.eof then
            s.movefirst
            Do while not s.eof
                response.write "<a href='?sl=" & lcas(s("ting")) & "'>" & s("ting") & "</a><br>"
            s.movenext
            Loop
          end if
         
    end if

%>

God nat..

Thomas
Avatar billede thb Nybegynder
21. november 2003 - 00:55 #11
lcas(s("ting")) skal være lcase(s("ting")) eller den behøves måske.. :)
Avatar billede thesurfer Nybegynder
18. december 2003 - 04:49 #12
Dette spørgsmål mangler input.
Det kan f.eks. være at spørgeren mangler at acceptere/afvise svar/komme med feedback, eller af en svarer mangler at lægge et svar/komme med feedback.
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