SFDocuments.Base service

Base zerbitzuak LibreOffice Base dokumentuak kudeatu eta maneiatzeko hainbat metodo eta propietate eskaintzen ditu.

Zerbitzu hau LibreOffice dokumentuak, Base dokumentuak barne, maneiatzeko metodo orokorrak eskaintzen dituen Document zerbitzuarekin erlazionatuta dago. Base zerbitzu honek Document zerbitzua hedatzen du eta Base dokumentuetarako espezifikoak diren metodo gehiago eskaintzen ditu. Honakoak egin daitezke:

tip

Begiratu Document zerbitzua LibreOffice dokumentuak kudeatzeko erabili daitezkeen metodo eta propietateei buruz gehiago ikasteko.


Zerbitzuari deitzea

Base zerbitzua erabiltzeko, ScriptForge liburutegia kargatu edo inportatu behar da:

note

• Basic makroak erabiltzkeo, ScriptForge liburutegia kargatu behar da honako instrukzioa erabiliz:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Python scriptak erabiltzeko, berriz, scriptforge modulu baten inportazioa behar dute:
from scriptforge import CreateScriptService


Basic lengoaian

Base zerbitzuari hainbat modutan deitu dakioke. Beheko kode-zatiak UI zerbitzuaren CreateBaseDocument metodoa erabiltzen du Bzse fitxategi berria sortzeko.

Kontuan izan adibide guztietan oDoc objektua Base zerbitzuaren instantzia bat dela.


    Dim ui As Object, oDoc As Object
    Set ui = CreateScriptService("UI")
    Set oDoc = ui.CreateBaseDocument("C:\Documents\MyFile.odb")
  

Base zerbitzua ere instantziatu daiteke lehendik dagoen Base fitxategi bat irekitzean, behean adierazten den moduan:


    Set oDoc = ui.OpenBaseDocument("C:\Documents\MyFile.odb")
  

Base dokumentu bat dagoeneko irekita badago, posible da Base zerbitzuaren instantzia bat zuzenean sortzea:


    Dim oDoc As Object
    Set oDoc = CreateScriptService("SFDocuments.Document", "MyFile.odb")
  
Python lengoaian

Goiko adibideak honela itzuli daitezke Python lengoaiara:


    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

Aurreko adibideko "SFDocuments." azpikatearen erabilera aukerakoa da.


Base zerbitzuaren medodo-zerrenda

CloseFormDocument
FormDocuments
Forms
GetDatabase

IsLoaded
OpenFormDocument
OpenQuery
OpenTable

PrintOut
SetPrinter



CloseFormDocument

Emandako inprimaki-dokumentua ixten du. True (egia) itzultzen du dokumentua ondo ixten bada.

warning

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.


Sintaxia:

svc.CloseFormDocument(formdocument: str): bool

Parametroak:

formdocument: Itxiko den FormDocument elementuaren izena, maiuskulak/minuskulak bereizten dituen kate gisa.

Adibidea:

Inprimaki-dokumentuak karpetatan antolatuta badaude, beharrezkoa da karpetaren izena sartzea inprimaki-dokumentua irekitzeko, hurrengo adibidean ikusten den moduan:

Basic lengoaian

    oDoc.CloseFormDocument("Folder1/myFormDocument")
  
Python lengoaian

    doc.CloseFormDocument('Folder1/myFormDocument')
  

FormDocuments

Base dokumentuko inprimaki-dokumentu guztien izen osoekin (bide-izena/izena) betetako matrize bat itzultzen du, zeron oinarritutako kate-matrize gisa.

Sintaxia:

svc.FormDocuments(): str[0..*]

Adibidea:

Beheko kode-zatiak uneko Base dokumentuko inprimaki-dokumentuen izen guztiak inprimatzen ditu.

Basic lengoaian

    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
  
Python lengoaian

    bas = CreateScriptService("Basic")
    doc = CreateScriptService("Document", bas.ThisDataBaseDocument)
    myForms = doc.FormDocuments()
    for formName in myForms:
        bas.MsgBox(formName)
  
tip

Inprimaki-dokumentuei buruz gehiago ikasteko, begiratu Form zerbitzuaren laguntza-orria.


Forms

Emandako parametroaren arabera, metodoak honakoa itzuliko du:

warning

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.


Sintaxia:

svc.Forms(formdocument: str): str[0..*]

svc.Forms(formdocument: str, form: str = ''): svc

svc.Forms(formdocument: str, form: int): svc

Parametroak:

formdocument: Baliozko inprimaki-dokumentu baten izena, maiuskulak/minuskulak kontuan hartzen dituen kate gisa.

