Storitev SFDatabases.Datasheet

Storitev Datasheet omogoča vizualizacijo vsebine tabel zbirke podatkov, kot tudi rezultate poizvedb in izjav SQL, ki uporabljajo podatkovni pogled modula Base. Poleg tega vam ta storitev omogoča naslednje:

Priklic storitve

Pred uporabo storitve Datasheet je potrebno naložiti ali uvoziti knjižnico ScriptForge:

note

• Za makre Basic mora biti naložena knjižnica ScriptForge z naslednjim ukazom:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Za skripte Python mora biti opravljen uvoz iz modula scriptforge:
from scriptforge import CreateScriptService


V Basicu

Storitev Datasheet je mogoče priklicati na dva različna načina, odvisno od tega, ali je datoteka zbirke podatkov odprta.

Spodnji primer predvideva, da je datoteka zbirke podatkov odprta, zato je storitev UI možno uporabiti, da pridobi dokument, metoda OpenTable iz storitve Database pa se uporabi, da pridobi instanco storitve Datasheet.


    Dim ui As Object, oBase As Object, oSheet As Object
    Set ui = CreateScriptService("UI")
    ' Predmet oBase je instanca storitve Base
    Set oBase = ui.GetDocument("C:\Documents\myDB.odb")
    ' Predmet oSheet je instanca storitve Datasheet
    Set oSheet = oBase.OpenTable("Customers")
  

V zgornjem primeru lahko uporabite tudi metodo OpenQuery iz storitve Base, da dobite instanco Datasheet.

Če želite priklicati storitev Datasheet, ko datoteka zbirke podatkov ni odprta, uporabite metodo OpenTable, OpenQuery ali OpenSql iz storitve Database. Spodnji primer uporablja metodo OpenTable za odpiranje obstoječe tabele v datoteki zbirke podatkov:


    Dim oDatabase As Object, oSheet As Object
    ' Predmet oDatabase je instanca storitve Database
    Set oDatabase = CreateScriptService("Database", "C:\Documents\myDB.odb")
    ' Predmet oSheet je instanca storitve Datasheet
    Set oSheet = oDatabase.OpenTable("Customers")
  
V Pythonu

Zgornje primere lahko prevedemo v Python na sledeč način:


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

Lastnosti

Naslednje lastnosti so na voljo v storitvi DataSheet:

Ime

Samo za branje

Vrsta

Opis

ColumnHeaders

Da

Polje nizov

Vrne polje Array z imeni naslovov stolpcev v delovnem listu.

CurrentColumn

Da

String

Vrne ime trenutno izbranega stolpca.

CurrentRow

Da

Integer

Vrne številko trenutno izbrane vrstice, začenši z 1.

DatabaseFileName

Da

String

Vrne ime datoteke Base v obliki zapisa FSO.FileNaming.

Filter

Ne

String

Določa filter, ki bo uveljavljen na delovnem listu, izražen kot stavek WHERE poizvedbe SQL brez ključne besede WHERE. Če je naveden prazen niz, se dejavni Filter odstrani.

LastRow

Da

Integer

Vrne število vseh vrstic v delovnem listu.

OrderBy

Ne

String

Določa zaporedje, v katerem naj bodo prikazani zapisi, kot stavek SQL ORDER BY, vendar brez ključnih besed ORDER BY. Če je naveden prazen niz, se dejavni OrderBy odstrani.

ParentDatabase

Da

Predmet

Vrne instanco storitve Database, kateri pripada delovni list.

Source

Da

String

Vrne niz, ki predstavlja vir podatkov, ki je lahko izjava SQL, ime tabele ali ime poizvedbe.

SourceType

Da

String

Vrne vrsto vira podatkov, ki ima lahko eno od naslednjih vrednosti: »SQL«, »TABLE« ali »QUERY«.

XComponent

Da

Predmet UNO

Vrne predmet UNO com.sun.star.lang.XComponent, ki predstavlja delovni list.

XControlModel

Da

Predmet UNO

Vrne predmet UNO com.sun.star.awt.XControl, ki predstavlja delovni list.

XTabControllerModel

Da

Predmet UNO

Vrne predmet UNO com.sun.star.awt.XTabControllerModel, ki predstavlja delovni list.


Metode

Seznam metod v storitvi Datasheet

Activate
CloseDatasheet
CreateMenu

GetText
GetValue
GoToCell

RemoveMenu
Toolbars



Activate

V ospredje postavi okno podatkovnega pogleda, na katerega se sklicuje instanca Datasheet.

Skladnja:

svc.Activate()

Primer:

V Basicu

      oSheet.Activate()
    
V Pythonu

      sheet.Activate()
    

CloseDatasheet

Zapre okno podatkovnega pogleda, na katerega se sklicuje instanca Datasheet.

Skladnja:

svc.CloseDatasheet()

Primer:

V Basicu

      oSheet.CloseDatasheet()
    
V Pythonu

      sheet.CloseDatasheet()
    

CreateMenu

Ustvari nov menijski vnos v oknu podatkovnega pogleda in vrne instanco storitve SFWidgets.Menu, s katero lahko programsko dodajate elemente menija.

note

Meniji, dodani z metodo CreateMenu, so izgubljeni, takoj ko se zapre okno podatkovnega pogleda.


Skladnja:

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

Parametri:

