Pomoč LibreOffice 24.8
Storitev Base ponuja številne metode in lastnosti, ki lajšajo upravljanje in ravnanje z dokumenti LibreOffice Base.
Ta storitev je tesno povezana s storitvijo Document, ki ponuja splošne metode za ravnanje z dokumenti LibreOffice, vključno z dokumenti programa Base. Zatorej storitev Base razširja storitev Document in ponuja dodatne metode, ki so specifične za dokumente programa Base, saj uporabnikom omogoča:
pridobivanje dostopa do zbirke podatkov, vsebovane v dokumentu programa Base;
odpiranje dokumentov obrazcev, shranjenih v dokumentu programa Base;
preverjanje, če je dokument obrazca iz dokumenta programa Base trenutno naložen.
Preberite si opis storitve Document, da izveste več o metodah in lastnostih, ki jih lahko uporabite za upravljanje dokumentov LibreOffice.
Pred uporabo storitve Base je potrebno naložiti ali uvoziti knjižnico ScriptForge:
Storitev Base lahko prikličete na različne načine. Spodnji odlomek kode uporablja metodo CreateBaseDocument iz storitve UI, da ustvari novo datoteko Base.
Upoštevajte, da je v vseh primerih predmet oDoc instanca storitve Base.
    Dim ui As Object, oDoc As Object
    Set ui = CreateScriptService("UI")
    Set oDoc = ui.CreateBaseDocument("C:\Documents\MyFile.odb")
  Instanco storitve Base lahko tvorite z odpiranjem obstoječe datoteke programa Base, kot je prikazano spodaj:
    Set oDoc = ui.OpenBaseDocument("C:\Documents\MyFile.odb")
  Če je dokument programa Base že odprt, lahko instanco storitve Base tvorite neposredno:
    Dim oDoc As Object
    Set oDoc = CreateScriptService("SFDocuments.Document", "MyFile.odb")
  Zgornje primere lahko prevedemo v Python na sledeč način:
    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")
  Uporaba podniza oz. predpone "SFDocuments." v prejšnjem primeru je neobvezna.
| Seznam metod v storitvi Base | ||
|---|---|---|
Zapre dani dokument obrazca. Vrne True, če je bilo zapiranje uspešno.
Metoda CloseFormDocument je opuščena z LibreOffice 7.6. Čeprav je še vedno na voljo, bo morda odstranjena iz storitve Base v kasnejši izdaji. Namesto tega uporabite metodo CloseDocument iz storitve FormDocument.
svc.CloseFormDocument(formdocument: str): bool
formdocument: ime dokumenta obrazca FormDocument, ki ga želite zapreti, razlikuje med velikimi in malimi črkami.
Če so dokumenti obrazca organizirani v mapah, je potrebno vključiti ime mape, da določite dokument obrazca, ki ga želite odpreti, kot je to nakazano v naslednjih primerih:
    oDoc.CloseFormDocument("Folder1/myFormDocument")
  
    doc.CloseFormDocument('Folder1/myFormDocument')
  Vrne polje s polnimi imeni (pot/ime) vseh dokumentov obrazcev v dokumentu programa Base kot ničelno polje nizov.
svc.FormDocuments(): str[0..*]
Spodnji odlomek kode natisne imena vseh dokumentov obrazca v trenutnem dokumentu programa Base.
    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)
  Če želite izvedeti več o dokumentih obrazca, glejte stran pomoči storitve ScriptForge.FormDocument.
Glede na podane parametre ta metoda vrne:
Ničelno polje z imeni vseh obrazcev, vsebovanih v dokumentu obrazca (če ni podan argument Form).
Predmet SFDocuments.Form, ki predstavlja obrazec, naveden v argumentu Form.
Metoda Forms je opuščena z LibreOffice 7.6. Čeprav je še vedno na voljo, bo morda odstranjena iz storitve Base v kasnejši izdaji. Namesto tega uporabite metodo Forms iz storitve FormDocument.
svc.Forms(formdocument: str): str[0..*]
svc.Forms(formdocument: str, form: str = ''): svc
svc.Forms(formdocument: str, form: int): svc
formdocument: ime veljavnega dokumenta obrazca, razlikuje med velikimi in malimi črkami.
form: ime ali številka indeksa obrazca, shranjenega v dokumentu obrazca. Če ta argument ni podan, metoda vrne seznam z imeni vseh obrazcev, ki so na voljo v dokumentu obrazca.
Čeprav lahko uporabite številke indeksa za sklic na obrazce, je to priporočljivo le, ko je v dokumentu obrazca zgolj en obrazec. Če sta dva ali več obrazcev, priporočamo uporabo imena obrazca.
Prva vrstica spodnjega primera vrne seznam vseh obrazcev v dokumentu obrazca »myFormDocument«. Druga vrstica vrne instanco storitve Form, ki predstavlja obrazec »mojObrazec«.
    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")
  Vrne instanco storitve Database, ki ponuja dostop do izvajanja ukazov SQL z zbirko podatkov, ki je določena in/ali shranjena v trenutnem dokumentu programa Base.
svc.GetDatabase(user: str = '', password: str = ''): svc
user, password: neobvezna parametra prijave kot niza (uporabniško ime in geslo). Privzeta vrednost obeh parametrov je prazen niz »«.
    Dim myDoc As Object, myDatabase As Object, ui As Object
    Set ui = CreateScriptService("UI")
    Set myDoc = ui.OpenBaseDocument("C:\Documents\myDb.odb")
    ' Uporabnik in geslo sta navedena spodaj, če jih potrebujete
    Set myDatabase = myDoc.GetDatabase()
    '   ... Izvedite poizvedbe, ukaze SQL ...
    myDatabase.CloseDatabase()
    myDoc.CloseDocument()
  
    ui = CreateScriptService("UI")
    myDoc = ui.OpenBaseDocument(r"C:\Documents\myDb.odb")
    myDatabase = myDoc.GetDatabase()
    #   ... Izvedite poizvedbe, ukaze SQL ...
    myDatabase.CloseDatabase()
    myDoc.CloseDocument()
  Vrne True, če je dani FormDocument trenutno odprt.
