Edukiak
Indizea 🔎︎

# SFDocuments.Base zerbitzua

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.

Zerbitzu hau LibreOffice 7.2 bertsiotik aurrera dago eskuragarri.

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

## Zerbitzuari deitzea

##### 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
FormDocuments Forms | GetDatabase IsLoaded | OpenFormDocument

## FormDocuments

Base dokumentuko inprimaki-dokumentu guztien izen osoak (bidea/izena) dituen 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 = oDoc.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.

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

Zehaztutako FormDocument elementua irekitzen da, bai modu normalean bai diseinu-moduan.

Inprimaki-dokumentua dagoeneko irekita badago, bere modua aldatu gabe aktibatuko da. Metodoak True (egia) itzultzen du inprimaki-dokumentua ireki ahal bada.

### Sintaxia:

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

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

        oDoc.OpenFormDocument("nireInprimakiDokumentua")

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

        oDoc.OpenFormDocument("nireKarpeta/nireInprimakiDokumentua")

##### Python lengoaian

        doc.OpenFormDocument("myFormDocument")

        doc.OpenFormDocument("myFolder/myFormDocument")

Aurrizki gisa azpimarra bat ("_") duten ScriptForge Basic errutina edo identifikatzaile guztiak barneko erabilerarako erreserbatuta daude. Ez daude Basic makroetan erabiltzeko pentsatuta.

Erlazionatutako gaiak

SFDatabases.Database zerbitzua

SFDocuments.Document zerbitzua

SFDocuments.Form zerbitzua

ScriptForge.UI zerbitzua