form: Inprimaki-dokumentuan biltegiratutako inprimakiaren izena edo indize-zenbakia. Argumentu hori falta bada, inprimaki-dokumentuan erabilgarri dauden inprimaki guztien izenak dituen zerrenda bat itzuliko du metodoak.

note

Posible da indize-zenbakiak erabiltzea inprimakiei erreferentzia egiteko, baina hori inprimaki-dokumentuak inprimaki bakarra duenean soilik gomendatzen da. Bi inprimaki edo gehiago badaude, hobe da izena erabiltzea.


Adibidea:

Beheko adibideko lehen lerroak "myFormDocument" inprimaki-dokumentuan dauden inprimaki guztien zerrenda bat itzultzen du. Bigarren lerroak "myForm" inprimakia ordezkatzen duen Form zerbitzuaren instantzia bat itzultzen du.

Basic lengoaian

    Dim formsList as Object : formsList = oDoc.Forms("myFormDocument")
    Dim oForm as Object : oForm = oDoc.Forms("myFormDocument", "myForm")
  
Python lengoaian

    formsList = doc.Forms("myFormDocument")
    form = doc.Forms("myFormDocument", "myForm")
  

GetDatabase

Uneko Base dokumentuan definitutako edota biltegiratutako datu-basean SQL komandoak exekutatzea ahalbidetzen duen Database zerbitzuaren instantzia bat itzultzen du

Sintaxia:

svc.GetDatabase(user: str = '', password: str = ''): svc

Parametroak:

user, password: Saioa hasteko aukerako parametroak, kate gisa. Bi parametro horien balio lehenetsia kate hutsa, "", da.

Adibidea:

Basic lengoaian

    Dim myDoc As Object, myDatabase As Object, ui As Object
    Set ui = CreateScriptService("UI")
    Set myDoc = ui.OpenBaseDocument("C:\Documents\myDb.odb")
    ' Erabiltzailea eta pasahitza behean ematen dira, beharrezkoak badira
    Set myDatabase = myDoc.GetDatabase()
    '   ... Exekutatu kontsultak, SQL instrukzioak ...
    myDatabase.CloseDatabase()
    myDoc.CloseDocument()
  
Python lengoaian

    ui = CreateScriptService("UI")
    myDoc = ui.OpenBaseDocument(r"C:\Documents\myDb.odb")
    myDatabase = myDoc.GetDatabase()
    #   ... Exekutatu kontsultak, SQL instrukzioak...
    myDatabase.CloseDatabase()
    myDoc.CloseDocument()
  

IsLoaded

True (egia) itzultzen du zehaztutako FormDocument irekita badago.

Sintaxia:

svc.IsLoaded(formdocument: str): bool

Parametroak:

formdocument: Egiaztatuko den FormDocument elementuaren izena, maiuskulak/minuskulak bereizten dituen kate gisa.

Adibidea:

Basic lengoaian

    If Not oDoc.IsLoaded("myFormDocument") Then
        oDoc.OpenFormDocument("myFormDocument")
    End If
  
Python lengoaian

    if not doc.IsLoaded("myFormDocument"):
        doc.OpenFormDocument("myFormDocument")
  

OpenFormDocument

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.

Sintaxia:

svc.OpenFormDocument(formdocument: str, designmode: bool = False): svc

Parametroak:

formDocument: Irekiko den FormDocument elementuaren izena, maiuskulak/minuskulak bereizten dituen kate gisa.

designmode: Argumentu hau True (egia) bada, FormDocument elementua diseinu-moduan irekiko da.

Adibidea:

Basic lengoaian

Inprimaki-dokumentu asko Base dokumentuaren erroan biltegiratzen dira eta haien izenak erabilita ireki daitezke, beheko adibidean ikusten den moduan:


    Dim oFormDoc As Object
    oFormDoc = oDoc.OpenFormDocument("myFormDocument")
  

Inprimaki-dokumentuak karpetatan antolatuta badaude, beharrezkoa da karpetaren izena sartzea inprimaki-dokumentua irekitzeko, hurrengo adibidean ikusten den moduan:


    oFormDoc = oDoc.OpenFormDocument("myFolder/myFormDocument")
  
Python lengoaian

    formDoc = doc.OpenFormDocument("myFormDocument")
  

    formDoc = doc.OpenFormDocument("myFolder/myFormDocument")
  

OpenQuery

Zehaztutako kontsultaren 'Datu-ikuspegia' leihoa irekitzen du eta Datasheet zerbitzuaren instantzia bat itzultzen du.

