Spis treści
Indeks 🔎︎

# Dane

Na zakładce Dane są zdefiniowane własności formularza odwołujące się do bazy danych powiązanej z formularzem.

Definiuje źródło danych, na którym oparty jest formularz, albo określa, czy dane mogą być edytowane przez użytkownika. Oprócz funkcji sortowania i filtrowania dostępne są także wszystkie właściwości wymagane do utworzenia podformularza.

Aby wykonać tę operację...

Open context menu of a selected form element - choose Form - Data tab.

Open Form Controls toolbar or Form Design toolbar, click Form icon - Data tab.

## Cykl

Określa, w jaki sposób ma przebiegać nawigacja za pomocą klawisza Tab. Klawisz ten umożliwia przechodzenie do kolejnych części formularza. Jeśli jednocześnie naciśnięto klawisz Shift, nawigacja odbywa się w przeciwnym kierunku. Naciśnięcie klawisza Tab po osiągnięciu ostatniego (lub pierwszego) pola może spowodować różne działania. Dostępne są następujące opcje sterujące działaniem klawisza w takim przypadku:

Opcja | Znaczenie
Domyślny | To ustawienie automatycznie definiuje cykl przechodzenia do istniejącego powiązanego elementu w bazie danych: Jeśli formularz zawiera powiązanie z bazą danych, naciśnięcie klawisza Tab po opuszczeniu ostatniego pola domyślnie powoduje przejście do następnego lub poprzedniego rekordu (patrz Wszystkie rekordy). Jeśli formularz nie ma powiązania z bazą danych, pokazywany jest następny/poprzedni formularz (patrz Bieżąca strona).
Wszystkie rekordy | Ta opcja dotyczy tylko formularzy baz danych i służy do nawigacji po wszystkich rekordach. W przypadku naciśnięcia klawisza Tab po opuszczeniu ostatniego pola formularza następuje zmiana bieżącego rekordu.
Aktywny rekord | Ta opcja dotyczy tylko formularzy baz danych i służy do nawigacji w ramach bieżącego rekordu. W przypadku naciśnięcia klawisza Tab po opuszczeniu ostatniego pola formularza następuje zmiana bieżącego rekordu.
Bieżąca strona | Po opuszczeniu ostatniego pola formularza kursor jest umieszczany w pierwszym polu następnego formularza. Jest to domyślne działanie formularzy HTML; dlatego opcja ta jest szczególnie przydatna właśnie w formularzach HTML.

## Dodaj tylko dane

Określa, czy formularz umożliwia tylko dodawanie nowych danych (Tak), czy także określanie innych właściwości (Nie).

Jeśli opcja Dodaj tylko dane jest ustawiona na wartość "Tak", zmiana lub usunięcie danych nie jest możliwe.

## Filtr

Określa wymagane warunki filtrowania danych w formularzu. Specyfikacja filtru musi być zgodna z regułami SQL i nie zawierać klauzuli WHERE. Na przykład aby wyświetlić wszystkie rekordy zawierające imię "Michał", w polu danych można wprowadzić zapis: Imię = 'Michał'. Warunki można także łączyć: Imię = Michał LUB Imię = 'Piotr'. Wyświetlane są wszystkie rekordy pasujące do jednego z tych dwóch warunków.

Funkcja filtru jest dostępna w trybie użytkownika przez ikony Autofiltr i Filtr domyślny na pasku Formularz.

## Pasek nawigacji

Określa, czy można korzystać z funkcji nawigacji w dolnym pasku formularza.

Opcja formularza nadrzędnego jest stosowana w przypadku podformularzy. Po jej wybraniu w podformularzu możliwa jest nawigacja po rekordach głównego formularza, jeśli kursor jest umieszczony w podformularzu. Podformularz jest powiązany z formularzem macierzystym relacją 1:1, a więc nawigacja zawsze odbywa się w formularzu macierzystym.

## Połącz pola nadrzędne

W przypadku tworzenia podformularza wprowadź pole danych formularza nadrzędnego odpowiedzialne za synchronizację formularza nadrzędnego z podformularzem. Aby wprowadzić wiele wartości jednocześnie, po każdym wierszu wprowadzonych danych należy nacisnąć kombinację klawiszy Shift + Enter.

