LibreOffice 25.2 Hjelp
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, medrekna Base-dokument. Difor utvidar tenesta Base Document-tenesta og inneheld fleire metodar som er spesifikke for Base-dokument, slik at brukarane kan:
Få tilgang til databasen innebygd i eit Base-dokument.
Opna skjemadokument som er lagra i eit Base-dokument.
Kontrollera om eit skjemadokument frå eit Base-dokument er lasta inn.
Sjå tenesta Document for å læra meir om metodane og eigenskapane som kan brukast for å administrera LibreOffice-dokument.
Før du brukar tenesta Base må biblioteket ScriptForge vera lasta inn eller importert:
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 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")
  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")
  Bruk av delstrengen «SFDocuments.» i det førre eksempelet er valfritt.
| Liste over metodar i tenesta Base | ||
|---|---|---|
Lukkar det gjevne skjemadokumentet. Returnerer Sann viss lukkinga lukkast.
Metoden CloseFormDocument er avvikla sidan LibreOffice 7.6. Sjølv om han framleis er tilgjengeleg, kan han verta fjerna frå Base-tenesta i ei framtidig utgjeving. Bruk CloseDocument-metoden frå FormDocument-tenesta i staden.
svc.CloseFormDocument(formdocument: str): bool
formdocument: Namnet på FormDocument som skal lukkast som ein streng som skil mellom små og store bokstavar.
Viss skjemadokumenta er organiserte i mapper, er det nødvendig å ta med mappenamnet for å spesifisera kva skjemadokument som skal opnast. Dette er vist i dei neste eksempela:
    oDoc.CloseFormDocument("Folder1/myFormDocument")
  
    doc.CloseFormDocument('Folder1/myFormDocument')
  Returnerer ei matrise med heile namnet (sti/namn) på alle skjemadokument i Base-dokumentet som ei null-basert matrise av strenger.
svc.FormDocuments(): str[0..*]
Kodesnutten nedanfor skriv ut namna på alle skjemadokumenta i det gjeldande Base-dokumentet.
    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)
  For å læra meir om skjemadokument, kan du sjå på hjelpsida ScriptForge.FormDocument service.
Avhengig av kva parametrar som er gjevne, vil denne metoden returnera:
Ei null-basert matrise med namna på alle skjema i eit skjemadokument (viss argumentet Form manglar)
Eit SFDocuments.Form-objekt som representerer skjemaet spesifisert i argumentet Form.
Metoden Forms er avvikla sidan LibreOffice 7.6. Sjølv om han framleis er tilgjengeleg, kan han verta fjerna frå Base-tenesta i ei framtidig utgjeving. Bruk Forms-metoden frå FormDocument-tenesta i staden.
svc.Forms(formdocument: str): str[0..*]
svc.Forms(formdocument: str, form: str = ''): svc
svc.Forms(formdocument: str, form: int): svc
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.
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.
Den første linja i eksempelet nedanfor returnerer ei liste over alle skjemaa i skjemadokumentet «myFormDocument». Den andre linja returnerer eit eksemplar av tenesta «Form» som representerer skjemaet «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 ein førekomst av tenesta Database som tillèt utføringa av SQL-kommandoar som er definerte og/eller lagra i det gjeldande Base-dokumentet.
svc.GetDatabase(user: str = '', password: str = ''): svc
brukar, passord: Valfrie påloggingsparametrar som strengar. Standardverdien for begge parametera er ein tom streng "".
    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()
  
    ui = CreateScriptService("UI")
    myDoc = ui.OpenBaseDocument(r"C:\Documents\myDb.odb")
    myDatabase = myDoc.GetDatabase()
    #   … Køyr spørjingar, SQL-uttrykk, …
    myDatabase.CloseDatabase()
    myDoc.CloseDocument()
  Returner True (sann) viss det spesifiserte FormDocument er ope.
svc.IsLoaded(formdocument: str): bool
skjemadokument: Namnet på eit Skjemadokument som skal kontrollerast om det inneheld ein streng som skil mellom små og store bokstavar.
    If Not oDoc.IsLoaded("myFormDocument") Then
        oDoc.OpenFormDocument("myFormDocument")
    End If
  
    if not doc.IsLoaded("myFormDocument"):
        doc.OpenFormDocument("myFormDocument")
  Opnar det spesifiserte FormDocument anten i normalmodus eller i utformingsmodus. Denne metoden returnerer ei FormDocument-teneste som svarar til det gjevne skjemadokumentet.
