LibreOffice 25.2 laguntza
Datasheet zerbitzuari esker, datu-base baten taulen edukiak eta kontsulten eta SQL instrukzioen emaitzak bistaratu daitezke, horretarako Base aplikazioaren 'Datu-ikuspegia' erabiliz. Horrez gain, zerbitzuak zera ahalbidetzen du:
Datu-ikuspegiari menu pertsonalizatuak gehitzea.
Datu-ikuspegiaren kokagune jakinetan dauden balioak atzitzea.
Kurtsorea datu-ikuspegiaren gelaxka jakin batean kokatzea.
Datasheet zerbitzua erabiltzeko, ScriptForge liburutegia kargatu edo inportatu behar da lehenengo:
Datasheet zerbitzua bi modutara deitu daiteke, datu-basearen fitxategia irekita dagoen ala ez kontuan hartuta.
Beheko adibidean, datu-basea irekita dagoela kontsideratzen da eta, beraz, UI zerbitzua erabili daitekeela dokumentua atzitzeko eta Database zerbitzuaren OpenTable metodoa erabiltzen dela Datasheet zerbitzuaren instantzia bat eskuratzeko.
    Dim ui As Object, oBase As Object, oSheet As Object
    Set ui = CreateScriptService("UI")
    ' oBase objektua Base zerbitzuaren instantzia bat da
    Set oBase = ui.GetDocument("C:\Documents\myDB.odb")
    ' oSheet objektua Datasheet zerbitzuaren instantzia bat da
    Set oSheet = oBase.OpenTable("Customers")
  Goiko adibidean, Base zerbitzuaren OpenQuery ere erabili daiteke Datasheet instantzia bat eskuratzeko.
Datu-basearen fitxategia irekita ez dagoenean Datasheet zerbitzuari deitzeko, erabili Database zerbitzuaren OpenTable, OpenQuery edo OpenSql metodoak. Beheko adibideak OpenTable metodoa erabiltzen du datu-basearen fitxategian dagoen taula bar irekitzeko:
    Dim oDatabase As Object, oSheet As Object
    ' oDatabase objektua Database zerbitzuaren instantzia bat da
    Set oDatabase = CreateScriptService("Database", "C:\Documents\myDB.odb")
    ' oSheet objektua Datasheet zerbitzuaren instantzia bat da
    Set oSheet = oDatabase.OpenTable("Customers")
  Goiko adibideak Python lengoaian erabiltzeko, egin honela:
    from scriptforge import CreateScriptService
    ui = CreateScriptService("UI")
    base_doc = ui.GetDocument(r"C:\Documents\MyFile.odb")
    sheet = base_doc.OpenTable("Customers")
  
    database = CreateScriptService("Database", r"C:\Documents\myDB.odb")
    sheet = database.OpenTable("Customers")
  Datasheet zerbitzuak honako propietateak ditu:
| Izena | Irakurtzeko soilik | Mota | Deskribapena | 
|---|---|---|---|
| ColumnHeaders | Bai | Kateen matrizea | Datu-orriko zutabe-goiburukoen izenak dituen Array bat itzultzen du. | 
| CurrentColumn | Bai | String | Unean hautatutako zutabearen izena itzultzen du. | 
| CurrentRow | Bai | Integer | Unean hautatutako errenkadaren zenbakia itzultzen du, 1 zenbakian hasita. | 
| DatabaseFileName | Bai | String | Base fitxategiaren izena itzultzen du, FSO.FileNaming formatuan. | 
| Filter | Ez | String | Datu-orrian aplikatuko den iragazkia zehazten du, WHERE gako-hitzik gabeko SQL kontsulta baten WHERE klausula gisa adierazita. Hutsik dagoen kate bat zehatzen bada, Filter iragazki aktiboa kenduko da. | 
| LastRow | Bai | Integer | Datu-orriak duen errenkada kopurua itzultzen du. | 
| OrderBy | Ez | String | Erregistroak zein ordenatan erakutsiko diren zehazten du, ORDER BY gako-hitzik gabeko SQL kontsulta baten ORDER BY klausula gisa adierazita. Hutsik dagoen kate bat zehatzen bada, OrderBy aktiboa kendu egingo da. | 
| ParentDatabase | Bai | Objektua | Datu-orria dagoen Database zerbitzu-instantzia itzultzen du. | 
| Source | Bai | String | Datu-iturburua ordezkatzen duen kate bat itzultzen du. SQL instrukzio bat, taula-izen bat edo kontsulta-izen bat izan daiteke. | 
| SourceType | Bai | String | Datu-iturburuaren mota itzultzen du. Honako balioetako bat eduki dezake: "SQL", "TABLE" edo "QUERY". | 
| XComponent | Bai | UNO objektua | Datu-orria ordezkatzen duen com.sun.star.lang.XComponent UNO objektua itzultzen du. | 
| XControlModel | Bai | UNO objektua | Datu-orria ordezkatzen duen com.sun.star.awt.XControl UNO objektua itzultzen du. | 
| XTabControllerModel | Bai | UNO objektua | Datu-orria ordezkatzen duen com.sun.star.awt.XTabControllerModel UNO objektua itzultzen du. | 
| Datasheet zerbitzuaren metodoen zerrenda | ||
|---|---|---|
Datasheet instantziak erreferentzia egiten dion datu-ikuspegiaren leihoa aurrera eramaten du.
svc.Activate()
      oSheet.Activate()
    
      sheet.Activate()
    Datasheet instantziak erreferentzia egiten dion datu-ikuspegiaren leihoa ixten du.