Podformularz jest oparty na kwerendzie SQL, a dokładnie na kwerendzie parametrycznej. Dane pola, którego nazwę wprowadzono w polu Połącz pola nadrzędne w formularzu głównym są wczytywane do zmiennej, którą należy wprowadzić w polu Połącz pola podrzędne. W odpowiedniej instrukcji SQL zmienna ta jest porównywana z danymi tabeli, do której odwołuje się podformularz. Ewentualnie w polu Połącz pola nadrzędne można wprowadzić nazwę kolumny.

Poniżej opisano działanie tego pola na przykładzie:

Tabela bazy danych, na której oparty jest formularz, to - na przykład - baza klientów ("Klienci"), w której każdemu klientowi przypisany jest jednoznaczny numer w polu danych o nazwie "ID_klienta". Zamówienia klienta są rejestrowane w innej tabeli bazy danych. W przykładzie zakładamy, że użytkownik chce zobaczyć zamówienia każdego klienta wprowadzonego w formularzu. W tym celu należy utworzyć podformularz. W polu Połącz pola nadrzędne należy wprowadzić pole danych z bazy klienta jednoznacznie identyfikujące tego klienta, tj. ID_klienta. W polu Połącz pola podrzędne należy wprowadzić nazwę zmiennej, która ma przyjmować dane z pola ID_klienta - np. x.

W podformularzu powinny być widoczne odpowiednie dane z tabeli zamówień ("Zamówienia") dotyczące każdego identyfikatora klienta (ID_klienta -> x). Jest to możliwe tylko wtedy, gdy każde zamówienie jest przypisane w sposób unikatowy do jednego klienta w tabeli zamówień. Ewentualnie można zastosować inne pole o nazwie ID_klienta; jednak w celu uniknięcia pomyłki z polem o takiej samej nazwie w głównym formularzu, tutaj pole nosi nazwę Numer_klienta.

Teraz należy porównać pole Numer_klienta w tabeli "Zamówienia" z polem ID_klienta w tabeli "Klienci". Można to zrobić na przykład za pomocą zmiennej x i następującej instrukcji SQL:

SELECT * FROM Zamówienia WHERE Numer_klienta =: x (jeśli w podformularzu mają zostać wyświetlone wszystkie dane z tabeli zamówień)

lub:

SELECT Element FROM Zamówienia WHERE Numer_klienta =: x (jeśli w podformularzu mają zostać wyświetlone tylko dane z tabeli zamówień zawierające pole "Element")

Instrukcję SQL można wprowadzić w polu Źródło danych; ewentualnie można utworzyć odpowiednią kwerendę parametryczną, na podstawie której zostanie utworzony podformularz.

## Połącz pola podrzędne

W przypadku tworzenia podformularza określa zmienną, w której mają zostać zapisane możliwe wartości pola nadrzędnego formularza. Jeśli podformularz jest oparty na kwerendzie, określa zmienną zdefiniowaną w tej kwerendzie. W przypadku tworzenia formularza za pomocą instrukcji SQL wprowadzonej w polu Źródło danych określa zmienną wykorzystaną w tej instrukcji. Można wybrać dowolną nazwę zmiennej. W razie konieczności wprowadzenia wielu wartości po każdym wierszu należy nacisnąć kombinację klawiszy Shift + Enter.

Na przykład jeśli jako pole nadrzędne w opcji Połącz pola nadrzędne wprowadzono pole ID_klienta bazy danych, w polu Połącz pola podrzędne można zdefiniować nazwę zmiennej, do której mają być zapisywane wartości z pola ID_klienta bazy danych. Jeśli teraz przez tę zmienną w polu Źródło danych zostanie wprowadzona instrukcja SQL, w podformularzu zostaną wyświetlone odpowiednie wartości.

## Przeanalizuj polecenie SQL

Określa, czy program LibreOffice ma przeanalizować instrukcję SQL. W przypadku włączenia tej opcji można kliknąć przycisk ... obok pola listy Zawartość. Spowoduje to otwarcie okna, w którym kwerendę bazy danych można utworzyć metodą graficzną. Po zamknięciu tego okna instrukcja SQL utworzonej kwerendy zostaje wstawiona w polu listy Zawartość.

## Sortuj