Viss skjemadokumentet alt er ope, vert det aktivert utan å endra modus.
Viss det spesifiserte skjemadokumentet ikkje finst, vert det returrnert Ingenting.
svc.OpenFormDocument(formdocument: str, designmode: bool = False): svc
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-
Dei fleste skjemadokumenta er lagra i rota til Base-dokumentet og kan opanast ved å bruka namnet, som i eksempelet nedanfor:
    Dim oFormDoc As Object
    oFormDoc = 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:
    oFormDoc = oDoc.OpenFormDocument("myFolder/myFormDocument")
  
    formDoc = doc.OpenFormDocument("myFormDocument")
  
    formDoc = doc.OpenFormDocument("myFolder/myFormDocument")
  Opnar datavisingsvindauget for den spesifiserte spørjinga og returnerer ein førekomst av tenesta Datasheet.
Spørjinga kan opnast anten i normal- eller utformingsmodus.
Viss spørjinga alt er open, vert datavisingsvindauget gjort aktivt.
Lukking av Base-dokumentet gjer at datavisingsvindauget også vert lukka.
svc.OpenQuery(queryname: str, designmode: bool = False): obj
queryname: Namnet på ei spørjing som finst som ein streng som skil mellom store og små bokstavar.
designmode: Viss dette argumentet er sett til Sann, vert spørjinga opna i utforminghsmodus, elles i normalmodus (Standard = Usann).
      oDoc.OpenQuery("MyQuery", DesignMode := True)
    
      doc.OpenQuery("MyQuery", designmode=True)
    Opnar datavisingsvindauget for den spesifiserte tabellen og returnerer ein førekomst av tenesta Datasheet.
Tabellen kan opnast anten i normal- eller utformingsmodus.
Viss tabellen alt er open, vert datavisingsvindauget gjort aktivt.
Lukking av Base-dokumentet gjer at datavisingsvindauget også vert lukka.
svc.OpenTable(tablename: str, designmode: bool = False): obj
tablename: Namnet på ein tabell som finst som ein streng som skil mellom store og små bokstavar.
designmode: Viss dette argumentet er sett til Sann, vert tabellen opna i utforminghsmodus, elles i normalmodus (Standard = Usann).
      oDoc.OpenTable("MyTable", DesignMode = False)
    
      doc.OpenTable("MyTable", designmode=False)
    Denne metoden sender innhaldet i det gjevne skjemadokumentet til standardskrivaren eller til den skrivaren som er definert med metoden SetPrinter().
Returnerer Sann viss utskrivinga av dokumentet lukkast.
Metoden PrintOut er avvikla sidan LibreOffice 7.6. Sjølv om han framleis er tilgjengeleg, kan han verta fjerna frå Base-tenesta i ei framtidig utgjeving. Bruk PrintOut-metoden frå FormDocument-tenesta i staden.
svc.PrintOut(opt formdocument: str, pages: str = "", copies: num = 1): bool
formdocument: Eit gyldig dokumentskjemanamn som skil mellom store og små bokstavar. Skjemadokumentet må vera ope. Det vert slått på av metoden.
pages: Sidene som skal skrivast ut som ein streng, som i brukargrensesnittet. Eksempel: «1-4;10;15-18». Standard er alle sidene.
copies: Kor mange kopiar. 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'):
        # ...
  Definer skrivarinnstillingane for eit skjemadokument. Skjemadokumentet mår vera ope.
Returnerer Sann når han lukkast.
Metoden SetPrinter er avvikla sidan LibreOffice 7.6. Sjølv om han framleis er tilgjengeleg, kan han verta fjerna frå Base-tenesta i ei framtidig utgjeving. Bruk SetPrinter-metoden frå Document-tenesta i staden.
svc.SetPrinter(opt formdocument: str, opt printer: str, opt orientation: str, paperformat: str): bool
formdocument: Eit gyldig dokumentskjemanamn som skil mellom store og små bokstavar.
    oDoc.SetPrinter("myForm", Orientation := "PORTRAIT")
  
    doc.SetPrinter('myForm', paperformat='TABLOID')