Contents
Index 🔎︎

# Andmed

Kaardileht Andmed määrab vormi omadused, mis viitavad vormiga lingitud andmebaasile.

Määrab vormi aluseks oleva andmeallika või kas kasutaja saab andmeid redigeerida. Lisaks sortimis- ja filtreerimisfunktsioonidele leiad lisaks kõik vajalik omadused alamvormi loomiseks.

Selle käsu kasutamiseks...

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.

## Analüüsi SQL käsku

Määrab, kas LibreOffice analüüsib SQL-lauset. Kui väärtuseks on seatud Jah, saad klõpsata loendiboksi Sisu kõrval nupul .... See avab akna, kus saad graafiliselt luua andmebaasipäringu. Akna sulgemisel lisatakse päringu jaoks loodud SQL-lause loendiboksi Sisu.

## Andmeallikas

Määrab andmeallika, millele vorm peaks viitama. Nupul ... klõpsamisel kutsutakse dialoog Avamine, kus saad valida andmeallika.

## Filter

Sisesta vormile nõutud tingimused andmete filtreerimiseks. Filtri nõuded järgivad SQL-i reegleid ilma WHERE-lauset kasutamata. Näiteks kui soovid kuvada kõik kirjed, kus eesnimeks on "Mihkel", sisesta andmeväljale: Eesnimi = 'Mihkel'. Lisaks saad tingimusi kombineerida: Forename = 'Mihkel' OR Eesnimi = 'Peeter'. Kuvatakse kõik kirjed, mis vastavad emmale-kummale tingimusele.

Filtrifunktsioon on saadaval kasutajarežiimis vormi navigeerimisriba ikoonide Automaatfilter ja Vaikefilter kaudu.

## Kustutamised lubatud

Määrab, kas andmeid saab kustutada.

## Lingi alamväljad

Alamvormi loomisel sisesta muutuja, kus saab talletada põhivormi väärtused. Kui alamvormi aluseks on päring, sisesta pärings määratud muutuja. Kui lood vormi väljale Andmeallikas sisestatud SQL-lause alusel, sisesta lauses kasutatud muutuja. Saad kasutada suvalise muutuja nime. Mitme väärtuse sisestamiseks vajuta klahvikombinatsiooni Shift + Enter.

Kui näiteks määrasid andmebaasivälja Kliendi_ID põhiväljana väljal Alamväljade linkimine, saad määrata väljal Alamväljade linkimine muutuja nime, milles talletatakse andmebaasivälja Kliendi_ID andmed. Kui nüüd määrad väljal Andmeallikas selle muutuja abil SQL-lause, kuvatakse vastavad väärtused alamvormil.

## Lingi põhiväljad

Kui lood alamvormi, sisesta sünkroniseerimise eest vastutava põhivormi andmeväli põhi- ja alamvormi vahele. Mitme väärtuse sisestamiseks vajuta pärast iga rea sisestust klahvikombinatsiooni Shift + Enter.

Alamvormi aluseks on SQL-päring; täpsemalt parameetri päring. Kui väljale Lingi põhiväljad lisatakse väljanimi, loetakse põhivormil selle välja andmed muutujasse, mille pead sisestama väljale Lingi alamväljad. Vastavas SQL-lauses võrreldakse seda muutujat tabeliandmetega, millele alamvorm viitab. Teine võimalus on sisestada veerunimi väljale Lingi põhiväljad.

Uuri järgmisi näiteid.

Andmebaasitabel, mille alusel vorm põhineb, on näiteks klientide andmebaas "Klient", kus igale kliendile on antud unikaalne number andmeväljal nimega "Kl_ID". Kliendi tellimusi hallatakse teises andmebaasitabelis. Nüüd soovid vaadata iga kliendi tellimusi pärast nende vormile sisestamist. Selleks peaksid looma alamvormi. Sisesta väljale Põhiväljade linkimine andmeväli klientide andmebaasist, mis selgelt tähistab klienti (st Kl_ID). Sisesta väljale Alamväljade linkimine muutuja nimi, mis võtab andmed väljalt Kl_ID vastu (nt x).

Alamvorm peaks esitama vastavad andmed tellimuste tabelist ("Tellimused") iga kliendi ID jaoks (Kliendi_ID -> x). See on võimalik vaid siis, kui iga tellimus on tellimuste tabelis unikaalselt määratud ühele kliendile. Teine võimalus on kasutada teist välja nimega Kliendi_ID; et veenduda, et seda välja ei aeta põhivormi sama väljaga segi, on välja nimi Kliendi_number.

Nüüd võrdle tabeli "Tellimused" välja Kliendi_number tabeli "Kliendid" väljaga Kliendi_ID - kasuta näiteks muutujat x järgmises SQL-lauses:

SELECT * FROM Tellimused WHERE Kliendi_number =: x (kui soovid, et alamvorm esitab tellimuste tabeli kõik andmed)

või:

SELECT Toode FROM Tellimused WHERE Kliendi_number =: x (kui soovid, et tellimuste tabeli alamvorm kuvab vaid välja "Toode" andmed)

SQL-lause saab sisestada väljale Andmeallikas või saad luua vastava parameetripäringu, mida saab kasutada alamvormi loomiseks.

## Lisa ainult andmed

Määrab, kas vorm lubab vaid uute andmete lisamist (Jah) või ka muid omadusi (Ei).

Kui valiku Lisa ainult andmed väärtuseks on seatud "Jah", pole andmete muutmine või kustutamine võimalik.

## Luba lisamine

Määrab, kas andmeid saab lisada.