svc.IsLoaded(formdocument: str): bool
formdocument: ime formdocument, ki ga želite preveriti, razlikuje med velikimi in malimi črkami.
    If Not oDoc.IsLoaded("myFormDocument") Then
        oDoc.OpenFormDocument("myFormDocument")
    End If
  
    if not doc.IsLoaded("myFormDocument"):
        doc.OpenFormDocument("myFormDocument")
  Odpre navedeni FormDocument v navadnem ali oblikovalnem načinu. Ta metoda vrne instanco storitve FormDocument, ki ustreza navedenemu dokumentu obrazca.
Če dokument obrazca že odprt, se aktivira brez spremembe svojega načina.
Če navedeni dokument obrazca ne obstaja, vrne Nothing.
svc.OpenFormDocument(formdocument: str, designmode: bool = False): svc
formDocument: ime formDocument, ki ga želite odpreti, razlikuje med velikimi in malimi črkami.
designmode: če ima ta argument vrednost True, bo FormDocument odprt v oblikovalnem načinu.
Večina dokumentov obrazcev je shranjenih v korenski mapi dokumenta programa Base in odprete jih lahko enostavno z njihovim imenom, kot v spodnjem primeru:
    Dim oFormDoc As Object
    oFormDoc = oDoc.OpenFormDocument("myFormDocument")
  Če so dokumenti obrazca organizirani v mapah, je potrebno vključiti ime mape, da določite dokument obrazca, ki ga želite odpreti, kot je to nakazano v naslednjem primeru:
    oFormDoc = oDoc.OpenFormDocument("myFolder/myFormDocument")
  
    formDoc = doc.OpenFormDocument("myFormDocument")
  
    formDoc = doc.OpenFormDocument("myFolder/myFormDocument")
  Odpre okno podatkovnega pogleda navedene poizvedbe in vrne instanco storitve Datasheet.
Poizvedbo je možno odpreti v navadnem ali oblikovalnem načinu.
Če je poizvedba že odprta, bo njeno okno podatkovnega pogleda postalo aktivno.
Z zapiranjem dokumenta vrste Base povzročite, da zaprete tudi okno oblikovalnega pogleda.
svc.OpenQuery(queryname: str, designmode: bool = False): obj
queryname: ime obstoječe poizvedbe kot niz vrste String; razlikuje med velikimi in malimi črkami.
designmode: če je True, se poizvedba odpre v oblikovalnem načinu. Sicer se odpre v navadnem načinu (privzeto = False).
      oDoc.OpenQuery("MyQuery", DesignMode := True)
    
      doc.OpenQuery("MyQuery", designmode=True)
    Odpre okno podatkovnega pogleda navedene tabele in vrne instanco storitve Datasheet.
Tabelo je možno odpreti v navadnem ali oblikovalnem načinu.
Če je tabela že odprta, bo njeno okno podatkovnega pogleda postalo aktivno.
Z zapiranjem dokumenta vrste Base povzročite, da zaprete tudi okno oblikovalnega pogleda.
svc.OpenTable(tablename: str, designmode: bool = False): obj
tablename: ime obstoječe tabele kot niz vrste String; razlikuje med velikimi in malimi črkami.
designmode: če je True, se tabela odpre v oblikovalnem načinu. Sicer se odpre v navadnem načinu (privzeto = False).
      oDoc.OpenTable("MyTable", DesignMode = False)
    
      doc.OpenTable("MyTable", designmode=False)
    Ta metoda pošlje vsebino danega dokumenta obrazca privzetemu tiskalniku ali tiskalniku, ki ga določa metoda SetPrinter().
Vrne True, če je bil dokument uspešno natisnjen.
Metoda PrintOut je opuščena z LibreOffice 7.6. Čeprav je še vedno na voljo, bo morda odstranjena iz storitve Base v kasnejši izdaji. Namesto tega uporabite metodo PrintOut iz storitve FormDocument.
svc.PrintOut(opt formdocument: str, pages: str = "", copies: num = 1): bool
formdocument: ime veljavnega dokumenta obrazca kot niz, razlikuje med velikimi in malimi črkami. Dokument obrazca mora biti odprt. Metoda ga aktivira.
pages: strani, ki jih želite natisniti, kot niz, tako kot v uporabniškem vmesniku. Primer: »1-4;10;15-18«. Privzeta vrednost je tiskanje vseh strani.
copies: število kopij. Privzeto ima vrednost 1.
    If oDoc.PrintOut("myForm", "1-4;10;15-18", Copies := 2) Then
        ' ...
    End If
  
    if doc.PrintOut('myForm', copies=3, pages='45-88'):
        # ...
  Določa možnosti tiskalnika za dokument obrazca. Dokument obrazca mora biti odprt.
Vrne True, če uspe.
Metoda SetPrinter je opuščena z LibreOffice 7.6. Čeprav je še vedno na voljo, bo morda odstranjena iz storitve Base v kasnejši izdaji. Namesto tega uporabite metodo SetPrinter iz storitve FormDocument.
svc.SetPrinter(opt formdocument: str, opt printer: str, opt orientation: str, paperformat: str): bool
formdocument: ime veljavnega dokumenta obrazca, razlikuje med velikimi in malimi črkami.
    oDoc.SetPrinter("myForm", Orientation := "PORTRAIT")
  
    doc.SetPrinter('myForm', paperformat='TABLOID')