Tenesta SFDocuments.Base

Tenesta Base inneheld ei rad metodar og eigenskapar for å forenkla administreringa og hanfsaminga av LibreOffice Base-dokument.

Denne tenesta er nært knytt til tenesta ;Document, som inneheld generiske metodar for handsaming av LibreOffice-dokument, inkludert Base-dokument. Difor utvidar tenesta Base Document-tenesta og inneheld fleire metodar som er spesifikke for Base-dokument, slik at brukarane kan:

tip

Sjå tenesta Document for å læra meir om metodane og eigenskapane som kan brukast for å administrera LibreOffice-dokument.


Oppkall av tenester

I Basic

Tenesta Base kan kallast opp på ulike måtar. Kodesnutten nedanfor brukar metoden CreateBaseDocument i tenesta UI til å laga ei ny Base-fil.

Merk at i alle eksempla er objektet oDoc ein førekomst av tenesta Base.


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

Base-tenesta kan også startast medan du opnar ei eksisterande basisfil som vist nedanfor:


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

Viss eit Base-dokument er opna frå før, er det råd å starta tenesta Base direkte:


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

Eksempla ovanfor kan omsetjast til Python slik:


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

Bruk av delstrengen «SFDocuments.» i det førre eksempelet er valfritt.


Liste over metodar i tenesta Base

CloseFormDocument
FormDocuments
Forms

GetDatabase
IsLoaded
OpenFormDocument

PrintOut
SetPrinter


CloseFormDocument

Closes the given form document. Returns True if closure is successful.

Syntaks:

svc.CloseFormDocument(formdocument: str): bool

Parametrar:

formdocument: The name of the FormDocument to be closed, as a case-sensitive string.

Eksempel:

If form documents are organized in folders, it is necessary to include the folder name to specify the form document to be opened, as illustrated in the following examples:

I Basic

    oDoc.CloseFormDocument("Folder1/myFormDocument")
  
I Python

    doc.CloseFormDocument('Folder1/myFormDocument')
  

FormDocuments

Returnerer ei matrise med det fulle namnet (sti/namn) på alle skjemadokument i Base-dokumentet som ei null-basert matrise av strengar.

Syntaks:

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

Eksempel:

Kodesnutten nedanfor skriv ut namna på alle skjemadokumenta i det gjeldande Base-dokumentet.

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 = doc.FormDocuments()
    for formName in myForms:
        bas.MsgBox(formName)
  
tip

For å læra meir om skjema-dokument, sjå hjelpesidene til tenesta Form.


Forms

Avhengig av kva parameterar som er gjevne, vil denne metoden returnere:

Syntaks:

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

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

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

Parametrar:

skjemadokument: Namnet på eit gyldig skjemadokument som ein streng som skil mellom store og små bokstavar.

skjema: Namnet eller indeksnummeret på skjemaet som er lagra i skjemadokumentet. Viss dette argument manglar, vil metoden returnera ei liste med namna på alle skjemaa som er tilgjengelege i skjemadokumentet.

note

Sjølv om det er mogleg å bruka indekstal til å referere til skjema, vert dette tilrådd brukt berre når det er eitt skjema i skjemadokumentet. Viss det er fleire skjema, bør du helst bruka skjemanamnet i staden.


Eksempel:

Den første linja i eksemplet nedanfor returnerer ei liste over alle skjemaa i skjemadokumentet "myFormDocument". Den andre linja returnerer eit eksemplar av tenesta «Form» 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 ein førekomst av tenesta Database som tillet utføringa av SQL-kommandoar som er definerte og/eller lagra i det gjeldande Base-dokumentet.

Syntaks:

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

Parametrar:

brukar, passord: Valfrie påloggingsparameterar som strengar. Standardverdien for begge parametera er ein 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")
    ' Brukar og passord vert sett inn nedanfor om nødvendig
    Set myDatabase = myDoc.GetDatabase()
    '   … Køyr spørjingar, SQL-uttrykk, …
    myDatabase.CloseDatabase()
    myDoc.CloseDocument()
  
I Python

    ui = CreateScriptService("UI")
    myDoc = ui.OpenBaseDocument(r"C:\Documents\myDb.odb")
    myDatabase = myDoc.GetDatabase()
    '   … Køyr spørjingar, SQL-uttrykk, …
    myDatabase.CloseDatabase()
    myDoc.CloseDocument()
  

IsLoaded

Returner True (sann) viss det spesifiserte FormDocument er ope.

Syntaks:

svc.IsLoaded(formdocument: str): bool

Parametrar:

skjemadokument: Namnet på eit Skjemadokument som skal kontrollerast om det inneheld ein streng som skil mellom små og store bokstavar.

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

Opnar det spesifiserte FormDocument i anten normal- eller i utformings-modus.

Viss skjemadokumentet alt er opna, vert det aktivert utan å endra modus. Metoden returnerer Sann viss skjemadokumentet kan opnast.

Syntaks:

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

Parametrar:

skjemadokument: Namnet på eit Skjemadokument skal opnast som ein streng som skil mellom små og store bokstavar.

utformingsmodus: Viss dette argument er Sann vert FormDocument opna i utformingsmodus-

Eksempel:

I Basic

Dei fleste skjemadokumenta er lagra i rota til Base-dokumentet og kan opanast ved å bruka namnet, som i eksempelet nedanfor:


    oDoc.OpenFormDocument("myFormDocument")
  

Viss skjemadokumenta er organiserte i mapper, er det nødvendig å ta med mappenamnet for å spesifisera kva skjemadokument som skal opnast. Dette er vist i det neste eksempelet:


    oDoc.OpenFormDocument("myFolder/myFormDocument")
  
I Python

    doc.OpenFormDocument("myFormDocument")
  

    doc.OpenFormDocument("myFolder/myFormDocument")
  

PrintOut

This method sends the content of the given form document to a default printer or a printer defined by the SetPrinter() method.

Returns True if the document was successfully printed.

Syntaks:

svc.PrintOut(opt formdocument: str, pages: str = "", copies: num = 1): bool

Parametrar:

formdocument: A valid document form name as a case-sensitive string. The form document must be open. It is activated by the method.

pages: The pages to print as a string, like in the user interface. Example: "1-4;10;15-18". Default is all pages.

copies: The number of copies. Default is 1.

Eksempel:

I Basic

    If oDoc.PrintOut("myForm", "1-4;10;15-18", Copies := 2) Then
        ' ...
    End If
  
I Python

    if doc.PrintOut('myForm', copies=3, pages='45-88'):
        # ...
  

SetPrinter

Define the printer options for a form document. The form document must be open.

Returns True when successful.

Syntaks:

svc.SetPrinter(opt formdocument: str, opt printer: str, opt orientation: str, paperformat: str): bool

Parametrar:

formdocument: A valid document form name as a case-sensitive string.

printer: The name of the printer queue where to print to. When absent, the default printer is set.

orientation: Either PORTRAIT or LANDSCAPE. When absent, left unchanged with respect to the printer settings.

paperformat: Specifies the paper format as a string value that can be either A3, A4, A5, LETTER, LEGAL or TABLOID. Left unchanged when absent.

Eksempel:

I Basic

    oDoc.SetPrinter("myForm", Orientation := "PORTRAIT")
  
I Python

    doc.SetPrinter('myForm', paperformat='TABLOID')
  
warning

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 or Python scripts.