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

Eksemplerne ovenfor kan oversÊttes til Python pÄ denne mÄde:


    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:

formulardokument: Navnet pÄ et gyldigt formulardokument som en streng med Stort-og-smÄt.

formular: Navnet eller indeksnummeret pÄ formularen, der er gemt i formulardokumentet. Hvis dette argument mangler, returnerer metoden en liste med navne pÄ alle formularer, der er tilgÊngelige i formulardokumentet.

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:

Den fĂžrste linje i eksemplet herunder returnerer en liste over alle formularer i formulardokumentet "myFormDocument". Den anden linje returnerer et eksemplar af tjenesten Formular, der reprĂŠsenterer formularen "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:

bruger, adgangskode: Valgfrie adgangsparametre som strenge. StandardvĂŠrdien for begge parametre er en tom streng "".

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()
    '   ... KĂžr forespĂžrgsler, SQL-udtryk, ...
    myDatabase.CloseDatabase()
    myDoc.CloseDocument()
  

IsLoaded

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

Syntaks:

svc.IsLoaded(formdocument: str): bool

Parametre:

formulardokument: Navnet pÄ et Formulardokument, der skal tjekkes, som en en streng med Stort-og-smÄt.

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:

Formulardokument: Navnet pÄ det Formulardokument, der skal Äbnes, som en streng med Stort-og-smÄt.

designtilstand: Hvis dette argument er True (sand) Ă„bnes FormDocument i designtilstand.

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.


StĂžt os venligst!