Avatar billede naza Nybegynder
12. november 2004 - 08:36 Der er 8 kommentarer og
1 løsning

lav dropdown udfra relationer

Hej Jeg har følgende problem jeg ønsker løst

Jeg har følgende felter i min database som stammer fra tre tabeller

SANR
|_DOCNR
    |_MSINR

De tre nr. felter ovenfor har følgende relationer
SANR  1-mange DOCNR
DOCNR 1-mange MSINR

Jeg ønsker at lave 3 dropdown menuer - således at man først skal vælge SANR derefter vil man kun kunne vælge de DOCNR i en ny dropdown som hører til det valgte SANR - Når man så efterfølgende vælger DOCNR skal dropdownen for MSINR også kun vise de nr. der hører til det valgte DOCNR.

Er der nogen der kan give mig et par hint om hvordan dette kan gøres?

Mvh. Jannik
12. november 2004 - 09:25 #1
Princippet er, at man lader den ene komboboks referere til den forrige.

Dvs at den første komboboks har hele SANR-tabellen so rækkekilde.

Den næste har denne rækkekilde:
Select DOCNR From [Docnr-tabel] Where SANR = [Form]![comboSANR]

Den sidste har denne rækkekilde:
Select MSINR From [MSINR-tabel] WHERE DOCNR = [Form]![comboDOCNR]

På comboSANR lægger du denne kode på EfterOpdatering:
Me!comboDOCNR.Requery

Tilsvarende på comboDOCNR's EfterOpdatering:
Me!comboMSINR.Requery


Jeg håber, at du kan finde ud af de navne, som jeg har valgt. jeg kender jo ikke dine navne på de forskellige objekter.
Avatar billede naza Nybegynder
12. november 2004 - 10:06 #2
Hej Thomas

Jeg kan ikke rigtig få det til at virke - Men tror godt jeg ved hvad fejlen er.

I min dropdown med SANR står der både SANR og DESC (altså en beskrivelse til nummeret) - Hvordan indikerer jeg, at det er SANR jeg ønsker at smide ind i min select sætning i MSINR dropdownen?

Mvh. Jannik
12. november 2004 - 10:10 #3
I din SANR-dropdown, har du altså 2 kolonner?

Egenskaben "Bundet kolonne" skal angive den kolonne, som indeholder SANR.

dvs 1, hvis du ser SANR først og Desc som 2. kolonne.

Derved skulle det virke automatisk, da det så er SANR, som returneres, når man bare refererer tl comboSANR.
Avatar billede naza Nybegynder
12. november 2004 - 10:27 #4
Ok - Men hvordan angiver jeg det i select sætningen?

Har prøvet forskellige ting - Bla.

Select DOCNR From [Docnr-tabel] Where SANR = [Form]![comboSANR.Column(0)]

og

Select DOCNR From [Docnr-tabel] Where SANR = [Form]![comboSANR]![Column(0)]

Men ingen af de to metoder virker :-(

Har prøvet at lave en label og sættes følgende kode ind på form_load

Label8.Caption = Me!SANRcombo.Column(0)

Og der vises de korrekte data - Så det er ikke kolonnen det er galt med
12. november 2004 - 10:40 #5
Men hvis "Bundet kolonne" peger på SANR, så behøver du blot at referere til comboSANR for at få returneret det rigtige. Du behøver ikke at angive specifik kolonne. Bare sådan:

Select DOCNR From [Docnr-tabel] Where SANR = [Form]![comboSANR]
Avatar billede naza Nybegynder
12. november 2004 - 11:15 #6
Der sker ingen opdatering af DOCcombo - og hvis jeg klikker på den så spørger den efter parametren Form!SANRcombo

Har prøvet at smide værdien fra SANRcombo over i en label og derefter ind i select sætningen - Altså

Select DOCNR From [Docnr-tabel] Where SANR = label8.caption

Og det virker - Men det andet er jo noget smarterer - Kan du se hvad jeg gør forkert?
12. november 2004 - 11:30 #7
hmm, nææ. Det burde virke.

Du er velkommen til at sende databasen til mig, så jeg kan kigge på den.
Jeg er dog på vej ud af døren nu og er først tilbage i aften. Men jeg kan kigge på den i løbet af weekenden.

Du finder min mailadresse ved at klikke på mit navn.

Husk at zippe databasen og skriv lige hvilken formular, du arbejder på, så jeg ikke skal lede (hvis der er mange)
Avatar billede naza Nybegynder
12. november 2004 - 12:37 #8
Kan desværre ikke sende den til dig - Access er kun frontend - Selve dataene ligger på en MSSQL server :-(

Men jeg har forstået hvordan man kan løse opgaven udfra dit første svar og det er perfekt.

En lille ting jeg er lidt usikker på er:

Hvad er forskellen på Me!comboSANR og Form!comboSANR ?

Me angiver det bare, at det er den aktive form? Hvor man ved den anden metode skal angive selve formens navn eller hvordan med det?
Avatar billede naza Nybegynder
12. november 2004 - 13:02 #9
Jeg er nu ret sikker på at der hvor det går galt det er i min select sætning

Select DOCNR From [Docnr-tabel] Where SANR = [Form]![comboSANR]

Hvor [Form]![comboSANR] er problemet.

Hvad bør jeg skrive i denne?
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