Edukiak

# 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:

- Atzitu Base dokumentu batean gordetako datu-base bat.

- Ireki Base dokumentu batean biltegiratutako inprimaki-dokumentuak.

- Egiaztatu Base dokumentu bateko inprimaki-dokumentu bat kargatuta dagoen ala ez.

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:

• 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")

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.

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)

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

## Forms

Emandako parametroaren arabera, metodoak honakoa itzuliko du:

- Zeron oinarritutako matrize bat, inprimaki-dokumentu bateko inprimaki guztiak dituena (Form argumenturik ez badago)

- Form argumentuan zehaztu den inprimakia ordezkatzen duen SFDocuments.Form objektu bat.

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.

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.

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.

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.

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.

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')

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.

Erlazionatutako gaiak

SFDatabases.Database zerbitzua

SFDocuments.Document zerbitzua

SFDocuments.Form zerbitzua

ScriptForge.UI zerbitzua