Tworzenie formularza zawierającego podformularz (formularz jeden-do-wielu)
Applies ToAccess dla Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Podczas pracy z danymi relacyjnymi (powiązane dane przechowywane w osobnych tabelach) w Access często trzeba wyświetlić wiele tabel lub zapytań w tym samym formularzu. Na przykład możesz chcieć wyświetlić jednocześnie dane klientów z jednej tabeli i informacje o zamówieniach klientów z innej tabeli. Podformularze to wygodne narzędzie do wykonywania tych czynności, a Access udostępnia kilka sposobów ułatwiających szybkie tworzenie podformularzy.

Co chcesz zrobić?

Informacje na temat podformularzy

Podformularz to formularz wstawiony do innego formularza. Formularz podstawowy jest nazywany formularzem głównym, a formularz zawarty w formularzu nosi nazwę podformularza. Połączenie formularza i podformularza jest niekiedy określane jako formularz hierarchiczny, formularz główny/szczegółowy lub formularz nadrzędny/podrzędny.

Podformularze są szczególnie efektywne, gdy zachodzi potrzeba przedstawienia danych pochodzących z tabel lub zapytań, które zawierają relacje jeden-do-wielu. Relacja jeden-do-wielu to skojarzenie między dwiema tabelami, w którym wartość klucza podstawowego każdego rekordu w tabeli podstawowej odpowiada wartości w odpowiednim polu lub polach wielu rekordów w powiązanej tabeli. Na przykład można utworzyć formularz, w którym będą wyświetlane dane pracowników, zawierający podformularz wyświetlający zamówienia każdego z pracowników. Dane w tabeli Pracownicy to strona „jeden” relacji. Dane w tabeli Zamówienia to strona „wiele” relacji — każdy z pracowników może mieć wiele zamówień.

Formularz zawierający podformularz

1. W formularzu głównym wyświetlane są dane strony „jeden” relacji.

2. Podformularz zawiera dane ze strony „wiele” tej relacji.

Formularz główny i podformularz w tego rodzaju formularzu są połączone, dzięki czemu w podformularzu wyświetlane są jedynie rekordy związane z bieżącym rekordem formularza głównego. Na przykład gdy w formularzu głównym wyświetlane są informacje dotyczące Anny Misiec, w podformularzu wyświetlane są jedynie jej zamówienia. Gdyby formularz i podformularz nie były połączone, w podformularzu byłyby wyświetlane wszystkie zamówienia, a nie jedynie złożone przez Annę.

W poniższej tabeli zdefiniowano część terminologii związanej z podformularzami. Program Access obsługuje większość szczegółów podczas wykonywania procedur opisanych w tym artykule, ale warto znać zasady, którymi się posługuje, aby móc później wprowadzać modyfikacje.

Termin

Definicja

Kontrolka podformularza

Kontrolka, która osadza formularz w innym formularzu. Kontrolkę podformularza można traktować jako „widok” innego obiektu bazy danych (formularza, tabeli lub zapytania). Właściwości udostępniane przez kontrolkę podformularza umożliwiają łączenie danych wyświetlanych w kontrolce z danymi w formularzu głównym.

Właściwość Obiekt źródłowy

Właściwość kontrolki podformularza, która określa obiekt wyświetlany w kontrolce.

Arkusz danych

Wyświetla dane w prosty sposób w wierszach i kolumnach, podobnie do arkusza kalkulacyjnego. Kontrolka podformularza wyświetla arkusz danych, jeśli obiektem źródłowym jest tabela lub zapytanie, a także jeśli obiektem źródłowym jest formularz, którego właściwość Widok domyślny jest ustawiona na wartość Arkusz danych. W takich przypadkach podformularz jest niekiedy określany jako arkusz danych lub podarkusz danych, a nie jako podformularz.

Właściwość Podrzędne pola łączące

Właściwość kontrolki podformularza określająca pole lub pola podformularza łączące go z formularzem głównym.

Właściwość Nadrzędne pola łączące

Właściwość kontrolki podformularza określająca pole lub pola formularza głównego łączące go z podformularzem.

