Jeśli masz długi formularz wielowierszowy, czasami chcesz szybko "przejść do szczegółów", aby wyświetlić więcej informacji na temat jednego elementu. Można to zrobić w programie Access, łącząc formularz wielo elementowy z formularzem jedno elementów. Po kliknięciu elementu w formularzu wielo elementów zostanie otwarty formularz jedno element, w którym będą wyświetlane szczegóły.
Tworzenie formularzy
W większości przypadków te dwa formularze w konfiguracji szczegółowej są oparte na tej samej tabeli lub tym samym zapytaniu. Jeśli masz już kilka formularzy, których chcesz użyć (jeden z nich jest arkuszem danych lub formularzem wielo elementów, a drugi jest formularzem jedno elementem lub formularzem szczegółów), możesz pominąć tę sekcję. W przeciwnym razie utwórz je za pomocą tych procedur:
Tworzenie arkusza danych lub formularza wielo elementu:
-
W okienku nawigacji zaznacz tabelę lub zapytanie zawierające dane, które chcesz dodać do formularza arkusza danych.
-
Kliknij pozycję > Więcej formularzy,a następnie kliknij pozycję Wiele elementów lub Arkuszdanych w zależności od wybranego rodzaju formularzy.
-
W tym celu należy wprowadzić dowolne zmiany w projekcie. Rozważ usunięcie jak najwięcej kolumn, pozostawiając wystarczająco dużo informacji, aby zidentyfikować każdy element.
-
Zapisz i zamknij formularz.
Aby uzyskać więcej informacji na temat formularzy z wieloma elementami, zobacz Tworzenie formularza przy użyciu narzędzia Wiele elementów.
Tworzenie formularza z pojedynczym elementem lub "szczegółami":
-
W okienku nawigacji zaznacz tabelę lub zapytanie zawierające dane, które chcesz dodać do formularza szczegółów. Prawdopodobnie będzie to ta sama tabela lub zapytanie, które zostało użyte w pierwszym formularzu.
-
Kliknij pozycję > formularza.
-
W tym celu należy wprowadzić dowolne zmiany w projekcie, a następnie zapisać i zamknąć formularz.
Aby uzyskać więcej informacji, zobacz Tworzenie formularza przy użyciu narzędzia Formularz.
Dodawanie logiki otwierającej formularz szczegółów
Teraz możesz dodać niewielkie makro do formularza wieloelementowego lub arkusza danych. Makro otworzy formularz szczegółów i upewni się, że jest wyświetlany poprawny element.
Nie martw się, jeśli nie masz dużo pracy nad makrami. możesz po prostu skopiować i wkleić kod XML, który znajdziesz w tej procedurze.
-
Jeśli korzystasz z formularza arkusza danych, kliknij go dwukrotnie w okienku nawigacji, aby go otworzyć. W przypadku formularza wielo elementu kliknij go prawym przyciskiem myszy w okienku nawigacji, a następnie kliknij polecenie Widok układu.
-
Naciśnij klawisz F4, aby otworzyć arkusz właściwości, jeśli nie jest jeszcze otwarty.
-
Kliknij kolumnę, do której chcesz dodać makro. Będzie to kolumna, która zostanie klikona w celu otwarcia formularza szczegółów po zakończeniu makra. Na powyższym obrazie makro zostanie dodane do kolumny Identyfikator listy frmContactList.
Porada: Makro można dodać do więcej niż jednej kolumny.
-
Na karcie Zdarzenie arkusza właściwości kliknij w polu właściwości Przy kliknięciu lub Przy kliknięciu dwukrotnym (w zależności od tego, czy formularz ma zostać otwarty przez pojedyncze kliknięcie, czy dwukrotne kliknięcie pola), a następnie kliknij przycisk
. -
Jeśli w programie Access zostanie wyświetlony monit o wybranie konstruktora, wybierz pozycję Konstruktor makr i kliknij przycisk OK.
-
Zaznacz ten blok danych XML, a następnie naciśnij klawisze Ctrl+C, aby skopiować go do schowka: <?xml version="1.0" encoding="UTF-16" standalone="no"?> <UserInterfaceMacros xmlns="http://schemas.microsoft.com/office/accessservices/2009/11/application"> <UserInterfaceMacro For="ID" Event="OnClick"><Statements><Action Name="OnError"><Argument Name="Goto">Macro Name</Argument><Argument Name="MacroName">ErrorHandler</Argument></Action> <ConditionalBlock><If><Condition>[Form].[Dirty]</Condition><Statements><Action Name="SaveRecord"/></Statements></If></ConditionalBlock> <ConditionalBlock><If><Condition>IsNull([ID])</Condition><Statements><Comment>Open the form to a new record if the current ID is Null</Comment><Action Name="OpenForm"><Argument Name="FormName">frmContactDetails</Argument><Argument Name="DataMode">Add</Argument><Argument Name="WindowMode">Dialog</Argument></Action><Action Name="Requery"/></Statements></If><Else><Statements><Comment>Use a TempVar to pass a filter to the OpenForm action</Comment><Action Name="SetTempVar"><Argument Name="Name">Contact_ID</Argument><Argument Name="Expression">[ID]</Argument></Action><Action Name="OpenForm"><Argument Name="FormName">frmContactDetails</Argument><Argument Name="WhereCondition">[ID]=[TempVars]![Contact_ID]</Argument><Argument Name="DataMode">Edit</Argument><Argument Name="WindowMode">Dialog</Argument></Action><Action Name="RemoveTempVar"><Argument Name="Name">Contact_ID</Argument></Action><Action Name="RefreshRecord"/></Statements></Else></ConditionalBlock> </Statements></UserInterfaceMacro></UserInterfaceMacros>
-
Kliknij pusty obszar Konstruktora makr (tuż pod listą rozwijaną Dodaj nową akcję), a następnie naciśnij klawisze Ctrl+V, aby wkleić akcje makra. Jeśli wszystko się posunie, kod XML nie będzie w ogóle widoczny w Konstruktorze makr — rozszerzy się na bardziej czytelne bloki makr, jak pokazano w następnym kroku.
-
W razie potrzeby zamień nazwę formularza (frmContactDetails) i nazwę kolumny łączącej (ID) na nazwę formularza i kolumnę, za pomocą których chcesz połączyć te dwa formularze. Na poniższym obrazie pokazano, gdzie może być konieczne edytowanie w celu dopasowania do własnych nazw identyfikatorów:
-
Na karcie Projektowanie kliknij przycisk Zapisz, a następnie zamknij.
-
Jeśli chcesz, aby kolumny, które można klikać, były wyświetlane jako hiperlink, aby inne osoby wiedziały, że mogą je kliknąć, upewnij się, że kolumna jest nadal zaznaczona, a następnie w arkuszu właściwości kliknij kartę Formatowanie i ustaw właściwość Wyświetl jako hiperlink na wartość Zawsze.
-
Zapisz i zamknij formularz, a następnie otwórz go ponownie i przetestuj makro, klikając lub klikając dwukrotnie zmodyfikowaną kolumnę.
Aby uzyskać więcej informacji na temat makr w bazach danych dla komputerów stacjonarnych, zobacz Dodawanie logiki do kontrolki w bazie danych dla komputerów stacjonarnych.
Inne typy łączenia formularzy
Aby utworzyć połączenie formularza i podformularza i połączyć je ze sobą, zobacz Tworzenie formularza zawierającego podformularz (formularz jeden-do-wielu).
Aby utworzyć formularz połączony ze źródłem danych, takim jak tabela lub zapytanie, zobacz Tworzenie formularza za pomocą narzędzia Formularz.