Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Jak zrobić zależne pola kombi?

266 views
Skip to first unread message

arkasper

unread,
Jul 12, 2007, 7:33:55 AM7/12/07
to
Jak w Accessie 2003 zrobić 3 pola kombi: grupa, 1 podgrupa i 2
podgrupa. Co należy zrobić aby po wybraniu z listy grupa jakiejś
wartości w polu 1 podgrupa, były do wyboru tylko wartości związane z
tą grupą? Tak samo z polem 2 podgrupa. Np. gdy wybiorę grupę naprawa
okien, pole 1 podgrupa powinno zawierać np wartość wymiana szyb a nie
np. naprawa drzwi bo ta wartość zostałaby przydzielona do grupy
naprawa drzwi.

Szymon Nowak

unread,
Jul 12, 2007, 7:47:19 AM7/12/07
to

napisz procedurę OnChange dla pierwszego Combo i w niej w zależności
od wyboru dokonanego przez Użyszkodnika, ustal rowsource drugiego
combo. polecam także by do momentu dokonania wyboru w piewszym combo,
drugie miało właściwość 'Visible' ustawioną na 'False'.

Można także w SQL który wypełnia wiersze drugiego Combo uzależnić
wybór rekordów od wyboru w pierwszym Combo - uzywając WHERE, np

SELECT [Czynnosc] FROM [tbl_Czynnosci] WHERE
((tbl_Czynnosci.ID_Czynnosci)=[Forms]![Nazwa_Twojego_Formularza]!
[Nazwa_Pierwszego_ComboBoxa])

nadal jednak polecam ukryć drugie combo do momentu dokonania wyboru w
pierwszym

pzdr

Szymon

Krzysztof Pozorek

unread,
Jul 12, 2007, 8:29:25 AM7/12/07
to
(...)

napisz procedurę OnChange dla pierwszego Combo i w niej w zależności
od wyboru dokonanego przez Użyszkodnika, ustal rowsource drugiego
combo. polecam także by do momentu dokonania wyboru w piewszym combo,
drugie miało właściwość 'Visible' ustawioną na 'False'.
--------------------

Odp: Zdarzenie OnChange raczej do tego nie nadaje sie, poniewaz:
1) wykonuje sie przy kazdym nacisnieciu klawisza (co skutkuje kazdorazowym
przeliczeniem sie drugiej listy)
2) wpisujac z klawiatury wartosc, OnChange widzi stara wartosc Me!Kombi1
(dlatego wpisanie wartosci i opuszczenie pola spowoduje bledna
synchronizacje)
3) rozwiazaniem problemu z pkt. 2 jest uzycie Me!Kombi1.Text, ale wtedy
trudno wychwycic zdarzenie wycofania wpisu (uzytkownik moze wycofac wpis za
pomoca Esc, ctrl+Z, opcji w menu i jeszcze moze czegos). Powstaje sytuacja,
ze uzytkownik wycofal wpis, a nasze Kombi2 juz zostalo odswiezone i
mechanizm znow sie rozsynchronizowal.

Zdecydowanie lepiej wykorzystac zdarzenie przy wejsciu do druigiej listy.
(ew. powyzsze OnChange stosowac jedynie do wyczyszczenia drugiej listy)

K.P.


Szymon Nowak

unread,
Jul 12, 2007, 8:38:45 AM7/12/07
to

Tego Nie wedziałem Krzysztofie! - wielkie dzięki...

moze więc AfterUpdate?

pzdr

Szymon


0 new messages