Formularz podręczny to formularz, który jest zawsze widoczny na pierwszym planie – takie okno pop-up. Nawet jeżeli jednocześnie są otwarte także inne formularze, formularz podręczny jest zawsze na wierzchu.
Na przykład w jednej z moich aplikacji do porządkowania różnych grafik i zdjęć mam formularz ciągły, w którym są również miniatury. czasem szukając jakiejś fotki (owszem, mam tu też formularz pojedynczy, ale przeklikiwanie się na kolejne zdjęcia trwa tu jednak znacznie dłużej) chcę się jej dokładnie przyjrzeć, więc pod przyciskiem mam makro otwierające formularz podręczny o takich wymiarach, ze szczegóły są widoczne.

W tym przypadku jest to tylko drobiazg (choć w praktyce przydatny), jednak najczęściej formularze podręczne są stosowane wtedy, gdy wprowadzając/edytując dane w jednym formularzu, chcemy jednocześnie mieć podgląd danych w innym formularzu. Przydaje się, szczególnie w większych projektach. No i oczywiście nie musi być wcale taki duży jak u mnie – może to byc małe okienko – zawsze na wierzchu.
Jak utworzyć taki formularz? Jest to normalny formularz, może być pojedynczy, może być ciągły. Istotna jest tu właściwość formularza Podręczny w zakładce arkusza właściwości Inne.

Po przestawieniu właściwości Podręczny na Tak – formularz będzie zawsze otwierany w tym trybie.
Czy można zrobić to kodem VBA? Niestety, nie da się to zrobić w prosty sposób, choć można sobie poradzić w ten sposób nieco kombinując.
Taka procedura zmienia właściwość Podręczny formularza:
Sub UstawFormularzPopUp(NazwaFormularza As String, CzyPopUp As Boolean) DoCmd.OpenForm nazwaFormularza, acDesign Forms(nazwaFormularza).PopUp = czyPopUp DoCmd.Close acForm, nazwaFormularza, acSaveYes End Su |
Chcąc zmienić sposób wyświetlania z podręcznego na zwykły lub odwrotnie – przed otwarciem formularza najpierw tą procedurą otwieramy go w widoku projektu, zmieniamy właściwość i zamykamy zapisując, a następnie – otwieramy już w normalnym trybie.
Jest to jakieś rozwiązanie, choć mało mi się podoba. No i ma poważne ograniczenia – działa tylko w pełnej wersji bazy. Poza tym – jeżeli w bazie pracuje jednocześnie więcej użytkowników, może wywołać to problemy.
Ja w takim przypadku zastosowałabym raczej 2 identyczne formularza – jeden podręczny, drugi nie i w zależności od potrzeb uruchamiany mógłby być jeden z nich.