Vsebina
Kazalo 🔎︎

# Storitev SFDocuments.Base

Storitev Base ponuja številne metode in lastnosti, ki lajšajo upravljanje in ravnanje z dokumenti LibreOffice Base.

Ta storitev je tesno povezana s storitvijo Document, ki ponuja splošne metode za ravnanje z dokumenti LibreOffice, vključno z dokumenti programa Base. Zatorej storitev Base razširja storitev Document in ponuja dodatne metode, ki so specifične za dokumente programa Base, saj uporabnikom omogoča:

- pridobivanje dostopa do zbirke podatkov, vsebovane v dokumentu programa Base;

- odpiranje dokumentov obrazcev, shranjenih v dokumentu programa Base;

- preverjanje, če je dokument obrazca iz dokumenta programa Base trenutno naložen.

Ta storitev je na voljo od LibreOffice 7.2 naprej.

Preberite si opis storitve Document service, da izveste več o metodah in lastnostih, ki jih lahko uporabite za upravljanje dokumentov LibreOffice.

## Priklic storitve

##### V Basicu

Storitev Base lahko prikličete na različne načine. Spodnji odlomek kode uporablja metodo CreateBaseDocument iz storitve UI, da ustvari novo datoteko Base.

Upoštevajte, da je v vseh primerih predmet oDoc instanca storitve Base.

        Dim ui As Object, oDoc As Object
        Set ui = CreateScriptService("UI")
        Set oDoc = ui.CreateBaseDocument("C:\Documents\MyFile.odb")

Instanco storitve Base lahko tvorite z odpiranjem obstoječe datoteke programa Base, kot je prikazano spodaj:

        Set oDoc = ui.OpenBaseDocument("C:\Documents\MyFile.odb")

Če je dokument programa Base že odprt, lahko instanco storitve Base tvorite neposredno:

        Dim oDoc As Object
        Set oDoc = CreateScriptService("SFDocuments.Document", "MyFile.odb")

##### V Pythonu

Zgornje primere lahko prevedemo v Python na sledeč način:

        from scriptforge import CreateScriptService
        ui = CreateScriptService("UI")
        doc = ui.CreateBaseDocument(r"C:\Documents\MyFile.odb")

        doc = ui.OpenBaseDocument(r"C:\Documents\MyFile.odb")

        doc = CreateScriptService("SFDocuments.Document", "MyFile.odb")

Uporaba predpone "SFDocuments." v prejšnjem primeru je neobvezna.

Seznam metod v storitvi Base
FormDocuments Forms | GetDatabase IsLoaded | OpenFormDocument

## FormDocuments

Vrne polje s polnimi imeni (pot/ime) vseh dokumentov obrazcev v dokumentu programa Base kot ničelno polje nizov.

### Skladnja:

svc.FormDocuments(): str[0..*]

### Primer:

Spodnji odlomek kode natisne imena vseh dokumentov obrazca v trenutnem dokumentu programa Base.

##### V Basicu

        Dim oDoc as Object, myForms as Object, formName as String
        Set oDoc = CreateScriptService("Document", ThisDataBaseDocument)
        Set myForms = oDoc.FormDocuments()
        For Each formName In myForms
            MsgBox formName
        Next formName

##### V Pythonu

        bas = CreateScriptService("Basic")
        doc = CreateScriptService("Document", bas.ThisDataBaseDocument)
        myForms = oDoc.FormDocuments()
        for formName in myForms:
            bas.MsgBox(formName)

Če želite izvedeti več o dokumentih obrazca, glejte stran pomoči storitve Form.

## Forms

Glede na podane parametre ta metoda vrne:

- Ničelno polje z imeni vseh obrazcev, vsebovanih v dokumentu obrazca (če ni podan argument Form).

- Predmet SFDocuments.Form, ki predstavlja obrazec, naveden v argumentu Form.

### Skladnja:

svc.Forms(formdocument: str): str[0..*]

svc.Forms(formdocument: str, form: str = ''): svc

svc.Forms(formdocument: str, form: int): svc

### Parametri:

formdocument: ime veljavnega dokumenta obrazca, razlikuje med velikimi in malimi črkami.

form: ime ali številka indeksa obrazca, shranjenega v dokumentu obrazca. Če ta argument ni podan, metoda vrne seznam z imeni vseh obrazcev, ki so na voljo v dokumentu obrazca.

