Avatar billede gimle007 Praktikant
21. februar 2008 - 12:59 Der er 3 kommentarer og
1 løsning

Hjælp til forståelse af access DB

Jeg har en access db, som skal bruges til at vises på www side...

Selve DB er bygget op af 2 tabeller hvor den ene ser sådan ud.

ID, Navn1, Navn2, Navn3, Navn4, Nummer
1, 2, 4, 1, 3, nr100
2, 3, 4, 1, 2, nr200
3, 1, 3, 2, 1, nr300

Og den anden hvor den så skal hente værdierne fra felterne Navn1, Navn2, Navn3, Navn4

Den anden tabel ser sådan ud.
ID, Navn
1, Peter
2, Benjamin
3, Troels
4, John Doo

Jeg skal så lave en forespørgsel hvor alle tallene i den første tabel er byttet ud med navnen i tabel 2.

Eks. på det udtræk jeg skal bruge.

ID, Navn1, Navn2, Navn3, Navn4, Nummer
1, Benjamin, John Doo, Peter, Troels, nr100

Hvordan gør jeg det... Jeg laver www siden i ASP Vb op mod en access db.
Avatar billede fdata Forsker
21. februar 2008 - 13:10 #1
Det bliver en længere smøre (skift selv tabelnavnene ud):

SELECT Tabel_A1.ID, Tabel_A2.Navnet, Tabel_A2_1.Navnet, Tabel_A2_2.Navnet, Tabel_A2_3.Navnet, Tabel_A1.Nummer
FROM (((Tabel_A1 INNER JOIN Tabel_A2 ON Tabel_A1.Navn1 = Tabel_A2.ID) INNER JOIN Tabel_A2 AS Tabel_A2_1 ON Tabel_A1.Navn2 = Tabel_A2_1.ID) INNER JOIN Tabel_A2 AS Tabel_A2_2 ON Tabel_A1.Navn3 = Tabel_A2_2.ID) INNER JOIN Tabel_A2 AS Tabel_A2_3 ON Tabel_A1.Navn4 = Tabel_A2_3.ID;

(du hægter simpelthen 4 stk. Tabel2 op mod din Tabel1)
Avatar billede gimle007 Praktikant
21. februar 2008 - 13:17 #2
Kan det ikke gøres i access med en relation måske...

Kan stadig ikke helt finde logikken i det... Kender godt nok Inner Join, men skal denne sql bruges på www siden eller inde i selve access db???
Avatar billede fdata Forsker
21. februar 2008 - 15:14 #3
Hm. Min kommentar forsvandt. Du får den igen:

Meget forenklet: En forespørgsel er i princippet det samme som en tabel. Du forespørger bare i en række tabeller samtidig - i stedet for en enkelt tabel. I stedet for at bruge "SELECT Tabelnavn.* FROM Tabelnavn" bruger du så "SELECT Forespørgselsnavn.* FROM Forespørgselsnavn"

I dit tilfælde skal du bruge 4 navne; men de ligger jo alle i den samme tabel. Derfor er du nødt til at knytte hvert af dine navnefelter i tabel1til forskellige instanser af tabel2. Opfat det som 4 uafhængige pegepinde ind i den samme tabel.

Det er det overordnede princip. Jeg vil helst ikke rodes ind i www-problematikker  ;o)
Avatar billede fdata Forsker
01. marts 2008 - 15:15 #4
Takker for point  ;o)
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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