Określa warunki sortowania danych w formularzu. Specyfikacja sortowania jest zgodna z regułami SQL i nie może zawierać klauzuli ORDER BY. Na przykład aby posortować wszystkie rekordy bazy danych w jednym polu w porządku rosnącym, a w drugim polu w porządku malejącym, należy wprowadzić warunek "Imię ASC, Nazwisko DESC" (zakładając, że Imię i Nazwisko są nazwami pól danych).

W trybie użytkownika sortowanie można wykonać za pomocą odpowiednich ikon paska Formularz: Sortuj rosnąco, Sortuj malejąco, Sortuj.

## Typ zawartości

Definiuje, czy źródło danych jest istniejącą tabelą bazy danych lub kwerendą albo czy formularz jest generowany na podstawie instrukcji SQL.

W przypadku wybrania opcji "Tabela" lub "Kwerenda" formularz odwołuje się do tabeli lub kwerendy określonej w opcji Zawartość. W razie konieczności utworzenia nowej kwerendy lub podformularza należy wybrać opcję "SQL". Następnie instrukcję kwerendy SQL lub podformularz można wprowadzić bezpośrednio w polu Zawartość listy we właściwościach formantu na zakładce Dane.

## Zawartość

Określa zawartość, która ma zostać wykorzystana w formularzu. Zawartość może pochodzić z istniejącej tabeli lub kwerendy (utworzonej wcześniej w bazie danych) albo być zdefiniowana instrukcją SQL. Przed wprowadzeniem zawartości konieczne jest zdefiniowanie dokładnego jej typu w polu Typ zawartości.

Jeśli w polu Typ zawartości wybrano pozycję "Tabela" lub "Kwerenda", w polu listy wyświetlane są wszystkie tabele i kwerendy skonfigurowane w wybranej bazie danych.

## Zezwalaj na dodawanie

Określa, czy można dodawać dane.

## Zezwalaj na modyfikacje

Określa, czy dane mogą być modyfikowane.

## Zezwalaj na usuwanie

Określa, czy dane mogą być usuwane.

## Źródło danych

Definiuje źródło danych, do którego ma się odwoływać formularz. Kliknięcie przycisku ... powoduje otwarcie okna dialogowego Otwórz, w którym można wybrać źródło danych.

## Co to jest podformularz?

Formularz jest tworzony na podstawie tabeli bazy danych lub kwerendy bazy danych. Dane są prezentowane w formularzu w sposób czytelny; ponadto za pomocą formularza można wprowadzać lub edytować dane.

W razie konieczności zastosowania formularza, który odwołuje się do danych z tabeli lub kwerendy, a jednocześnie może prezentować dane z innej tabeli, należy zastosować podformularz. Taki podformularz może być np. polem tekstowym zawierającym dane z innej tabeli bazy danych.

Podformularz jest dodatkowym komponentem formularza głównego. Formularz główny może być także określany nazwą "formularza nadrzędnego". Podformularze stosuje się wtedy, gdy z formularza wymagany jest dostęp do więcej niż jednej tabeli. Dostęp do każdej kolejnej tabeli wymaga oddzielnego podformularza.

Po utworzeniu formularz można zmienić na podformularz. W tym celu należy przejść do trybu projektowania i otworzyć Nawigator formularza. Tam należy przeciągnąć formularz (który staje się wtedy podformularzem) do innego formularza (ten ostatni staje się formularzem nadrzędnym).

Użytkownik dokumentu nie widzi, że formularz zawiera podformularze. Widoczny jest jedynie dokument z wprowadzonymi danymi.

Zawartość pola "Połącz pola nadrzędne" określa się na postawie pól danych formularza nadrzędnego. W podformularzu za pomocą opcji "Połącz pola podrzędne" można określić pole, którego zawartość ma być koordynowana z zawartością pola "Połącz pola nadrzędne".

Podczas nawigacji użytkownika po danych formularz zawsze wyświetla bieżący rekord danych. Jeśli zdefiniowano podformularze, ich zawartość jest wyświetlana po krótkim opóźnieniu wynoszącym ok. 200 ms. Dzięki temu opóźnieniu istnieje możliwość szybkiego przejścia do innych rekordów danych w formularzu nadrzędnym. Przejście do następnego rekordu formularza nadrzędnego przed upływem tego czasu oczekiwania powoduje, że dane podformularza nie zostaną pobrane ani wyświetlone.