## Luba muutmine

Määrab, kas andmeid saab muuta.

## Navigeerimisriba

Määrab, kas alumisel vormiribal saab kasutada navigeerimisfunktsioone.

Valikut "Põhivorm" kasutatakse alamvormide jaoks. Kui valid alamvormi jaoks selle valiku, saad navigeerida põhivormi kirjete abil, kui kursor on paigutatud alamvormile. Alamvorm on lingitud põhivormiga 1:1-seosega, seega toimub navigeerimine alati põhivormis.

## Sisu

Määrab vormi jaoks kasutatava sisu. Sisu võib olla olemasolev tabel või päring (eelnevalt andmebaasis loodud) või selle saab määrata SQL-lausega. Enne sisu sisestamist pead määrama täpse tüübi väljal Sisu tüüp.

Kui valisid väljal Sisu tüüp valiku "Tabel" või "Päring", esitab väli kõik valitud andmebaasis seadistatud tabelid ja loendid.

## Sisutüüp

Määrab, kas andmeallikas on olemasolev andmebaas või päring või kas vormi peab looma SQL-lause alusel.

Kui valid sätte "Tabel" või "Päring", viitab vorm sektsioonis Sisu määratud tabelile või päringule. Kui soovid luua uue päringu või alamvormi, pead valima sätte "SQL". Seejärel saad SQL-päringu lause või alamvormi sisestada otse kaardilehe Juhtelemendi omaduste andmed väljale Loendi sisu.

## Sordi

Määrab vormil andmete sortimise tingimused. Sortimise tingimuse nõuded järgivad SQL-i reegleid ilma ORDER BY-lause kasutamiseta. Näiteks kui soovid kõik andmebaasi kirjed sortida ühel väljal kasvavas järjestuses ja teisel väljal kahanevas järjestuses, sisesta "Eesnimi ASC, Nimi DESC" (eeldades, et Eesnimi ja Nimi on andmeväljade nimed).

Vastavaud ikoone vormi navigeerimisribal saab kasutada kasutajarežiimis sortimiseks: Sordi kasvavalt, Sordi kahanevalt, Sordi.

## Tsükkel

Määrab, kuidas peaks navigeerimine toimuma tabeldusklahvi abil. Tabeldusklahvi abil saad vormil edasi liikuda. Kui vajutad samaaegselt klahvi Shift, liigub navigeerimine teises suunas. Kui jõuad viimase (või esimese) väljani ja vajutad uuesti tabeldusklahvi, võib sellel olla mitu erinevat tulemust. Määra klahvi juhtimine järgmiste valikutega.

Valik | Tähendus
Vaikimisi | See säte määrab automaatselt tsükli, mis järgib olemasolevat andmebaasilinki: kui vorm sisaldab andmebaasilinki, käivitab tabeldusklahv vaikimisi viimaselt väljalt väljumisel järgmise või eelmise kirje muutmise (vt Kõik kirjed). Kui andmebaasilinki pole, kuvatakse järgmine/eelmine vorm (vt Praegune leht).
Kõik kirjed | See säte kehtib vaid andmebaasivormidele ja seda kasutatakse kõigis kirjetes liikumiseks. Kui kasutad vormi viimasest kirjest väljumiseks klahvi Tab, muudetakse praegust kirjet.
Aktiivne kirje | See säte kehtib vaid andmebaasivormidele ja seda kasutatakse praeguses kirjes liikumiseks. Kui kasutad vormi viimasest kirjest väljumiseks klahvi Tab, muudetakse praegust kirjet.
Aktiivne leht | Vormi viimaselt väljalt väljumisel liigub kursor järgmise vormi esimesele väljale. See on standardne HTML-vormide jaoks: seega on see säte HTML-vormide jaoks eriti oluline.

## Mis on alamvorm?

Vormid luuakse andmebaasitabeli või andmebaasipäringu alusel. Need esitavad andmed visuaalselt meeldival moel ja neid saab kasutada andmete sisestamiseks või redigeerimiseks.

Kui vajad vormi, mis saab tabeli või päringu andmetele viidata ja lisaks esitada muu tabeli andmed, peaksid looma alamvormi. Näiteks võib see alamvorm olla tekstiväli, mis esitab muu andmebaasitabeli andmed.

Alamvorm on põhivorm lisakomponent. Põhivormi võib nimetada "alusvormiks" või "aluseks". Alamvormi on vaja, kui soovid vormi kaudu ligipääsu mitmele tabelile. Iga lisatabel vajab oma alamvormi.

Pärast vormi loomist saab selle alamvormiks muuta. Selleks liigu kujundusrežiimi ja ava vorminavigaator. Lohista vorminavigaatoris vorm (millest saab alamvorm) teisele vormile (millest saab põhivorm).

Dokumendi kasutaja ei näe, et vormil on alamvormid. Kasutaja näeb vaid dokumenti, kuhu saab andmed sisestada või kus kuvatakse olemasolevad andmed.

Määra põhivormil andmeväljade abil säte Põhivälja linkimine. Alamvormil saab sätte Alamvälja linkimine määrata väljana, mis vastendatakse lingitud põhivälja sisule.

Kui kasutaja liigub andmetes, kuvab vorm alati aktiivse andmekirje. Kui on määratud alamvormid, kuvatakse alamvormide sisu pärast lühikest viivitust (u 200 ms). Selle viivituse jooksul saate kiiresti põhivormi andmekirjeid sirvida. Kui liigud viivituse jooksul järgmisele andmekirjele, pole alamvormi andmeid vaja tuua ega kuvada.