Inhoud
Index 🔎︎

# Gegevens

Op het tabblad Gegevens definieert u de formuliereigenschappen die verwijzen naar de database die aan het formulier is gekoppeld.

De gegevensbron definiëren waarop het formulier moet worden gebaseerd of aangeven welke gegevens door de gebruiker kunnen worden bewerkt. Los van de sorteer- en filterfuncties, worden alle benodigde eigenschappen weergegeven voor het maken van een subformulier.

Om toegang te krijgen tot deze functie..

Open het contextmenu van het geselecteerde formulierelement en kies Formulier, tabblad Gegevens.

Open de werkbalk Besturingselementen of Formulierontwerp en klik op het pictogram Besturingselement. Klik vervolgens op het tabblad Gegevens.

## Alleen gegevens toevoegen

Bepalen of in het formulier alleen nieuwe gegevens kunnen worden toegevoegd (Ja) of dat ook andere eigenschappen zijn toestaan (Nee).

Als Alleen gegevens toevoegen is ingesteld op 'Ja', kunt u geen gegevens wijzigen of verwijderen.

## Cyclus

Bepalen op welke manier de navigatie moeten worden uitgevoerd met behulp van de Tabtoets. Met de Tabtoets kunt u voorwaarts door het formulier bladeren. Als u tegelijkertijd op Shift drukt, wordt de navigatie de tegengestelde richting uitgevoerd. Als u het laatste (of het eerste) veld bereikt en nogmaals op de Tabtoets drukt, kan dat verschillende effecten hebben. Definieer de toetsbesturing met de volgende opties:

Optie | Betekenis
Standaard | Op basis van deze instelling wordt automatisch een cyclus gedefinieerd die een bestaande databasekoppeling volgt: Als het formulier een databasekoppeling bevat, wordt met de Tabtoets standaard een wijziging geïnitieerd in de volgende of de vorige record wanneer het laatste veld wordt verlaten (zie Alle records). Als er geen databasekoppeling is, wordt het volgende/vorige formulier weergegeven (zie Huidige pagina).
Alle records | Deze optie is alleen van toepassing op databaseformulieren en wordt gebruikt voor het navigeren door alle records. De huidige record wordt gewijzigd als het laatste veld van een formulier wordt verlaten via de Tabtoets.
Actieve record | Deze optie is alleen van toepassing op databaseformulieren en wordt gebruikt voor het navigeren binnen de huidige record. De huidige record wordt gewijzigd als het laatste veld van een formulier wordt verlaten via de Tabtoets.
Huidige pagina | Bij verlaten van het laatste veld van een formulier, springt de cursor naar het eerste veld in het volgende formulier. Dit is standaard voor HTML-formulieren; deze optie is dus bijzonder relevant voor HTML-formulieren.

## Filteren

Voer de vereiste voorwaarden voor het filteren van de gegevens in het formulier in. De filterspecificaties volgen SQL-regels zonder de WHERE-clausule te gebruiken. Bijvoorbeeld: als u alle records wilt weergeven die de voornaam "Mike" hebben, typt u Voornaam = 'Mike' in het gegevensveld. U kunt ook voorwaarden combineren: Voornaam = 'Mike' OR Voornaam = 'Peter'. lle records die voldoen aan één van de twee voorwaarden zullen worden weergegeven.

De functie Filteren is in de gebruikersmodus beschikbaar via de pictogrammen AutoFilter en Standaardfilter op de werkbalk Formuliernavigatie.

## Gegevens toevoegen

Bepalen of gegevens kunnen worden toegevoegd.

## Gegevens wijzigen

Bepalen of de gegevens kunnen worden gewijzigd.

## Gegevensbron

Definieert de gegevensbron waarnaar het formulier moet verwijzen. Als u op de knop ... klikt, wordt het dialoogvenster Openen weergegeven, waarin u een gegevensbron kunt kiezen.

## Hoofdvelden koppelen

Als u een subformulier maakt, voert u het gegevensveld in van het hoofdformulier dat verantwoordelijk is voor de synchronisatie tussen het hoofdformulier en het subformulier. Als u verschillende waarden wilt intoetsen, drukt u op Shift+Enter na elke invoerregel.