Uwagi: 

  • Aby uzyskać najlepsze wyniki, przed przystąpieniem do wykonywania procedur przedstawionych w tym artykule należy ustawić relacje między tabelami. Dzięki temu program Access automatycznie utworzy łącza między podformularzami i formularzami głównymi. Aby wyświetlić, dodać lub zmodyfikować relacje między tabelami w bazie danych, na karcie Narzędzia bazy danych w grupie Relacje kliknij pozycję Relacje.

  • Jeśli obiektem źródłowym kontrolki podformularza jest formularz, to kontrolka zawiera pola umieszczone w formularzu oraz może być wyświetlana jako pojedynczy formularz, formularz ciągły lub arkusz danych. Jedną z korzyści tworzenia podformularza na podstawie obiektu formularza jest możliwość dodawania do podformularza pól obliczeniowych, na przykład w postaci [Ilość] * [Cena jednostkowa].

  • Można wstawić do formularza widok arkusza danych lub widok przestawny, tworząc kontrolkę podformularza, której obiektem źródłowym jest tabela lub zapytanie. Aby uzyskać więcej informacji, zobacz sekcję Dodawanie danych relacyjnych do formularza bez tworzenia podformularza.

Początek strony

Tworzenie lub dodawanie podformularza

Poniższa tabela umożliwia wybór najodpowiedniejszej procedury w określonej sytuacji.

Scenariusz

Zalecana procedura

Program Access ma utworzyć formularz główny i podformularz, a także utworzyć łącze między nimi.

Tworzenie formularza zawierającego podformularz przy użyciu Kreatora formularzy

Istniejący formularz ma być używany jako formularz główny, a program Access ma utworzyć nowy podformularz i dodać go do formularza głównego.

Dodawanie jednego lub wielu podformularzy do istniejącego formularza przy użyciu Kreatora podformularzy

Istniejący formularz ma być używany jako formularz główny, a jeden lub wiele istniejących formularzy zostanie dodane do tego formularza jako podformularze.

Tworzenie podformularza przez przeciągnięcie jednego formularza na inny

Tworzenie formularza zawierającego podformularz przy użyciu Kreatora formularzy

Poniższa procedura umożliwia utworzenie nowego formularza połączonego z podformularzem przy użyciu Kreatora formularzy. Jest to również najszybszy sposób rozpoczęcia pracy, jeśli formularze, które mają być używane jako formularz główny i podformularz, nie zostały jeszcze utworzone.

  1. Na karcie Tworzenie w grupie Formularze kliknij pozycję Kreator formularzy

  2. Na pierwszej stronie kreatora z listy rozwijanej Tabele/zapytania wybierz tabelę lub zapytanie. Na przykład aby utworzyć formularz Pracownicy wyświetlający zamówienia każdego z pracowników w podformularzu, wybierz pozycję Tabela: Pracownicy (strona „jeden” relacji jeden-do-wielu).

    Uwaga: Nie ma znaczenia, które tabele lub zapytania zostaną wybrane jako pierwsze.

  3. Kliknij dwukrotnie te pola tabeli lub zapytania, które chcesz dołączyć.

  4. Z listy rozwijanej Tabele/zapytania na tej samej stronie kreatora wybierz kolejną tabelę lub kolejne zapytanie. W tym przykładzie wybierz tabelę Zamówienia (strona „wiele” relacji jeden-do-wielu).

  5. Kliknij dwukrotnie te pola tabeli lub zapytania, które chcesz dołączyć.

  6. Jeśli relacje zostały poprawnie ustawione przed uruchomieniem kreatora, kliknięcie przycisku Dalej spowoduje, że kreator wyświetli pytanie W jaki sposób dane mają być wyświetlane? — tj. według której tabeli lub którego zapytania. Wybierz tabelę po stronie „jeden” relacji jeden-do-wielu. Na przykład aby utworzyć formularz Pracownicy, kliknij pozycję wg tabeli Pracownicy. Kreator wyświetli mały diagram formularza. Formularz powinien przypominać następującą ilustrację:

    Strona podformularza w Kreatorze formularzy

    Pole w dolnej części diagramu formularza reprezentuje podformularz.

    Uwaga: Jeśli kreator nie wyświetli pytania W jaki sposób dane mają być wyświetlane?, oznacza to, że program Access nie wykrył relacji jeden-do-wielu między wybranymi tabelami lub zapytaniami. Kreator pozwoli na kontynuowanie, ale program Access nie doda podformularza do formularza. Można kliknąć przycisk Anuluj i sprawdzić relacje tabel przed kontynuowaniem.

  7. U dołu strony kreatora zaznacz opcję Formularz z podformularzem(ami), a następnie kliknij przycisk Dalej.

  8. Na stronie Jaki ma być układ podformularza? kliknij odpowiednią opcję układu, a następnie kliknij przycisk Dalej. W obu stylach układów dane podformularza są rozmieszczane w wierszach i kolumnach, ale układ tabelaryczny można dostosowywać w większym stopniu. Do podformularza tabelarycznego można dodawać kolory, grafiki i inne elementy formatowania, natomiast arkusz danych jest bardziej zwarty, jak widok arkusza danych tabeli.

  9. Na następnej stronie kreatora wybierz styl formatowania dla formularza, a następnie kliknij pozycję Dalej. Jeśli na poprzedniej stronie wybrano pozycję Tabelaryczny, wybrany styl formatowania zostanie również zastosowany do podformularza.

  10. Na ostatniej stronie kreatora wpisz odpowiednie tytuły formularzy. Program Access nadaje nazwy formularzom na podstawie wpisanych tytułów i nadaje etykietę podformularzowi na podstawie tytułu wpisanego dla podformularza.

  11. Określ, czy formularz ma zostać otwarty w widoku formularza, aby można było wyświetlić lub wprowadzić informacje, czy w widoku projektu, aby można było zmodyfikować jego projekt. Po dokonaniu wyboru kliknij przycisk Zakończ.

    Program Access utworzy dwa formularze — jeden dla formularza głównego, który zawiera kontrolkę podformularza, a drugi dla samego podformularza.

