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

Determines how the navigation should be done using the tab key. Using the tab key, you can move forward in the form. If you simultaneously press the Shift key, the navigation will follow the opposite direction. If you reach the last (or the first) field and press the tab key again, it can have various effects. Define the key control with the following options:

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

Determines if the form only allows the addition of new data (Yes) or if it allows other properties as well (No).

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

## Filtr

Enter the required conditions for filtering the data in the form. The filter specifications follow SQL rules without using the WHERE clause. For example, if you want to display all records with the "Mike" forename, type into the data field: Forename = 'Mike'. You can also combine conditions: Forename = 'Mike' OR Forename = 'Peter'. All records matching either of these two conditions will be displayed.

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

## Pasek nawigacji

Specifies whether the navigation functions in the lower form bar can be used.

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

If you create a subform, enter the data field of the parent form responsible for the synchronization between parent and subform. To enter multiple values, press Shift + Enter after each input line.

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

If you create a subform, enter the variable where possible values from the parent form field can be stored. If a subform is based on a query, enter the variable that you defined in the query. If you create a form using an SQL statement entered in the Data source field, enter the variable you used in the statement. You can choose any variable name. If you want to enter multiple values, press 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

Specifies whether the SQL statement is to be analyzed by LibreOffice. If set to Yes, you can click the ... button next to the Content list box. This will open a window where you can graphically create a database query. When you close that window, the SQL statement for the created query will be inserted in the Content list box.

## Sortuj

Specifies the conditions to sort the data in the form. The specification of the sorting conditions follows SQL rules without the use of the ORDER BY clause. For example, if you want all records of a database to be sorted in one field in an ascending order and in another field in a descending order, enter Forename ASC, Name DESC (presuming Forename and Name are the names of the data fields).

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ść

Determines the content to be used for the form. The content can be an existing table or a query (previously created in the database), or it can be defined by an SQL-statement. Before you enter a content you have to define the exact type in Content type.

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

Determines if data can be added.

## Zezwalaj na modyfikacje

Determines if the data can be modified.

## Zezwalaj na usuwanie

Determines if the data can be deleted.

## Źródło danych

Defines the data source to which the form should refer. If you click the ... button, you call the Open dialog, where you can choose a data source.

## 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.