Avatar billede tdur Nybegynder
21. februar 2005 - 13:12 Der er 23 kommentarer og
1 løsning

Valgmuligheder ud fra foregående indtastede værdier

Jeg har tre felter

AF BK FL

Der er en tabel ABF med disse data:
        AF  BK  FL
Post 1  00  LK  KL
Post 2  00  KL  FI
Post 3  04  JH  KL

Jeg vil have det således, at når man indtaster i en formular, så skal valgmuligheder afgrænses ud fra disse data.

Eksempel ved indtastning i formularfelt AF:
00 - så skal man kun kunne vælge LK eller KL i feltet BK.
Hvis man skrev 04 - skulle man kun kunne vælge JH i feltet BK.

osv. i felt FL...
21. februar 2005 - 13:15 #1
Har du kigget på den funktion, som jeg har liggende her: http://www.makeiteasy.dk/eksempler/Downloads.htm

Den hedder "Filter- og søgefunktion"
Avatar billede terry Ekspert
21. februar 2005 - 13:20 #2
If I undertsand your question correctly then you need to use combo boxes filtered on the previous combo's selection. Normally the values in the combo boxes will come from tables. Do you have related tables to obtain this information from?
Avatar billede tdur Nybegynder
21. februar 2005 - 13:27 #3
Alle de relatere data er i samme tabel.
Avatar billede terry Ekspert
21. februar 2005 - 13:27 #4
so you need a table containing BK values and anpther for FL values

BK will have two fields, one for AF value (primary key) and anotherfor BK value
EG:
00 LK
00 KL
04 HJ

NOT quite sure if you want to do the same with FL column?
Avatar billede terry Ekspert
21. februar 2005 - 13:29 #5
I would sugges you create tables containing the values you can choose form in the BK colum, this makes it possible to add extra values later. Otherwsie you will need to do it on code I think!Using "look-up" tables makes it MUCH easier!
21. februar 2005 - 13:31 #6
Jeg har lavet et eks. til dig her: http://www.makeiteasy.dk/eksempler/Eksperten/ABF.zip
Avatar billede terry Ekspert
21. februar 2005 - 13:36 #7
Thomas, arent we supposed to try and help here on eksperten? The solution you are giving is what I am trying to explain!
21. februar 2005 - 13:41 #8
Beklager, men jeg gik altså igang med at lave eksemplet 5 minutter før dit første indlæg.
Desuden er det jo nemmere at illustrere med et eksempel, som forøvrigt er frit tilgængeligt for alle andre (modsat når "folk" sender programmer frem og tilbage via mail).

Så mit forslag ER skam "here on eksperten"
Avatar billede terry Ekspert
21. februar 2005 - 13:42 #9
lets leave it at that then
Avatar billede tdur Nybegynder
21. februar 2005 - 14:10 #10
hmm.. ved at ændre det til mine feltnavne... går det galt.. kan du gøre dette? også inde i formularen...

AF: Afdeling
BK: Bærer
FL: Formål
21. februar 2005 - 14:12 #11
kigger på det....
21. februar 2005 - 14:13 #12
Er det felterne på formularen, som hedder Afdeling, Bærer og Formål? Eller er det felterne i tabellen?
(eller begge?)
Avatar billede tdur Nybegynder
21. februar 2005 - 14:14 #13
Felterne i formularen hedder det.. i tabellen hedder de:

Afd kode
Bærer kode
Formål kode
21. februar 2005 - 14:25 #14
Så ligger der en ny version...
Avatar billede tdur Nybegynder
21. februar 2005 - 14:41 #15
Det virker ok... men ikke hvis jeg vil ændre værdierne.. Hvis jeg går tilbage til Afdeling - opdaterer den ikke mulighederne i Bærer.. osv..
21. februar 2005 - 14:46 #16
Er det i din egen db, hvor du har kopieret felterne ind? Eller er det i mit eksempel (for da opdaterer den da fint på min maskine)

Måske har du ikke fået hændelsesprocedurene med over (VBA-koden)?
Avatar billede tdur Nybegynder
21. februar 2005 - 15:06 #17
Ja.. du har ret.. men skal koden så ikke også på de andre felter? Bærer og formål?
21. februar 2005 - 15:08 #18
Formål behøver ikke, da den er den sidste i rækken (med mindre, at der skal ske noget 4. når den er valgt)

Men der skulle også ligge kode på Bærer_afterupdate
Avatar billede tdur Nybegynder
21. februar 2005 - 15:14 #19
Det virker som om... at de sidste felt (formål) ikke har to kriterier... dvs de to foregående..
21. februar 2005 - 15:16 #20
nej, jeg har kun givet den Bærer-kriterie.

Så skal rækkekilden på Formål ændres til denne:
SELECT DISTINCT ABF.[Formål Kode] FROM ABF WHERE (((ABF.[Afd Kode])=Form!Afdeling) And ((ABF.[Bærer Kode])=Form!Bærer));
Avatar billede tdur Nybegynder
21. februar 2005 - 15:23 #21
Så er vi ved at være der.. der er dog lige en ting mere..

Hvis jeg står i formål.. og ændrer afdeling.. så bliver mulighederne i formål ikke opdateret...
21. februar 2005 - 15:28 #22
Nej, kun i bærer. de skyldes, at du ikke kan opdaterer i Formål, sålænge værdien stadig er den samme i Bærer.
Måden at løse det på, er enten at nulstille alle efterfølgende felter (eller evt lade den vælge 1. element på listerne.)

På Afdeling_AfterUpdate kan du således tilføje et par linier, så koden kommer til at så således ud:

Me!Bærer.Requery
Me!Bærer = null
Bærer_AfterUpdate


på Bærer_AfterUpdate lægger du denne kode:

Me!Formål.requery
Me!Formål = null
Avatar billede tdur Nybegynder
21. februar 2005 - 15:32 #23
Tak..
21. februar 2005 - 15:33 #24
Selv tak :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