Avatar billede jakobscafe Nybegynder
22. september 2004 - 21:26 Der er 10 kommentarer og
1 løsning

ASP/Access - data fra 3 (2) tabeller

Dav. Jeg bruger Dreamweaver og ASP /Access til følgende:
3 tabeller: afdeling, lejlighed og foto
Afdeling=navn+adresse+et billede-id
Lejlighed = antal pr afdeling, type (1, 2, 3 værelser), størrelse
Foto = et ID, en billedesti,x+y koordinater
Det er muligt at søge på typen (f.eks. 2 værelser) og få en liste over de afdelinger hvor det findes
Nu vil jeg jo gerne vise et lille billede af afdelingen, og vil derfor på en smartmåde slå billede-ID (f.eks 11) op i foto-tabellen, og vise billede 11 (f.eks), for hver række som svarer til typen. (billedet er naturligvis forskelligt for hver afdeling)
Hvordan gør jeg det smartest?
Avatar billede oskar Nybegynder
22. september 2004 - 21:29 #1
Så må det smarteste være at lave en forespørgsel der indeholder det du skal bruge og så lave dine opslag i den.
Avatar billede jakobscafe Nybegynder
22. september 2004 - 21:34 #2
men det bliver da noget af en select - fra tre tabeller?
Er det den eneste / bedste måde?
man kan ikke bruge 2 recordset til noget?
Avatar billede oskar Nybegynder
22. september 2004 - 21:39 #3
Jeg tænkte nu mere på at lave forespørgslen direkte i Access, men du har måske ikke adgang til selve databasen.
Avatar billede jakobscafe Nybegynder
22. september 2004 - 21:41 #4
jo, .mdb filen har jeg adgang til.
Avatar billede oskar Nybegynder
22. september 2004 - 21:51 #5
Hvad skulle fordel være ved at bruge 2 recordset? Hvis de har samme ID er det vel helle ikke noget stort problem.
Avatar billede eagleeye Praktikant
22. september 2004 - 22:04 #6
Hvordan er Afdeling og Lejlighed linket?
Det kan laves med Join i stil med dette:

sql = "select Lejlighed .* from (Lejlighed left join Afdeling on Lejlighed.afdelingsID=Afdeling.id) left join Foto on Afdeling.fotoID=foto.id where Lejlighed.type = 2"
Avatar billede jakobscafe Nybegynder
22. september 2004 - 22:12 #7
i Access findes en relation fra lejlighed.afdnr til afdeling.afdnr
Selecten er sådan:

SELECT l.afdnr, l.lejlighedstype, l.m2, l.husleje, a.navn, a.afdnr, a.foto FROM lejlighed as l, afdeling as a  WHERE (l.afdnr=a.afdnr)

Prøver lige med LEFT JOIN foto...
Avatar billede jakobscafe Nybegynder
22. september 2004 - 22:25 #8
hmm - hvorfor virker dette:
SELECT l.afdnr, l.lejlighedstype, l.m2, l.husleje, a.navn, a.afdnr, a.foto, f.id, f.billedenavn FROM lejlighed as l, afdeling as a, foto as f WHERE (l.afdnr=a.afdnr) AND (a.foto=f.id)
Her er ingen joins, men det virker alligevel? Og i Access er der ikke defineret nogen relationer mellem afdeling og foto?
Avatar billede eagleeye Praktikant
22. september 2004 - 22:30 #9
Ja det virker på samme måde, det du laver er også en JOIN det er bare INNER JOIN og du skriver din JOIN betingelse med  (a.foto=f.id) det er det samme som on Afdeling.fotoID=foto.id

Så det kan du godt bruge.
Avatar billede jakobscafe Nybegynder
22. september 2004 - 22:43 #10
eagleeye, du bragte mig på sporet og fortjener derfor Los Pointos, så send et svar
(c:
Avatar billede eagleeye Praktikant
22. september 2004 - 22:45 #11
Ok :)
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