Tjenesten SFDocuments.Base

Tjenesten Base giver et antal metoder og egenskaber, der letter administration og hÄndtering af LibreOffice Base-dokumenter.

Denne tjeneste er nÊrt relateret til tjenesten Document, som giver generiske metoder til at hÄndtere LibreOffice-dokumenter, herunder Base-dokumenter. Derfor udvider tjenesten Base tjenesten Document og giver yderligere metoder, der er specifikke for Base-dokumenter og lader brugerne:

note

Denne tjeneste er tilgĂŠngelig fra LibreOffice 7.2 og fremefter.


tip

Henvise til tjenesten Document for at fÄ mere at vide om metoder og egenskaber, der kan bruges til at administrere LibreOffice-dokumenter.


Kald af tjeneste

In Basic

Tjenesten Base kan kaldes pÄ forskellige mÄder. Kodestumpen herunder bruger metoden CreateBaseDocument i tjenesten UI til at oprette en ny Base-fil.

BemĂŠrk, at i alle eksempler er objektet oDoc en forekomst af tjenesten Base.


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

TjenestenBase og kan instantieres under Äbningen af en eksisterende Base-fil, som vist herunder:


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

Hvis et Base-dokument allerede er Äbent, er det muligt at instantiere tjenesten CBase direkte:


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

The examples above can be translated to Python as follows:


    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

Brugen af delstrengen "SFDocuments." i det foregÄende eksempel er valgfri.


Liste over metoder i tjenesten Base

FormDocuments
Forms

GetDatabase
IsLoaded

OpenFormDocument


FormDocuments

Returnerer en matrix med de fulde navne (sti/navn) pÄ alle formular-dokumenter i Base-dokumentet som en nul-baseret matrix af strenge.

Syntaks:

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

Eksempel:

Kodestumpen herunder udskriver navnene pÄ alle formular-dokumenter i det aktuelle Base-dokument.

In 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
  
In Python

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

For at fÄ mere at vide om formular-dokumenter finder du hjÊlpesiden til tjenesten Form.


Forms

AfhĂŠngig af de givne parametere returnerer denne metode:

Syntaks:

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

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

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

Parametre:

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

form: The name or index number of the form stored in the form document. If this argument is absent, the method will return a list with the names of all forms available in the form document.

note

Selv om det er muligt at bruge indekstal til at henvise til formularer, anbefales dette kun, nÄr der kun er en formular i formulardokumentet. Hvis der er to eller flere formularer, mÄ det foretrÊkkes at bruge formularnavnet i stedet.


Eksempel:

The first line of the example below returns a list of all forms in the form document "myFormDocument". The second line returns an instance of the Form service representing the form "myForm".

In Basic

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

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

GetDatabase

Returnerer en forekomdt af tjenesten Database, der pÄ databasen tillader udfÞrelsen af SQL-kommandoer, der er defineret og/eller gemt i det aktuelle Base-dokument

Syntaks:

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

Parametre:

user, password: Optional login parameters as strings. The default value for both parameters is an empty string "".

Eksempel:

In Basic

    Dim myDoc As Object, myDatabase As Object, ui As Object
    Set ui = CreateScriptService("UI")
    Set myDoc = ui.OpenBaseDocument("C:\Documents\myDb.odb")
    ' Bruger og adgangskode anfĂžres herunder, om nĂždvendigt
    Set myDatabase = myDoc.GetDatabase()
    '   ... KĂžr forespĂžrgsler, SQL-sĂŠtninger, ...
    myDatabase.CloseDatabase()
    myDoc.CloseDocument()
  
In Python

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

IsLoaded

Returner True (sand), hvis det angivne FormDocument aktuelt er Äbent.

Syntaks:

svc.IsLoaded(formdocument: str): bool

Parametre:

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

Eksempel:

In Basic

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

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

OpenFormDocument

Åbner det angivne FormDocument i enten normal- eller i design-tilstand.

Hvis formular-dokumentet allerede er Äbent, aktiveres det uden at Êndre tilstand. Metoden returnerer True (sand), hvis formulardokumentet kunne Äbnes.

Syntaks:

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

Parametre:

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

designmode: If this argument is True the FormDocument will be opened in design mode.

Eksempel:

In Basic

De fleste formulardokumenter gemmes i roden af Base-dokumentet og de kan Äbnes ved simpelthen at bruges deres navne, som i eksemplet herunder:


    oDoc.OpenFormDocument("myFormDocument")
  

Hvis formulardokumenter er organiseret i mapper, bliver det nÞdvendigt at medtage mappenavnet til at angive det formulardokument, der skal Äbnes, som illustreret i det fÞlgende eksempel:


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

    doc.OpenFormDocument("myFormDocument")
  

    doc.OpenFormDocument("myFolder/myFormDocument")
  
warning

Alle ScriptForge Basic-rutiner eller identifikatorer, som indledes med et understregningstegn "_" er reserveret til internt brug. De er ikke beregnet til brug i Basic-makroer.