svc.CloseDatasheet()
      oSheet.CloseDatasheet()
    
      sheet.CloseDatasheet()
    Menu-sarrera berria sortzen du datu-ikuspegiaren leihoan eta SFWidgets.Menu zerbitzu-instantzia itzultzen du, haren bidez menu-elementuak programatikoki gehitu ahal izateko.
CreateMenu metodoaren bidez gehitutako menuak galdu egingo dira datu-ikuspegiaren leihoa itxi eta berehala.
svc.CreateMenu(menuheader: str, opt before: any, opt submenuchar: str): obj
menuheader: Menu berriaren izena.
before: Argumentu hau lehendik dagoen menu-sarrera baten izena izan daiteke, menu berria haren aurretik kokatu dadin, edo menu berriaren kokagunea adierazten duen zenbaki bat izan daiteke. Argumentu hau hutsik uzten bada, menu berria azken sarrera gisa kokatuko da.
submenuchar: Menu-zuhaitzetan erabilitako mugatzailea (Balio lehenetsia = ">")
      Dim oMenu As Object
      Set oMenu = oSheet.CreateMenu("Nire menua", Before := "Datuak")
      With oMenu
          .AddItem("1. elementua", Command := ".uno:About")
          ' ...
          .Dispose()
      End With
    
      menu = sheet.CreateMenu("Nire menua", before="Datuak")
      menu.AddItem("1. elementua", command=".uno:About")
      # ...
      menu.Dispose()
    Irakurri Menu zerbitzua laguntza-orria menuak eta azpimenuak eta haiei lotutako komandoak nola sortu ikasteko.
Uneko errenkadatik emandako zutabearen testua itzultzen du.
Metodo honek ez du aldatzen kurtsorearen kokagunea datu-ikuspegiaren leihoan.
svc.GetText(column: any): str
column: Zutabearen izena, kate gisa, edo zutabearen kokagunea (1 baliotik hasita). Zutabe kopurua baino handiagoa den kokagune bat ematen bada, azken zutabea itzuliko da.
      oSheet.GetText("FirstName")
    
      sheet.GetText("FirstName")
    Uneko errenkadatik emandako zutabearen balioa itzultzen du, baliozko Basic mota gisa.
Itzuli daitezkeen motak: String, Integer, Long, Single, Double, Date eta Null.
Mota bitarrak eremu bitarraren luzera adierazten duen Long balio gisa itzultzen dira.
Beharrezkoa den balioa ezin bada atzitu, Empty balioa itzultzen da.
Metodo honek ez du aldatzen kurtsorearen kokagunea datu-ikuspegiaren leihoan.
svc.GetValue(column: any): any
column: Zutabearen izena, kate gisa, edo zutabearen kokagunea (1 baliotik hasita). Zutabe kopurua baino handiagoa den kokagune bat ematen bada, azken zutabea itzuliko da.
      oSheet.GetValue("Address")
    
      sheet.GetValue("Address")
    Zehaztutako errenkadara eta zutabera darama kurtsorea.
svc.GoToCell(opt row: int, opt column: any): bool
row: Errenkadaren zenbakia 1 balioan hasten den zenbakizko balio gisa. Eskatutako errenkada dagoen errenkada kopurua baino handiagoa bada, kurtsorea azken errenkadara eramango da. Argumentu hau zehazten ez bada, errenkada ez da aldatuko.
column: Zutabearen izena String gisa edo zutabearen kokagunea 1 balioan hasita. Eskatutako zutabea dagoen zutabe kopurua baino handiagoa bada, kurtsorea azken zutabera eramango da. Argumentu hau zehazten ez bada, zutabea ez da aldatuko
      ' Kurtsorea 4. errenkadako "AzkenIzena" zutabera darama
      oSheet.GoToCell(4, "AzkenIzena")
      ' Uneko errenkadaren hirugarren zutabera darama kurtsorea
      oSheet.GoToCell(Column := 3)
      ' Kurtsorea errenkada bat behera darama, baina zutabe berean utzita
      oSheet.GoToCell(Row := oSheet.CurrentRow + 1)
      ' Azken errenkadaren azken zutabera darama
      Dim LastColumn As Integer : LastColumn = UBound(oSheet.ColumnHeaders) + 1
      oSheet.GoToCell(oSheet.LastRow, LastColumn)
    
      sheet.GoToCell(4, "AzkenIzena")
      sheet.GoToCell(column=3)
      sheet.GoToCell(row=sheet.CurrentRow + 1)
      sheet.GoToCell(sheet.LastRow, len(sheet.ColumnHeaders))
    Menu-sarrera bat kentzen du datu-ikuspegitik, bere izenaren arabera.
Metodo honek erabiltzaile-interfaze estandarrarenak diren menuak kendu ditzake, eta baita CreateMenu metodoaren bidez programatikoki gehitu diren menuak ere. Menu estandarrak kentzen badira, ez da behin-betiko izango eta berriro agertuko dira leihoa itxi eta berriro irekitzen bada.
svc.RemoveMenu(menuheader: str): bool
menuheader: Kenduko den menuaren izena (maiuskulak/minuskulak kontuan hartuta). Izenak ez du tileta ("~") eduki behar.
      oSheet.RemoveMenu("Data")
    
      sheet.RemoveMenu("Data")