Het subformulier is gebaseerd op een SQL-query, of beter gezegd, op een parameterquery. Als in het vak Hoofdvelden koppelen een veldnaam is ingevoerd, worden de gegevens in dat veld in het hoofdformulier gelezen naar een variabele die u moet invoeren in het veld Slave-velden koppelen. In een toepasselijke SQL-instructie wordt deze variabele vergeleken met de tabelgegevens waarnaar in het subformulier wordt verwezen. U kunt ook de kolomnaam in het vak Hoofdvelden koppelen invoeren.

Bekijk het volgende voorbeeld:

De databasetabel waarop het formulier wordt gebaseerd, bijvoorbeeld een klantendatabase ("Klanten"), waarin elke klant over een uniek nummer beschikt in een gegevensveld met de naam "Klant_ID". De orders van de klant worden bijgehouden in een andere databasetabel. U wilt nu alle klantorders bekijken nadat deze in het formulier zijn ingevoerd. Hiertoe moet u een subformulier maken. Voer onder Hoofdvelden koppelen het gegevensveld uit de klantendatabase in waarmee de klant wordt aangegeven, het veld KLANT_ID. Voer onder Slave-velden koppelen de naam in van een variabele waarmee de gegevens van het veld KLANT_ID worden geaccepteerd, bijvoorbeeld x.

In het subformulier moeten de juiste gegevens uit de ordertabel ("Orders") voor elke klant of klant ID (Klant_ID -> x) worden weergegeven. Dit is alleen mogelijk als elke order uniek is toegewezen aan één klant in de ordertabel. Als alternatief kunt u een veld gebruiken met de naam "K_ID"; om er zeker van te zijn dat dit veld niet wordt verward met het veld in het hoofdformulier ("Klant_ID").

Nu kunt u eenvoudig de waarde in het veld "K_ID" in de tabel "Orders" vergelijken met de waarde in het veld "Klant_ID" in de tabel "Klanten". U kunt dit bijvoorbeeld doen met behulp van de x-variabele met de volgende SQL-instructie:

SELECT * FROM Orders WHERE K_ID =: x (als in het subformulier alle gegevens uit de ordertabel moeten worden weergegeven)

of:

SELECT Item FROM Orders WHERE K_ID =: x (als u in het subformulier uit de ordertabel alleen de gegevens wil weergeven die zijn opgenomen in het veld "Item")

De SQL-instructie kan worden ingevoerd in het veld Gegevensbron of u kunt een parameterquery maken die u kunt gebruiken om het subformulier te maken.

## Inhoud

Bepaalt welke inhoud in het formulier moet worden weergegeven. De inhoud kan een bestaande tabel of een query zijn (eerder gemaakt in de database) of kan worden gedefinieerd door een SQL-instructie. Voordat u de inhoud invoert, moet u het juiste type definiëren in Soort inhoud.

Als u Tabel of Query hebt geselecteerd in Soort inhoud, worden in het vak alle tabellen en query's weergegeven die in de geselecteerde database zijn ingesteld.

## Navigatiebalk

Bepalen of de navigatiefuncties kunnen worden gebruikt in het onderste gedeelte van het formulier.

De optie "Bovenliggende formulier" wordt gebruikt voor subformulieren. Als u deze optie kiest voor een subformulier, kunt u navigeren met behulp van de records van het hoofdformulier als de cursor zich in het subformulier bevindt. Omdat een subformulier is gekoppeld aan het hoofdformulier met een 1:1-verhouding, wordt de navigatie altijd uitgevoerd in het hoofdformulier.

## SQL-opdracht analyseren

Aangeven of de SQL-instructie moet worden geanalyseerd in LibreOffice. Als deze optie is ingesteld op Ja, kunt u op de knop ... naast de keuzelijst Inhoud klikken. Er wordt een venster geopend waarin u de databasequery grafisch kunt maken. Als u het venster sluit, wordt de SQL-instructie voor de gemaakte query toegevoegd aan de keuzelijst Inhoud.

## Slave-velden koppelen

Als u een subformulier maakt, moet u de variabele invoeren waar mogelijke waarden uit het veld van het hoofdformulier kunnen worden opgeslagen. Als een subformulier wordt gebaseerd op een query, voert u de variabele in die u in de query hebt gedefinieerd. Als u een formulier maakt met behulp van een SQL-instructie die is ingevoerd in het veld Gegevensbron, voert u de variabele in die in de instructie is gebruikt. U kunt elke gewenste variabelenaam kiezen. Als u verschillende waarden wilt invoeren, drukt u op Shift+Enter.

