Avatar billede wilweb Nybegynder
14. oktober 2003 - 23:11 Der er 21 kommentarer og
1 løsning

Flet udtræk fra 2 tabeller

I mit bookingsystem har jeg 2 tabeller i min database

Tabel1 en der indeholder en række 'strKlokken' som er døgnets 24 timer
0000
0030
0100
0130
..
...
...osv til
2330

tabel2 der indeholder de tidspunkter ('strTid') hvor der er en bruger der har reserveret en tid Fx.
0100
0500
0930
osv... til der ikke er flere reservationer


Nu kunne jeg godt tænke mig at udskrive alle døgnets 24 timer:

Den er let nok!

strSQL = "Select * From tabel1"
Set rs = Conn.Execute(strSQL)
Do While Not rs.EOF
  Response.write "<tr><td>" & rs("strKlokken") & "</td></tr>"
  rs.MoveNext
Loop

Den skriver alle tiderne i en lang række,

men hvordan får jeg flettet de to tabeller sammen så, at hver gang der er en reseveret tid fra tabel2 så skrives den ud foran det rigtig tidspunkt fra tabel1.

noget a la dette her:

  Response.write "<tr><td>" & rs("strKlokken") & "</td><td>" & tabel2.strTid & "</td></tr>"

Håber det er til at forstå?
:>Gizom
Avatar billede nmh Nybegynder
14. oktober 2003 - 23:21 #1
Du kan bruge metoden
RSarray = oRS.GetRows()
Se mere her:
http://lists.evolt.org/archive/Week-of-Mon-20020408/109442.html

http://www.aspfaqs.com/aspfaqs/ShowFAQ.asp?FAQID=161

Så får du dine data samlet i to arrays, og så er det forholdsvis letnat flette de to tabeller sammen.
Avatar billede thomas_yde Nybegynder
14. oktober 2003 - 23:28 #2
strSQL = "Select * from tabel1 inner join tabel2 on tabel1.strKlokken = tabel2.strTid"

Nu har jeg ikke prøvet den men prøv og se hvad den siger til det.
Avatar billede wilweb Nybegynder
14. oktober 2003 - 23:29 #3
Ups! det er vist over min fatte evne!
Du har ikke et dansk eksempel på det?
Avatar billede wilweb Nybegynder
14. oktober 2003 - 23:30 #4
thomas_yde:> OK jeg prøver lige
Avatar billede wilweb Nybegynder
14. oktober 2003 - 23:47 #5
Ville man sp udskrive dem sådanne?

    Do While Not rs.EOF
    Response.write "<tr><td>" & rs("tabel1.strKlokken") & "</td><td>" & rs("tabel2.strTid") & "</td></tr>"
    rs.MoveNext
    Loop
Avatar billede wilweb Nybegynder
14. oktober 2003 - 23:49 #6
JEg får fejl:

Elementet kan ikke findes i den samling, der svarer til det anmodede navn eller ordenstal.
/booking/_dagoversigt.asp, line 34

34 =  Response.write "<tr><td>" & rs("tabel1.strKlokken") & "</td><td>" & rs("tabel2.strTid") & "</td></tr>"
Avatar billede wilweb Nybegynder
14. oktober 2003 - 23:55 #7
Nå men slut for i aften, håber på lidt mere i morgen.
Sov godt!
Avatar billede thomas_yde Nybegynder
15. oktober 2003 - 09:21 #8
Hej gizom, nej du ville bare kunne skrive:
Response.write "<tr><td>" & rs("strKlokken") & "</td><td>" & tabel2.strTid & "</td></tr>"
Avatar billede wilweb Nybegynder
15. oktober 2003 - 23:32 #9
Der virker til dels, der udskriver to tidspunkter, nemlig de 2 tider hvor der ligger en tidsbestilling. Jeg ville dog gerne have at den udskrev hele dagen også selv om der kun er 2 er bestillinger.
Fx.
0800
0830 - bestilt
0900
0930 - bestilt
1000
1030
osv...

Er det ikke muligt?
Avatar billede thomas_yde Nybegynder
16. oktober 2003 - 08:03 #10
Jo det er muligt jeg skal bare lige grave sql'en frem igen.
strSQL = "Select * from tabel1 Left Outer join tabel2 on tabel2.strTid = tabel2.strKlokken"
Avatar billede thomas_yde Nybegynder
16. oktober 2003 - 08:04 #11
hov den var forkert
strSQL = "Select * from tabel1 Left Outer join tabel2 on tabel1.strKlokken = tabel2.strTid"
Avatar billede wilweb Nybegynder
16. oktober 2003 - 17:34 #12
thomas_yde:> jeg må være halv dum for jeg kan ikke få det til at virke.

Betyder det noget at det er en access databasè?
Avatar billede thomas_yde Nybegynder
16. oktober 2003 - 18:21 #13
hehe ja. Det gør det for jeg ved ikke om den join findes, selvom den burde.
Bare mig der antager det forkerte. Prøver lige at fixe det.
Avatar billede thomas_yde Nybegynder
16. oktober 2003 - 18:31 #14
Hvilken Access bruger du?
Avatar billede wilweb Nybegynder
16. oktober 2003 - 18:37 #15
Access 2000
Avatar billede thomas_yde Nybegynder
16. oktober 2003 - 19:46 #16
SELECT * FROM tabel1 LEFT JOIN tabel2 ON tabel2.strTid=tabel1.strKlokken;

Response.write "<tr><td>" & rs("strKlokken") & "</td><td>" & rs("strTid") & "</td></tr>"
Avatar billede wilweb Nybegynder
16. oktober 2003 - 20:01 #17
jeg er på den med det samme!
Avatar billede wilweb Nybegynder
16. oktober 2003 - 20:07 #18
Æv!

Fejltype:
Microsoft JET Database Engine (0x80040E14)
Der er en syntaksfejl i JOIN-handlingen.
/booking/_dagoversigt.asp, line 15

15 = Set rs = Conn.Execute(strSQL)
Avatar billede wilweb Nybegynder
16. oktober 2003 - 20:10 #19
næ nu kommer der en anden fejl:

Fejltype:
Der opstod en Microsoft VBScript-kørselsfejl (0x800A01A8)
Et objekt er obligatorisk: ''
/booking/_dagoversigt.asp, line 35   

35=Do While Not rs.EOF

Do While Not rs.EOF
Response.write "<tr><td>" & rs("strKlokken") & "</td><td>" & rs("strTid") & "</td></tr>"
rs.MoveNext
Loop
Avatar billede wilweb Nybegynder
16. oktober 2003 - 20:12 #20
thomas_yde:> du er for hård!!! den er der
Smid et svar du fortjener lidt point....
Avatar billede thomas_yde Nybegynder
16. oktober 2003 - 22:31 #21
et svar :)
Avatar billede wilweb Nybegynder
16. oktober 2003 - 22:40 #22
takker for hjælpen:>
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