Avatar billede onkel_satan Nybegynder
02. december 2008 - 16:22 Der er 8 kommentarer og
1 løsning

Kombiner data fra to eller flere tabeller i en form ?

Hejsa,
Har et lille problem med Access 2007. Jeg har lavet et Access projekt (projekt, ikke access db) som forbinder til en SQL Server. Jeg har selv struktureret min database via sql server management studio og sat keys, constraints og det hele op korrekt, ja allerede har et godt kendskab til relations databaser.
Til gengæld har jeg ikke særlig godt kendskab til Access men nu skal jeg saa bruge det som front end til sql serveren.

Problemet er nu ikke saa kompliceret. Det drejer sig om at jeg f.eks. har en tabel men personer og en table med grupper. Person tabellen har så en foreign key til gruppe tabellen og kan derved gruppere personerne. Her er en lille skitse over tabellerne.

Personer:
->PersonID PK
->Navn
->GruppeID FK
           
Grupper:   
->GruppeID PK
->gruppeNavn

Hvordan laver jeg, i Access, en form hvor i jeg kan indsætte nye personer. Jeg kan lave en comboBox der henter alle grupperne ud og viser dem i drop down stil. Problemet er saa bare at den tager værdien fra [gruppeNavn] i Gruppe tabellen  og forsæger at indsætte det i [GruppeID] i person tabellen.

Hvordan for jeg den til at vise [GruppeNavn] i comboBoxen men [GruppeID] som indsæts værdi ?

På forhånd tak.
Avatar billede jesperfjoelner Nybegynder
02. december 2008 - 17:07 #1
Hvis du højreklikker på din dropdown og vælger Egenskaber.
På fanen Data i feltet BundetKolonne
kan du angive 1 eller 2 osv.
Hvis dit gruppeID er i kolonne 1 (evt skjult) så skal den være den bundne kolonne.

Datakilden til din dropdown skal jo være noget i stil med

SELECT gruppID, gruppenavn FROM tblGrupper ORDER BY gruppenavn

muligvis har du nu kun

SELECT gruppenavn FROM tblGrupper ORDER BY gruppenavn
Avatar billede onkel_satan Nybegynder
02. december 2008 - 17:47 #2
Hej jesperfjoelner,
Tak for dit svar, hvilket også løser problemet :D
Hvis det ikke er for meget besværd må jeg saa lige tilføje et ekstre spørgsmål omkring det her med Access.

Hvordan skjuler jeg en kolonne ? Kan ikke se nogen steder i properties at GruppeID er 'hidden' men den bliver altsaa ikke vist i comboboxen (den skal den heller ikke, men ville bare gerne vide hvor den 'visibility' setting er).
Og til sidst, under format finder jeg propertiesn 'Column count' som tilsynladende bestemmer hvilket kolonner der skal vises i drop down, 1, 2, 3, 4, 5, 6 ovs. fra venstre, men hvad hvis jeg nu vil have kolonne 3 og 4 vist (vi antager der er 6 kolonner). Jeg kan selvf. lave mit sql om og flytte kolonne 3 og 4 til 1 og 2. Men det ville nu være rart hvis jeg præcist kunne specificere hvilke kolonner jeg vil have vist.
Avatar billede terry Ekspert
02. december 2008 - 17:51 #3
If the relationships are correct then you should b eable to make a form usinf the form wizard. Choose the Personer table for the data source an dyou should see that Access automatically creates a drop down (combo) for the GruppeID column in the Personer table.
Avatar billede jesperfjoelner Nybegynder
02. december 2008 - 18:12 #4
"Hvordan skjuler jeg en kolonne ? Kan ikke se nogen steder i properties at GruppeID er 'hidden' men den bliver altsaa ikke vist i comboboxen (den skal den heller ikke, men ville bare gerne vide hvor den 'visibility' setting er)."

Det klarer du ved at angive kolonnernes bredde i feltet "kolonnebredder"
Sæt den f.eks. bare til "0cm"
eller evt til "0cm;4cm" hvis du vil styre kolonne 2s bredde.
Avatar billede jesperfjoelner Nybegynder
02. december 2008 - 18:13 #5
"...men hvad hvis jeg nu vil have kolonne 3 og 4 vist (vi antager der er 6 kolonner)..."

opfølger til ovenstående.
Den klarer du med:

Kolonnebredder: "0cm;0cm;2cm;3cm;0cm;0cm"
Avatar billede jesperfjoelner Nybegynder
02. december 2008 - 18:16 #6
man kan selvfølgelig spare sig selv lidt overhead ved bare at trække de nødvendige kolonner ud i dataudtrækket til listen.

Omvendt - hvis du trækker alle 6 kolonner ud og lad os sige at kolonnerne er f.eks.

personID,navn,adresse,postnr,by,land

men kun "navn" er synlig

så kan du alligevel referere til adressen ved i din kode at bruge:

me!navnpådropdown.column(2)
Avatar billede terry Ekspert
02. december 2008 - 18:20 #7
http://www.trigonblue.com/AccessLookup.htm

but as mentioned previoulsy, if the relationships are OK then Access should be able to create the combo automatically for you
Avatar billede onkel_satan Nybegynder
02. december 2008 - 23:10 #8
Okey nu er jeg med på hvordan den håndterer en sådan combo/listbox. Jeg siger mange tak for dit svar. Også tak for dit link terry, ser ud til at indeholde noget interessant læsning.
Avatar billede jesperfjoelner Nybegynder
02. december 2008 - 23:37 #9
Mange tak, held og lykke med det.
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