Als u bijvoorbeeld het databaseveld "Klant_ID" als bovenliggend veld onder Hoofdvelden koppelen hebt opgegeven, kunt u onder Slave-velden koppelen de naam definiëren van de variabele waarin de waarden van het databaseveld "Klant_ID" moeten worden opgeslagen. Als u nu een SQL-instructie in het vak Gegevensbron opgeeft met behulp van deze variabele, worden de relevante waarden in het subformulier weergegeven.

## Soort inhoud

Aangeven of de gegevensbron een bestaande databasetabel of -query is en of het formulier dat moet worden gegenereerd, is gebaseerd op een SQL-instructie.

Als u Tabel of Query kiest, wordt in het formulier verwezen naar de tabel of query die u opgeeft onder Inhoud. Als u een nieuwe query of een subformulier, wilt maken, moet u de optie SQL kiezen. Vervolgens kunt u de instructie voor de SQL-query of het subformulier direct invoeren in het vak Lijstinhoud op het tabblad met eigenschappen voor besturingselementen.

## Sorteren

De voorwaarden opgeven voor het sorteren van de gegevens in het formulier. Voor de sorteervoorwaarden worden de SQL-regels gevolgd, zonder het gebruik van de ORDER BY-clausule. Als u bijvoorbeeld wilt dat alle records van een database worden gesorteerd op één veld in een oplopende volgorde en op andere velden in een aflopende volgorde, moet u (Naam van veld 1) ASC, (Naam van veld2) DESC invoeren.

De daarvoor bestemde pictogrammen op de werkbalk Formuliernavigatie kunnen in gebruikersmodus worden gebruikt om te sorteren: Oplopend sorteren, Aflopend sorteren, Sorteren.

## Verwijderen toestaan

Bepalen of gegevens kunnen worden verwijderd.

## Wat is een subformulier?

Formulieren worden gemaakt op basis van een databasetabel of databasequery. In formulieren worden de gegevens op grafische wijze weergegeven en kunnen worden gebruikt om nieuwe gegevens in te voeren of bestaande gegevens te bewerken.

Als u een formulier nodig hebt dat naar de gegevens in een tabel of query kan verwijzen en ook gegevens uit een andere tabel kan weergeven, dan kunt u een subformulier in uw formulier maken. Dit subformulier kan bijvoorbeeld een tekstvak bevatten, waarin de gegevens uit een tweede databasetabel zijn opgenomen.

Een subformulier is een aanvullende component van het hoofdformulier. Het hoofdformulier wordt het 'bovenliggend' formulier of 'master' genoemd. Subformulieren zijn nodig als u toegang wilt tot meerdere tabellen uit een formulier. Voor elke tabel is een eigen subformulier nodig.

Nadat u een formulier hebt gemaakt, kunt u het veranderen in een subformulier. Ga hiervoor naar de ontwerpmodus en open de Formulier-navigator. In de Formulier-navigator sleept u een formulier (dat een subformulier moet worden) op een ander formulier (dat een model zal worden).

De gebruiker van het document kan niet zien of een formulier over subformulieren beschikt. De gebruiker ziet alleen een formulier waarin gegevens zijn ingevoerd of waarin bestaande gegevens worden weergegeven.

Specificeer het hoofdveld voor koppeling bij de gegevensvelden in het hoofdformulier. In het subformulier kan het slave-veld voor koppeling ingesteld worden als een veld dat in overeenstemming gebracht zal worden met de inhoud van het hoofdveld voor koppeling.

Wanneer de gebruiker door de gegevens navigeert, geeft het formulier altijd de huidige gegevensrecord weer. Als er subformulieren gedefinieerd zijn, wordt de inhoud van deze formulieren na een korte vertraging van ongeveer 200 ms weergegeven. U kunt dan snel door de gegevensrecords van het hoofdformulier bladeren. Als u naar de volgende hoofdgegevensrecord gaat binnen de vertragingstijd, worden de gegevens van het subformulier niet opgehaald en weergegeven.