Początek strony

Dodawanie jednego lub wielu podformularzy do istniejącego formularza przy użyciu Kreatora podformularzy

Tej procedury należy użyć, aby dodać jeden lub wiele podformularzy do istniejącego formularza. W przypadku każdego formularza można wybrać, aby program Access utworzył nowy formularz lub użył istniejącego formularza jako podformularza.

  1. Kliknij prawym przyciskiem myszy istniejący formularz w okienku nawigacji, a następnie kliknij pozycję Widok projektu.

  2. Na karcie Projekt formularza w grupie Formanty kliknij strzałkę w dół, aby wyświetlić galerię Kontrolki , i upewnij się, że jest zaznaczona pozycja Użyj kreatorów kontrolek .

  3. Na karcie Projekt formularza w grupie Kontrolki kliknij przycisk Podformularz/Podraport .

  4. Kliknij formularz w miejscu, w którym ma zostać umieszczony podformularz.

  5. Postępuj zgodnie z instrukcjami kreatora.

    Po kliknięciu przycisku Zakończ program Access wstawi kontrolkę podformularza w formularzu. Jeśli wybrano, aby program Access utworzył nowy formularz, który zostanie użyty jako podformularz zamiast użycia istniejącego formularza, program Access utworzy nowy obiekt formularza i doda go do okienka nawigacji.

Tworzenie podformularza przez przeciągnięcie jednego formularza na inny

Należy skorzystać z tej procedury, jeśli istniejący formularz ma być używany jako formularz główny, a jeden lub wiele istniejących formularzy zostanie dodane do tego formularza jako podformularze.

  1. W okienku nawigacji kliknij prawym przyciskiem myszy formularz, który ma być używany jako formularz główny, a następnie kliknij polecenie Widok układu.

  2. Z okienka nawigacji przeciągnij na formularz główny ten formularz, który ma zostać użyty jako podformularz.

    Program Access wstawi kontrolkę podformularza w formularzu głównym i utworzy łącze między kontrolką i formularzem przeciągniętym z okienka nawigacji. Na podstawie relacji zdefiniowanych w bazie danych program Access spróbuje również połączyć podformularz z formularzem głównym.

  3. Powtarzaj ten krok, aby dodać wszystkie dodatkowe podformularze do formularza głównego.

  4. Aby upewnić się, że formularze zostały pomyślnie połączone, na karcie Narzędzia główne w grupie Widoki kliknij przycisk Widok, kliknij pozycję Widok formularza, a następnie skorzystaj z selektora rekordu formularza głównego, przeglądając kilka rekordów. Jeśli filtr podformularza działa prawidłowo dla każdego pracownika, procedurę można uznać za zakończoną.

