LibreOffice 25.2 Hjælp
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:
Få adgang til databasen, der er indeholdt i et Base-dokument.
Åbne formular-dokumenter, der er gemt i et Base-dokument.
Tjekke om et formulardokument fra et Base-dokument aktuelt er indlæst.
Henvise til tjenesten Document for at få mere at vide om metoder og egenskaber, der kan bruges til at administrere LibreOffice-dokumenter.
Før brug af tjenesten Base skal biblioteket ScriptForge være indlæst eller importeret:
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")
  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")
  Brugen af delstrengen "SFDocuments." i det foregående eksempel er valgfri.
| Liste over metoder i tjenesten Base | ||
|---|---|---|
Lukker det givne formulardokument. Returnerer True (sand), hvis lukningen lykkes.
The method CloseFormDocument is deprecated since LibreOffice 7.6. Although it is still available, it may be removed from the Base service in a future release. Use the CloseDocument method from the FormDocument service instead.
svc.CloseFormDocument(formdocument: str): bool
formulardokument: Navnet på det FormDocument (formulardokument), der skal lukkes, som en streng med Stort-og-småt.
Hvis formulardokumenter er organiserede i mapper, er det nødvendigt at medtage mappenavnet for at angive det formulardokument, der skal åbnes, som vist i de følgende eksempler:
    oDoc.CloseFormDocument("Folder1/myFormDocument")
  
    doc.CloseFormDocument('Folder1/myFormDocument')
  Returnerer en matrix med det fulde navn (sti/navn) på alle formulardokumenter i Base-dokumentet som en nul-baseret streng-matrix.
svc.FormDocuments(): str[0..*]
Kodestumpen herunder udskriver navnene på alle formular-dokumenter i det aktuelle Base-dokument.
    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
  
    bas = CreateScriptService("Basic")
    doc = CreateScriptService("Document", bas.ThisDataBaseDocument)
    myForms = doc.FormDocuments()
    for formName in myForms:
        bas.MsgBox(formName)
  To learn more about form documents, refer to ScriptForge.FormDocument service help page.
Afhængig af de givne parametere returnerer denne metode:
En nul-baseret matrix med navnene på alle formularer i et formulardokument (hvis argumentet Form mangler)
Et SFDocuments.Form-objekt, der repræsenterer den formular, der er angivet i argumentet Form.
The method Forms is deprecated since LibreOffice 7.6. Although it is still available, it may be removed from the Base service in a future release. Use the Forms method from the FormDocument service instead.
svc.Forms(formdocument: str): str[0..*]
svc.Forms(formdocument: str, form: str = ''): svc
svc.Forms(formdocument: str, form: int): svc
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.
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.
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".
    Dim formsList as Object : formsList = oDoc.Forms("myFormDocument")
    Dim oForm as Object : oForm = oDoc.Forms("myFormDocument", "myForm")
  
    formsList = doc.Forms("myFormDocument")
    form = doc.Forms("myFormDocument", "myForm")
  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
svc.GetDatabase(user: str = '', password: str = ''): svc
bruger, adgangskode: Valgfrie adgangsparametre som strenge. Standardværdien for begge parametre er en tom streng "".
    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()
  
    ui = CreateScriptService("UI")
    myDoc = ui.OpenBaseDocument(r"C:\Documents\myDb.odb")
    myDatabase = myDoc.GetDatabase()
    #   ... Udfør forespørgsler, SQL-udtryk, ...
    myDatabase.CloseDatabase()
    myDoc.CloseDocument()
  Returner True (sand), hvis det angivne FormDocument aktuelt er åbent.
svc.IsLoaded(formdocument: str): bool
formulardokument: Navnet på et Formulardokument, der skal tjekkes, som en en streng med Stort-og-småt.
    If Not oDoc.IsLoaded("myFormDocument") Then
        oDoc.OpenFormDocument("myFormDocument")
    End If
  
    if not doc.IsLoaded("myFormDocument"):
        doc.OpenFormDocument("myFormDocument")
  Opens the specified FormDocument either in normal or in design mode. This method returns a FormDocument service instance corresponding to the specified form document.
If the form document is already open, it is activated without changing its mode.
If the specified form document does not exist, then Nothing is returned.
svc.OpenFormDocument(formdocument: str, designmode: bool = False): svc
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.
De fleste formulardokumenter gemmes i roden af Base-dokumentet og de kan åbnes ved simpelthen at bruges deres navne, som i eksemplet herunder:
    Dim oFormDoc As Object
    oFormDoc = 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:
    oFormDoc = oDoc.OpenFormDocument("myFolder/myFormDocument")
  
    formDoc = doc.OpenFormDocument("myFormDocument")
  
    formDoc = doc.OpenFormDocument("myFolder/myFormDocument")
  Opens the Data View window of the specified query and returns an instance of the Datasheet service.
The query can be opened either in normal or design mode.
If the query is already open, its Data View window will be made active.
Closing the Base document will cause the Data View window to be closed as well.
svc.OpenQuery(queryname: str, designmode: bool = False): obj
queryname: The name of an existing query as a case-sensitive String.
designmode: If this argument is set to True the query is opened in design mode. Otherwise it is opened in normal mode (Default = False).
      oDoc.OpenQuery("MyQuery", DesignMode := True)
    
      doc.OpenQuery("MyQuery", designmode=True)
    Opens the Data View window of the specified table and returns an instance of the Datasheet service.
The table can be opened either in normal or design mode.
If the table is already open, its Data View window will be made active.
Closing the Base document will cause the Data View window to be closed as well.
svc.OpenTable(tablename: str, designmode: bool = False): obj
tablename: The name of an existing table as a case-sensitive String.
designmode: If this argument is set to True the table is opened in design mode. Otherwise it is opened in normal mode (Default = False).
      oDoc.OpenTable("MyTable", DesignMode = False)
    
      doc.OpenTable("MyTable", designmode=False)
    Denne metoder sender indholdet af det givne formulardokument til en standardprinter eller en printer, der er defineret med metoden SetPrinter() (sæt_printer).
Returnerer True (sand), hvis dokumentet blev printet med succes.
The method PrintOut is deprecated since LibreOffice 7.6. Although it is still available, it may be removed from the Base service in a future release. Use the PrintOut method from the FormDocument service instead.
svc.PrintOut(opt formdocument: str, pages: str = "", copies: num = 1): bool
formulardokument: Et gyldigt dokumentformularnavn som en Stort-og-småt streng. Formulardokumentet skal være åbent. Det aktiveres af metoden.
sider: De sider, der skal printes, som en streng, ligesom i brugerfladen, Eksempel: "1-4;10;15-18". Standard er alle sider.
kopier: Antallet af kopier. Standard er 1.
    If oDoc.PrintOut("myForm", "1-4;10;15-18", Copies := 2) Then
        ' ...
    End If
  
    if doc.PrintOut('myForm', copies=3, pages='45-88'):
        # ...
  Definér printerindstillingerne for et formulardokument. Formulardokumentet skal være åbent.
Returnerer True (sand), når den lykkes.
The method SetPrinter is deprecated since LibreOffice 7.6. Although it is still available, it may be removed from the Base service in a future release. Use the SetPrinter method from the Document service instead.
svc.SetPrinter(opt formdocument: str, opt printer: str, opt orientation: str, paperformat: str): bool
formulardokument: Et gyldigt dokumentformularnavn som en streng med Stort-og-småt.
    oDoc.SetPrinter("myForm", Orientation := "PORTRAIT")
  
    doc.SetPrinter('myForm', paperformat='TABLOID')