Warsztat 2: Wyświetlanie listy kombi na podstawie wcześniejszego wyboru.

FiltrKombi.zip
Autor: Krzysztof Pozorek
Baza w formacie MsAccess 97 
29kB, 27-04-2002

Opis problemu:

Jeśli na formularzu mamy kilka pól kombi, to zwykle chcielibyśmy, żeby dokonany wybór w jednym polu spowodował odpowiednie ograniczenie wyświetlanych wierszy w innym polu kombi. Np. po wyborze firmy w jednym polu, chcielibyśmy w drugim mieć do wyboru tylko pracowników z danej firmy.

Rozwiązanie:

Program FiltrKombi.zip zawiera przykład wykorzystania powiązanych pól kombi do potrzeb filtrowania rekordów na formularzu. 

W programie listy kombi zawierają wiersz "(wszystkie)", co ułatwia użytkownikom dokonywanie wyboru, jednak od programisty wymaga to specjalnych zabiegów. Najprościej wiersz "(wszystkie)" dodać po prostu do tabeli słownikowej, jednak to rozwiązanie może rodzić problemy z jednolitą interpretacja danych. Najbardziej różnorodne możliwości osiąga się przez napisanie specjalnej funkcji i wstawienie jej jako RowSourceType, jednak jest to sposób mało wygodny i dosyć trudny. 
Prezentowany przykład FiltrKombi.zip buduje pozycję "(wszystkie)" na liście kombi za pomocą kwerendy składającej (Union Query).

Dodatkowo, program przedstawia sposób na sortowanie wierszy po kliknięciu w nagłówek kolumny (zrealizowany z wykorzystaniem menu podręcznego).

Krzysztof Pozorek