Jeśli powyższy test nie powiedzie się, oznacza to, że program Access nie mógł określić sposobu połączenia podformularza z formularzem głównym, a właściwości Podrzędne pola łączące i Nadrzędne pola łączące kontrolki podformularza są puste. Należy skonfigurować te właściwości ręcznie, wykonując następujące czynności:

  1. Kliknij prawym przyciskiem myszy formularz główny w okienku nawigacji, a następnie kliknij pozycję Widok projektu .

  2. Kliknij kontrolkę podformularza, aby ją zaznaczyć.

  3. Jeśli okienko zadań Arkusz właściwości nie jest wyświetlone, naciśnij klawisz F4, aby je wyświetlić.

  4. W okienku Arkusz właściwości kliknij kartę Dane.

  5. Kliknij przycisk Konstruuj Przycisk Konstruktor obok pola właściwości Podrzędne pola łączące .

    Zostanie wyświetlone okno dialogowe Pola łączące podformularza.

  6. Z list rozwijanych Pola główne i Pola podrzędne wybierz pola, którymi chcesz połączyć formularze, a następnie kliknij przycisk OK. Jeśli nie masz pewności, których pól użyć, kliknij pozycję Sugeruj, aby program Access spróbował określić pola łączące.

    Porada: Jeśli pole, które ma zostać użyte do połączenia formularzy, nie jest wyświetlane, może być przydatne edytowanie źródła rekordów formularza głównego lub formularza podrzędnego w celu upewnienia się, że znajduje się w nim pole łączące. Jeśli na przykład formularz jest oparty na zapytaniu, należy upewnić się, że pole łączące znajduje się w wynikach zapytania.

  7. Zapisz formularz główny i przełącz się do widoku formularza, a następnie sprawdź, czy formularz działa zgodnie z oczekiwaniami.

Otwieranie podformularza w nowym oknie w widoku projektu

Jeśli chcesz wprowadzić zmiany projektowe w podformularzu podczas pracy w jego formularzu głównym w widoku projektu, możesz otworzyć podformularz w osobnym oknie:

  1. Kliknij podformularz, aby go zaznaczyć.

  2. Na karcie Projekt formularza w grupie Narzędzia kliknij pozycję Podformularz w nowym oknie.

Początek strony

Zmienianie domyślnego widoku podformularza

Po dodaniu podformularza do formularza kontrolka podformularza/podraportu wyświetla podformularz zgodnie z właściwością Widok domyślny, jaką dla niego określono. Można ustawić następujące wartości dla tej właściwości:

  • Formularz pojedynczy

  • Formularze ciągłe

  • Arkusz danych

  • Formularz dzielony

W przypadku nowo utworzonego podformularza ta właściwość może mieć wartość Formularze ciągłe lub Pojedynczy formularz. Jednak po ustawieniu właściwości Widok domyślny formularza na wartość Arkusz danych podformularz będzie wyświetlany jako arkusz danych w formularzu głównym.

Aby ustawić właściwość Widok domyślny podformularza:

  1. Zamknij otwarte obiekty.

  2. W okienku nawigacji kliknij prawym przyciskiem myszy podformularz, a następnie kliknij pozycję Widok projektu.

  3. Jeśli arkusz właściwości jeszcze nie jest wyświetlany, naciśnij klawisz F4, aby go wyświetlić.

  4. Upewnij się, że z listy rozwijanej u góry okienka Arkusz właściwości została wybrana pozycja Formularz.

  5. Na karcie Format w okienku Arkusz właściwości ustaw odpowiedni widok dla właściwości Widok domyślny.

    Uwaga: Jeśli odpowiedni widok nie jest dostępny na liście, należy upewnić się, że właściwość „Zezwalaj na widok...” dla widoku ma wartość Tak. Na przykład jeśli jako widok domyślny formularza ma być ustawiony widok Arkusz danych, należy upewnić się, że właściwość Zezwalaj na widok arkusza danych ma wartość Tak.

  6. Zapisz i zamknij podformularz, a następnie otwórz formularz główny, aby sprawdzić rezultat.

Początek strony

Dodawanie powiązanych danych do formularza bez tworzenia podformularza

Nie zawsze trzeba tworzyć osobny obiekt formularza, aby wyświetlić powiązane dane. Na przykład podczas pracy z formularzem w widoku układu lub widoku projektu można przeciągnąć tabelę lub zapytanie z okienka nawigacyjnego do formularza, a program Access utworzy kontrolkę Podformularz/podraport wyświetlający dane z tego obiektu. Właściwość Widok domyślny obiektu określa sposób wyświetlania danych. Przeważnie ta właściwość ma wartość Arkusz danych, ale dla właściwości Widok domyślny tabeli lub zapytania można ustawić również wartość Formularz pojedynczy, Formularz dzielony lub Formularze ciągłe, co pozwala na większą elastyczność wyświetlania powiązanych danych w formularzach.

Uwaga: Zmiana właściwości Widok domyślny tabeli lub zapytania określa sposób, w jaki zostanie ona wyświetlona po otwarciu, w zależności od tego, czy zostanie otwarta przy użyciu okienka nawigacji czy wyświetlona w kontrolce Podformularz/podraport. Ponieważ zmiana ustawień widoku tabeli może czasami powodować dezorientację w przypadku otwierania tabeli przy użyciu okienka nawigacji, w przypadku tej procedury zaleca się użycie zapytania zamiast tabeli.

Początek strony

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.