Kontsulta modu normalean edo diseinu-moduan ireki daiteke.

Kontsulta jadanik irekita badago, bere 'Datu-ikuspegia' leihoa aktibatuko da.

note

Base dokumentua ixten bada, 'Datu-ikuspegia' leihoa ere itxiko da.


Sintaxia:

svc.OpenQuery(queryname: str, designmode: bool = False): obj

Parametroak:

queryname: Jadanik badagoen kontsulta baten izena, maiuskulak/minuskulak bereizten dituen kate gisa.

designmode: Argumentu honetan True ezartzen bada, kontsulta diseinu-moduan irekiko da. Bestela, modu normalean irekiko da (Balio lehenetsia = False).

Adibidea:

Basic lengoaian

      oDoc.OpenQuery("MyQuery", DesignMode := True)
    
Python lengoaian

      doc.OpenQuery("MyQuery", designmode=True)
    

OpenTable

Zehaztutako taularen 'Datu-ikuspegia' leihoa irekitzen du eta Datasheet zerbitzuaren instantzia bat itzultzen du.

Taula modu normalean edo diseinu-moduan ireki daiteke.

Taula jadanik irekita badago, bere 'Datu-ikuspegia' leihoa aktibatuko da.

note

Base dokumentua ixten bada, 'Datu-ikuspegia' leihoa ere itxiko da.


Sintaxia:

svc.OpenTable(tablename: str, designmode: bool = False): obj

Parametroak:

tablename: Jadanik badagoen taula baten izena, maiuskulak/minuskulak bereizten dituen kate gisa.

designmode: Argumentu honetan True ezartzen bada, taula diseinu-moduan irekiko da. Bestela, modu normalean irekiko da (Balio lehenetsia = False).

Adibidea:

Basic lengoaian

      oDoc.OpenTable("MyTable", DesignMode = False)
    
Python lengoaian

      doc.OpenTable("MyTable", designmode=False)
    

PrintOut

Metodo honen bidez, emandako inprimaki-dokumentuaren edukia inprimagailu lehenetsi batera edo SetPrinter() metodoak definitutako inprimagailura bidaltzen da.

True itzultzen du dokumentua ongi inprimatu bada.

warning

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.


Sintaxia:

svc.PrintOut(opt formdocument: str, pages: str = "", copies: num = 1): bool

Parametroak:

formdocument: Inprimaki-dokumentu baten baliozko izena, maiuskulak/minuskulak bereizten dituen kate gisa. Inprimaki-dokumentuak irekita egon behar du. Metodoak aktibatzen du.

pages: Inprimatuko diren orrialdeak, kate gisa, erabiltzaile-interfazean ezartzen den moduan. Adibidea: "1-4;10;15-18". Balio lehenetsia orrialde guztiak dira.

copies: Kopia kopurua. Balio lehenetsia 1 da.

Adibidea:

Basic lengoaian

    If oDoc.PrintOut("myForm", "1-4;10;15-18", Copies := 2) Then
        ' ...
    End If
  
Python lengoaian

    if doc.PrintOut('myForm', copies=3, pages='45-88'):
        # ...
  

SetPrinter

Definitu inprimaki-dokumentu baten inprimatze-aukerak. Inprimaki-dokumentuak irekita egon behar du.

True itzultzen du arrakasta duenean.

warning

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.


Sintaxia:

svc.SetPrinter(opt formdocument: str, opt printer: str, opt orientation: str, paperformat: str): bool

Parametroak:

formdocument: Inprimaki-dokumentu baten baliozko izena, maiuskulak/minuskulak bereizten dituen kate gisa.

printer: Inprimatzeko erabiliko den inprimagailu-ilararen izena. Ez badago, inprimagailu lehenetsia ezarriko da.

orientation: PORTRAIT edo LANDSCAPE. Ez badago, inprimagailu-ezarpenetan ezarritakoa erabiliko da aldatu gabe.

paperformat: Paper-formatua zehazten du, kate gisa, eta A3, A4, A5, LETTER, LEGAL edo TABLOID balioa izan dezake. Parametro hau ez badago, ezarpena ez da aldatuko.

Adibidea:

Basic lengoaian

    oDoc.SetPrinter("myForm", Orientation := "PORTRAIT")
  
Python lengoaian

    doc.SetPrinter('myForm', paperformat='TABLOID')
  
warning

Azpimarraren karaktere bat, "_", aurrizki gisa duten ScriptForge Basic errutina edo identifikatzaile guztiak barneko erabilerarako erreserbatuta daude. Ez dira Basic makroetan edo Python scriptetan erabili behar.


Emaguzu laguntza!