Čeprav lahko uporabite številke indeksa za sklic na obrazce, je to priporočljivo le, ko je v dokumentu obrazca zgolj en obrazec. Če sta dva ali več obrazcev, priporočamo uporabo imena obrazca.

### Primer:

Prva vrstica zgornjega primera vrne seznam vseh obrazcev v dokumentu obrazca »myFormDocument«. Druga vrstica vrne instanco storitve Form, ki predstavlja obrazec »mojObrazec«.

##### V Basicu

        Dim formsList as Object : formsList = oDoc.Forms("myFormDocument")
        Dim oForm as Object : oForm = oDoc.Forms("myFormDocument", "myForm")

##### V Pythonu

        formsList = doc.Forms("myFormDocument")
        form = doc.Forms("myFormDocument", "myForm")

## GetDatabase

Vrne instanco storitve Database, ki ponuja dostop do izvajanja ukazov SQL z zbirko podatkov, ki je določena in/ali shranjena v trenutnem dokumentu programa Base.

### Skladnja:

svc.GetDatabase(user: str = '', password: str = ''): svc

### Parametri:

user, password: neobvezna parametra prijave kot niza (uporabniško ime in geslo). Privzeta vrednost obeh parametrov je prazen niz »«.

### Primer:

##### V Basicu

        Dim myDoc As Object, myDatabase As Object, ui As Object
        Set ui = CreateScriptService("UI")
        Set myDoc = ui.OpenBaseDocument("C:\Documents\myDb.odb")
        ' Uporabnik in geslo sta navedena spodaj, če jih potrebujete
        Set myDatabase = myDoc.GetDatabase()
        '   ... Izvedite poizvedbe, ukaze SQL ...
        myDatabase.CloseDatabase()
        myDoc.CloseDocument()

##### V Pythonu

        ui = CreateScriptService("UI")
        myDoc = ui.OpenBaseDocument(r"C:\Documents\myDb.odb")
        myDatabase = myDoc.GetDatabase()
        '   ... Izvedite poizvedbe, ukaze SQL ...
        myDatabase.CloseDatabase()
        myDoc.CloseDocument()

## IsLoaded

Vrne True, če je dani FormDocument trenutno odprt.

### Skladnja:

svc.IsLoaded(formdocument: str): bool

### Parametri:

formdocument: ime formdocument, ki ga želite preveriti, razlikuje med velikimi in malimi črkami.

### Primer:

##### V Basicu

        If Not oDoc.IsLoaded("myFormDocument") Then
            oDoc.OpenFormDocument("myFormDocument")
        End If

##### V Pythonu

        if not doc.IsLoaded("myFormDocument"):
            doc.OpenFormDocument("myFormDocument")

## OpenFormDocument

Odpre navedeni FormDocument v navadnem ali oblikovalnem načinu.

Če dokument obrazca že odprt, se aktivira brez spremembe svojega načina. Metoda vrne True, če je odpiranje dokumenta obrazca uspelo.

### Skladnja:

svc.OpenFormDocument(formdocument: str, designmode: bool = False): bool

### Parametri:

formDocument: ime formDocument, ki ga želite odpreti, razlikuje med velikimi in malimi črkami.

designmode: če ima ta argument vrednost True, bo FormDocument odprt v oblikovalnem načinu.

### Primer:

##### V Basicu

Večina dokumentov obrazcev je shranjenih v korenski mapi dokumenta programa Base in odprete jih lahko enostavno z njihovim imenom, kot v spodnjem primeru:

        oDoc.OpenFormDocument("mojDokumentObrazca")

Če so dokumenti obrazca organizirani v mapah, je potrebno vključiti ime mape, da določite dokument obrazca, ki ga želite odpreti, kot je to nakazano v naslednjem primeru:

        oDoc.OpenFormDocument("mojaMapa/mojDokumentObrazca")

##### V Pythonu

        doc.OpenFormDocument("myFormDocument")

        doc.OpenFormDocument("myFolder/myFormDocument")

Vsi podprogrami ali identifikatorji ScriptForge Basic s predpono podčrtaja (»_«) so rezervirani za interno uporabo. Uporabi v makrih Basic niso namenjeni.

Podobne teme

Storitev SFDatabases.Database

Storitev SFDocuments.Document

Storitev SFDocuments.Form

Storitev ScriptForge.UI