SFDatabases.Datasheet service

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:

Zerbitzuari deitzea

Datasheet zerbitzua erabiltzeko, ScriptForge liburutegia kargatu edo inportatu behar da lehenengo:

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

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

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

Propietateak

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.


Metodoak

Datasheet zerbitzuaren metodoen zerrenda

Activate
CloseDatasheet
CreateMenu

GetText
GetValue
GoToCell

RemoveMenu
Toolbars



Activate

Datasheet instantziak erreferentzia egiten dion datu-ikuspegiaren leihoa aurrera eramaten du.

Sintaxia:

svc.Activate()

Adibidea:

Basic lengoaian

      oSheet.Activate()
    
Python lengoaian

      sheet.Activate()
    

CloseDatasheet

Datasheet instantziak erreferentzia egiten dion datu-ikuspegiaren leihoa ixten du.

Sintaxia:

svc.CloseDatasheet()

Adibidea:

Basic lengoaian

      oSheet.CloseDatasheet()
    
Python lengoaian

      sheet.CloseDatasheet()
    

CreateMenu

Menu-sarrera berria sortzen du datu-ikuspegiaren leihoan eta SFWidgets.Menu zerbitzu-instantzia itzultzen du, haren bidez menu-elementuak programatikoki gehitu ahal izateko.

note

CreateMenu metodoaren bidez gehitutako menuak galdu egingo dira datu-ikuspegiaren leihoa itxi eta berehala.


Sintaxia:

svc.CreateMenu(menuheader: str, opt before: any, opt submenuchar: str): obj

Parametroak:

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

Adibidea:

Basic lengoaian

      Dim oMenu As Object
      Set oMenu = oSheet.CreateMenu("Nire menua", Before := "Datuak")
      With oMenu
          .AddItem("1. elementua", Command := ".uno:About")
          ' ...
          .Dispose()
      End With
    
Python lengoaian

      menu = sheet.CreateMenu("Nire menua", before="Datuak")
      menu.AddItem("1. elementua", command=".uno:About")
      # ...
      menu.Dispose()
    
tip

Irakurri Menu zerbitzua laguntza-orria menuak eta azpimenuak eta haiei lotutako komandoak nola sortu ikasteko.


GetText

Uneko errenkadatik emandako zutabearen testua itzultzen du.

note

Metodo honek ez du aldatzen kurtsorearen kokagunea datu-ikuspegiaren leihoan.


Sintaxia:

svc.GetText(column: any): str

Parametroak:

column: Zutabearen izena, kate gisa, edo zutabearen kokagunea (1 baliotik hasita). Zutabe kopurua baino handiagoa den kokagune bat ematen bada, azken zutabea itzuliko da.

Adibidea:

Basic lengoaian

      oSheet.GetText("FirstName")
    
Python lengoaian

      sheet.GetText("FirstName")
    

GetValue

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.

note

Metodo honek ez du aldatzen kurtsorearen kokagunea datu-ikuspegiaren leihoan.


Sintaxia:

svc.GetValue(column: any): any

Parametroak:

column: Zutabearen izena, kate gisa, edo zutabearen kokagunea (1 baliotik hasita). Zutabe kopurua baino handiagoa den kokagune bat ematen bada, azken zutabea itzuliko da.

Adibidea:

Basic lengoaian

      oSheet.GetValue("Address")
    
Python lengoaian

      sheet.GetValue("Address")
    

GoToCell

Zehaztutako errenkadara eta zutabera darama kurtsorea.

note

Metodo honek ez du aldatzen kurtsorearen kokagunea datu-ikuspegiaren leihoan.


Sintaxia:

svc.GoToCell(opt row: int, opt column: any): bool

Parametroak:

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

Adibidea:

Basic lengoaian

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

      sheet.GoToCell(4, "AzkenIzena")
      sheet.GoToCell(column=3)
      sheet.GoToCell(row=sheet.CurrentRow + 1)
      sheet.GoToCell(sheet.LastRow, len(sheet.ColumnHeaders))
    

RemoveMenu

Menu-sarrera bat kentzen du datu-ikuspegitik, bere izenaren arabera.

note

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.


Sintaxia:

svc.RemoveMenu(menuheader: str): bool

Parametroak:

menuheader: Kenduko den menuaren izena (maiuskulak/minuskulak kontuan hartuta). Izenak ez du tileta ("~") eduki behar.

Adibidea:

Basic lengoaian

      oSheet.RemoveMenu("Data")
    
Python lengoaian

      sheet.RemoveMenu("Data")
    

Toolbars

This method returns either a list of the available toolbar names in the actual document or an instance SFWidgets.Toolbar service.

Sintaxia:

svc.Toolbars(opt ToolbarName: str): uno
svc.Toolbars(): str[0..]

Parametroak:

ToolbarName: The usual name of one of the available toolbars.

Adibidea:

Basic lengoaian

    Dim oToolbar As Object
    Set oToolbar = oDoc.Toolbars("myToolbar")
  
Python lengoaian

    a_list = doc.Toolbars()
  
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!