menuheader: ime novega menija.

before: ta argument je lahko ime obstoječega vnosa menija, pred katerega bo postavljen nov meni, ali število, ki izraža položaj novega menija. Če za ta argument vrednost ni določena, bo novi meni vzpostavljen kot zadnji vnos.

submenuchar: ločilo, uporabljeno v menijskih drevesih (privzeto = ">").

Primer:

V Basicu

      Dim oMenu As Object
      Set oMenu = oSheet.CreateMenu("Moj meni", Before := "Podatki")
      With oMenu
          .AddItem("Element 1", Command := ".uno:About")
          ' ...
          .Dispose()
      End With
    
V Pythonu

      menu = sheet.CreateMenu("Moj meni", before="Podatki")
      menu.AddItem("Element 1", command=".uno:About")
      # ...
      menu.Dispose()
    
tip

Preverite stran pomoči storitve Menu, da izveste več o tem, kako ustvarite vnose menija in podmenijev ter z njimi povežete ukaze.


GetText

Vrne besedilo v danem stolpcu trenutne vrstice.

note

Ta metoda ne spremeni položaja kazalke v oknu podatkovnega pogleda.


Skladnja:

svc.GetText(column: any): str

Parametri:

column: ime stolpca kot niz (String) ali položaj stolpca (začenši z 1). Če je položaj večji od podanega števila stolpcev, vrne zadnji stolpec.

Primer:

V Basicu

      oSheet.GetText("FirstName")
    
V Pythonu

      sheet.GetText("FirstName")
    

GetValue

Vrne vrednost v danem stolpcu trenutne vrstice kot veljavno vrsto Basic.

Vrste, ki so lahko vrnjene, so: String, Integer, Long, Single, Double, Date in Null.

Binarne vrste so vrnjene kot vrednost Long, kar nakazuje dolžino binarnega polja.

Vrne vrednost Empty, če zahtevane vrednosti ni mogoče pridobit.

note

Ta metoda ne spremeni položaja kazalke v oknu podatkovnega pogleda.


Skladnja:

svc.GetValue(column: any): any

Parametri:

column: ime stolpca kot niz (String) ali položaj stolpca (začenši z 1). Če je položaj večji od podanega števila stolpcev, vrne zadnji stolpec.

Primer:

V Basicu

      oSheet.GetValue("Address")
    
V Pythonu

      sheet.GetValue("Address")
    

GoToCell

Kazalko premakne v navedeno vrstico in stolpec.

note

Ta metoda ne spremeni položaja kazalke v oknu podatkovnega pogleda.


Skladnja:

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

Parametri:

row: številka vrstice kot številska vrednost, začenši z 1. Če zahtevana vrstica presega število obstoječih vrstic, se kazalka postavi v zadnjo vrstico. Če ta argument ni podan, se stolpec ne spremeni.

column: ime stolpca kot niz (String) ali položaj stolpca (začenši z 1). Če je številka zahtevanega stolpca večja od števila obstoječih stolpcev, se kazalka postavi v zadnji stolpec. Če ta argument ni podan, se stolpec ne spremeni.

Primer:

V Basicu

      ' Premakne kazalko v stolpec »Priimek« v vrstici 4
      oSheet.GoToCell(4, "Priimek")
      ' Premakne kazalko v tretji stolpec trenutne vrstice
      oSheet.GoToCell(Column := 3)
      ' Premakne kazalko eno vrstico navzdol, da ostane v istem stolpcu
      oSheet.GoToCell(Row := oSheet.CurrentRow + 1)
      ' Premakne kazalko v zadnji stolpec zadnje vrstice
      Dim LastColumn As Integer : LastColumn = UBound(oSheet.ColumnHeaders) + 1
      oSheet.GoToCell(oSheet.LastRow, LastColumn)
    
V Pythonu

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

RemoveMenu

Odstrani menijski vnos iz podatkovnega pogleda po njegovem imenu.

note

Ta metoda lahko odstrani menije, ki sodijo k standardnemu uporabniškemu vmesniku, kot tudi menije, ki so programsko dodani z metodo CreateMenu. Odstranitev standardnih menijev ni trajna in ti se ponovno pojavijo, potem ko okno zaprete in ponovno odprete.


Skladnja:

svc.RemoveMenu(menuheader: str): bool

Parametri:

menuheader: ime menija, ki bo odstranjen; loči med malimi in velikimi črkami. Ime ne sme vsebovati znaka vijuge oz. tilde (»~«).

Primer:

V Basicu

      oSheet.RemoveMenu("Data")
    
V Pythonu

      sheet.RemoveMenu("Data")
    

Toolbars

Ta metoda vrne seznam imen razpoložljivih orodnih vrstic v trenutnem dokumentu ali instanco storitve SFWidgets.Toolbar.

Skladnja:

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

Parametri:

ToolbarName: ime ene od razpoložljivih orodnih vrstic.

Primer:

V Basicu

    Dim oToolbar As Object
    Set oToolbar = oDoc.Toolbars("myToolbar")
  
V Pythonu

    a_list = doc.Toolbars()
  
warning

Vsi podprogrami ali identifikatorji ScriptForge Basic s predpono podčrtaja (»_«) so rezervirani za interno uporabo. Uporabi v makrih Basic ali skriptih Python niso namenjeni.


Podprite nas!