SFDocuments.Base tjeneste

Innhold
Innholdsliste 🔎︎

# SFDocuments.Basis tjeneste

Tjenesten Base gir en rekke metoder og egenskaper for å forenkle administrasjon og håndtering av LibreOffice Base-dokumenter.

Denne tjenesten er nært knyttet til Dokument-tjenesten, som gir generiske metoder for håndtering av LibreOffice-dokumenter, inkludert basisdokumenter. Derfor utvider Base-tjenesten Dokument-tjenesten og gir ytterligere metoder som er spesifikke for basisdokumenter, slik at brukere kan:

- Få tilgang til databasen i et basisdokument.

- Åpne skjemadokumenter som er lagret i et basisdokument.

- Sjekk om et skjemadokument fra et basisdokument er lastet inn.

Denne tjenesten er tilgjengelig fra LibreOffice 7.2 og nyere.

Se Dokumenttjeneste for å lære mer om metoder og egenskaper som kan brukes til å administrere LibreOffice-dokumenter.

## Tjenestepåkallelse

##### I Basic

Base-tjenesten kan påkalles på en rekke måter. Kodebiten nedenfor bruker metoden CreateBaseDocument fra UI-tjenesten for å lage en ny Base-fil.

Merk at i alle eksemplene er objektet oDoc en forekomst av Base-tjenesten.

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

Base-tjenesten kan også instansieres mens du åpner en eksisterende Base-fil, som vist nedenfor:

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

Hvis et basisdokument allerede er åpent, er det mulig å instansiere Base-tjenesten direkte:

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

##### I Python

Eksemplene ovenfor kan oversettes til Python som følger:

        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")

Bruken av "SFDocuments." understrengen i forrige eksempel er valgfri.

Liste over metoder i Base tjenesten
FormDocuments Forms | GetDatabase IsLoaded | OpenFormDocument

## FormDocuments

Returnerer en matrise med de fulle navnene (bane/navn) til alle skjemadokumenter i basisdokumentet som en nullbasert matrise med strenger.

### Syntaks:

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

### Eksempel:

Kodebiten nedenfor skriver ut navnene på alle skjemadokumenter i gjeldende basisdokument.

##### I Basic

        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

##### I Python

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

For å lære mer om skjemadokumenter, se Skjema tjenestehjelpesiden.

## Forms

Avhengig av parametrene som er gitt, vil denne metoden returnere:

- En nullbasert matrise med navnene på alle skjemaene i et skjemadokument (hvis Skjema-argumentet er fraværende)

- Et SFDocuments.Form-objekt som representerer skjemaet spesifisert i Skjema-argumentet.

### Syntaks:

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

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

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

### Parametre:

skjemadokument: Navnet på et gyldig skjemadokument som en streng som skiller mellom store og små bokstaver.

skjema: Navnet eller indeksnummeret til skjemaet som er lagret i skjemadokumentet. Hvis dette argumentet er fraværende, vil metoden returnere en liste med navnene på alle tilgjengelige skjemaer i skjemadokumentet.

Selv om det er mulig å bruke indeksnummer for å referere til skjemaer, anbefales dette kun når det kun er ett skjema i skjemadokumentet. Hvis det er to eller flere skjemaer, er det å foretrekke å bruke skjemanavnet i stedet.

### Eksempel:

Den første linjen i eksemplet nedenfor returnerer en liste over alle skjemaer i skjemadokumentet "myFormDocument". Den andre linjen returnerer en forekomst av skjematjenesten som representerer skjemaet "myForm".

##### I Basic

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

##### I Python

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

## GetDatabase

Returnerer en forekomst av Database-tjenesten som tillater kjøring av SQL-kommandoer på databasen definert og/eller lagret i gjeldende Base dokument

### Syntaks:

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

### Parametre:

bruker, passord: Valgfrie påloggingsparametere som strenger. Standardverdien for begge parametere er en tom streng "".

### Eksempel:

##### I Basic

        Dim myDoc As Object, myDatabase As Object, ui As Object
        Set ui = CreateScriptService("UI")
        Set myDoc = ui.OpenBaseDocument("C:\Documents\myDb.odb")
        ' Bruker og passord er oppgitt nedenfor, om nødvendig
        Set myDatabase = myDoc.GetDatabase()
        ' ... Kjør spørringer, SQL-setninger, ...
        myDatabase.CloseDatabase()
        myDoc.CloseDocument()

##### I Python

        ui = CreateScriptService("UI")
        myDoc = ui.OpenBaseDocument(r"C:\Documents\myDb.odb")
        myDatabase = myDoc.GetDatabase()
        ' ... Kjør spørringer, SQL-setninger, ...
        myDatabase.CloseDatabase()
        myDoc.CloseDocument()

## IsLoaded

Returnerer Sann hvis det angitte SkjemaDokumentet er åpent.

### Syntaks:

svc.IsLoaded(formdocument: str): bool

### Parametre:

skjemadokument: Navnet på et SkjemaDokument som skal sjekkes, som en streng som skiller mellom store og små bokstaver.

### Eksempel:

##### I Basic

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

##### I Python

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

## OpenFormDocument

Åpner det angitte SkjemaDokument enten i normal eller i designmodus.

Hvis skjemadokumentet allerede er åpent, aktiveres det uten å endre modus. Metoden returnerer Sann hvis skjemadokumentet kunne åpnes.

### Syntaks:

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

### Parametre:

skjemaDokument: Navnet på SkjemaDokument som skal åpnes, som en streng som skiller mellom store og små bokstaver.

designmodus: Hvis dette argumentet er Sann vil SkjemaDokument åpnes i designmodus.

### Eksempel:

##### I Basic

De fleste skjemadokumenter er lagret i roten av Base dokumentet, og de kan åpnes ganske enkelt ved å bruke navnene deres, som i eksemplet nedenfor:

        oDoc.OpenFormDocument("myFormDocument")

Hvis skjemadokumenter er organisert i mapper, blir det nødvendig å inkludere mappenavnet for å spesifisere skjemadokumentet som skal åpnes, som illustrert i følgende eksempel:

        oDoc.OpenFormDocument("myFolder/myFormDocument")

##### I Python

        doc.OpenFormDocument("myFormDocument")

        doc.OpenFormDocument("myFolder/myFormDocument")

All ScriptForge Basic routines or identifiers that are prefixed with an underscore character "_" are reserved for internal use. They are not meant be used in Basic macros.

Lignende emner

SFDatabases.Database service

SFDocuments.Document service

SFDocuments.Form service

ScriptForge.UI service