Pomoč LibreOfficeDev 7.6
Storitev Base ponuja številne metode in lastnosti, ki lajšajo upravljanje in ravnanje z dokumenti LibreOfficeDev Base.
Ta storitev je tesno povezana s storitvijo Document, ki ponuja splošne metode za ravnanje z dokumenti LibreOfficeDev, 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 service, da izveste več o metodah in lastnostih, ki jih lahko uporabite za upravljanje dokumentov LibreOfficeDev.
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.
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 Form.
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.
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.
Če dokument obrazca že odprt, se aktivira brez spremembe svojega načina. Metoda vrne True, če je odpiranje dokumenta obrazca uspelo.
svc.OpenFormDocument(formdocument: str, designmode: bool = False): bool
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:
    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:
    oDoc.OpenFormDocument("myFolder/myFormDocument")
  
    doc.OpenFormDocument("myFormDocument")
  
    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.
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.
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')