Słužba SFDatabases.Datasheet

Słužba Datasheet zmóžnja, wobsah tabelow datoweje banki kaž tež wuslědki wotprašowanjow a SQL-přikazy z pomocu datoweho napohlada Base wizualizować. Nimo toho tuta słužba zmóžnja:

Słužbowe wuwołanje

Před wužiwanjom słužby Datasheet dyrbi so biblioteka ScriptForge začitać abo importować:

note

• Makra Basic sej wužaduja, zo so biblioteka ScriptForge z pomocu slědowaceho přikaza začituje:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Skripty Python sej import z modula scriptforge wužaduja:
from scriptforge import CreateScriptService


W Basic

Słužba Datasheet da so na dwě rozdźělnej wašni wuwołać, wotwisujo wot toho, hač dataja datoweje banki je wočinjena.

Slědowacy přikład z toho wuchadźa, zo dataja datoweje banki je wočinjena, tohodla da so słužba UI wužiwać, zo by dokument wotwołała a metoda OpenTable ze słužby Database so wužiwa, zo by słužbowu instancu Datasheet dóstała.


    Dim ui As Object, oBase As Object, oSheet As Object
    Set ui = CreateScriptService("UI")
    ' Objekt oBase je instanca słužby Base
    Set oBase = ui.GetDocument("C:\Documents\myDB.odb")
    ' Objekt oSheet je instanca słužby Datasheet
    Set oSheet = oBase.OpenTable("Customers")
  

W přikładźe horjeka je tež móžno, metodu OpneQuery ze słužby Base wužiwać, zo by instancu Datasheet dóstało.

Zo byšće słužbu Datasheet wuwołał, hdyž dataja datoweje banki wočinjena njeje, wužiwajće metody OpenTable, OpenQuery abo OpenSql ze słužby Database. Slědowacy přikład metodu OpenTable wužiwa, zo by eksistowacu tabelu w dataji datoweje banki wočinił:


    Dim oDatabase As Object, oSheet As Object
    ' Objekt oDatabase je instanca słužby Database
    Set oDatabase = CreateScriptService("Database", "C:\Documents\myDB.odb")
    ' Objekt oSheet je instanca słužby Datasheet
    Set oSheet = oDatabase.OpenTable("Customers")
  
W Python

Přikłady horjeka dadźa so takle do Python přełožić:


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

Kajkosće

Slědowace kajkosće su w słužbje Datasheet k dispoziciji:

Mjeno

Přećiwo pisanju škitany

Typ

Wopisanje

ColumnHeaders

Haj

Matriks znamješkowych rjećazkow

Wróći matriks Array z mjenami špaltowych nadpismow w datowej tabeli.

CurrentColumn

Haj

String

Wróći tuchwilu wubrane špaltowe mjeno.

CurrentRow

Haj

Integer

Wróći čisło tuchwilu wubraneje linki, započinajo z 1.

DatabaseFileName

Haj

String

Wróći datajowe mjeno dataje Base w formaće FSO.FileNaming.

Filter

String

Podawa filter, kotryž so ma na datowu tabelu nałožić, zwuraznjeny jako klawsla WHERE wotprašowanja SQL bjez klučoweho słowa WHERE. Jeli so prózdny znamješkowy rjećazk podawa, so aktiwny filter wotstroni.

LastRow

Haj

Integer

Wróći ličbu linkow w datowej tabeli.

OrderBy

String

Podawa porjad, po kotrymž so datowe sadźby pokazuje, zwuraznjeny jako klawsla ORDER BY wotprašowanja SQL bjez klučoweho słowa ORDER BY. Jeli so prózdny znamješkowy rjećazk podawa, so aktiwny OrderBy wotstroni.

ParentDatabase

Haj

Objekt

Wróći słužbowu instancu Database, ke kotrejž datowa tabela słuša.

Source

Haj

String

Wróći znamješkowy rjećazk, kotryž datowe žórło reprezentuje, kotrež móže SQL-přikaz, tabelowe mjeno abo mjeno wotprašowanja być.

SourceType

Haj

String

Wróći typ datoweho žórła, kotryž móže jedna ze slědowacych hódnotow być: „SQL“, „TABLE“ abo „QUERY“.

XComponent

Haj

Objekt UNO

Wróći objekt UNO com.sun.star.lang.XComponent, kotryž datowu tabelu reprezentuje.

XControlModel

Haj

Objekt UNO

Wróći objekt UNO com.sun.star.awt.XControl, kotryž datowu tabelu reprezentuje.

XTabControllerModel

Haj

Objekt UNO

Wróći objekt UNO com.sun.star.awt.XTabControllerModel, kotryž datowu tabelu reprezentuje.


Metody

Lisćina metodow w słužbje Datasheet

Activate
CloseDatasheet
CreateMenu

GetText
GetValue
GoToCell

RemoveMenu
Toolbars


Activate

Přinjese wokno datoweho napohlada doprědka, na kotrež so přez instancu Datasheet wotkazuje.

Syntaksa:

svc.Activate()

Přikład:

W Basic

      oSheet.Activate()
    
W Python

      sheet.Activate()
    

CloseDatasheet

Začini wokno datoweho napohlada, na kotrež so přez instancu Datasheet wotkazuje.

Syntaksa:

svc.CloseDatasheet()

Přikład:

W Basic

      oSheet.CloseDatasheet()
    
W Python

      sheet.CloseDatasheet()
    

CreateMenu

Wutwori nowy menijowy zapisk we woknje datoweho napohlada a wróći słužbowu instancu SFWidgets.Menu, z kotrejž dadźa so menijowe zapiski přez program přidać.

note

Menije, kotrež su so z pomocu metody CreateMenu přidali, so zhubja, hdyž so wokno datoweho napohlada začini.


Syntaksa:

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

Parametry:

menuheader: Mjeno noweho menija.

before: Tutón argument móže pak mjeno eksistowaceho menijoweho zapiska być, před kotrymž so nowy meni placěruje, pak ličba, kotraž pozicija noweho menija zwuraznja. Jeli tutón argument so prózdny wostaja, so nowy meni jako posledni zapisk placěruje.

submenuchar: Dźělatko, kotrež so w menijowych štomach wužiwa (standard = ">")

Přikład:

W Basic

      Dim oMenu As Object
      Set oMenu = oSheet.CreateMenu("Mój meni", Before := "Data")
      With oMenu
          .AddItem("Zapisk 1", Command := ".uno:About")
          ' ...
          .Dispose()
      End With
    
W Python

      menu = sheet.CreateMenu("Mój meni", before="Data")
      menu.AddItem("Zapisk 1", command=".uno:About")
      # ...
      menu.Dispose()
    
tip

Čitajće stronu pomocy słužby Menu, zo byšće wjace wo tym zhonił, kak móžeće zapiski menijow a podmenijow wutworić a jim přikazy přirjadować.


GetText

Wróći tekst w datej špalće aktualneje linki.

note

Tuta metoda poziciju kursor we woknje datoweho napohlada njezměni.


Syntaksa:

svc.GetText(column: any): str

Parametry:

column: Mjeno špalty jako znamješkowy rjećazk abo špaltowa pozicija (započinajo z 1). Jeli pozicija je podata, kotraž je wjetša hač ličba špaltow, so poslednja špalta wróći.

Přikład:

W Basic

      oSheet.GetText("FirstName")
    
W Python

      sheet.GetText("FirstName")
    

GetValue

Wróći hódnotu w datej špalće aktualneje linki jako płaćiwy typ Basic.

Typy, kotrež dadźa so wróćić, su: String, Integer, Long, Single, Double, Date a Null.

Binarne typy so jako hódnota Long wróćeja, kotraž dołhosć binarneho pola podawa.

Hódnota Empty so wróća, jeli trěbna hódnota njeda so wotwołać.

note

Tuta metoda poziciju kursor we woknje datoweho napohlada njezměni.


Syntaksa:

svc.GetValue(column: any): any

Parametry:

column: Mjeno špalty jako znamješkowy rjećazk abo špaltowa pozicija (započinajo z 1). Jeli pozicija je podata, kotraž je wjetša hač ličba špaltow, so poslednja špalta wróći.

Přikład:

W Basic

      oSheet.GetValue("Address")
    
W Python

      sheet.GetValue("Address")
    

GoToCell

Pohibuje kursor k podatej lince a špalće.

Syntaksa:

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

Parametry:

row: Linkowe čisło jako numeriska hódnota započinajo z 1. Jeli požadana linka ličbu eksistowacych linkow překročuje, so kursor do poslednjeje linki pohibuje. Jeli so tutón argument njepodawa, so linka njezměni.

column: Mjeno špalty jako znamješkowy rjećazk abo špaltowa pozicija (započinajo z 1). Jeli požadana špalta ličbu eksistowacych špaltow překročuje, so kursor do poslednjeje špalty pohibuje. Jeli so tutón argument njepodawa, so špalta njezměni.

Přikład:

W Basic

      ' Pohibuje kursor k špalće „SwójbneMjeno“ w lince 4
      oSheet.GoToCell(4, "SwójbneMjeno")
      ' Pohibuje kursor k třećej špalće aktualneje linki
      oSheet.GoToCell(Column := 3)
      ' Pohibuje kursor wo jednu linku dele a wostaja jón w samsnej špalće
      oSheet.GoToCell(Row := oSheet.CurrentRow + 1)
      ' Pohibuje k poslednjej špalće poslednjeje linki
      Dim LastColumn As Integer : LastColumn = UBound(oSheet.ColumnHeaders) + 1
      oSheet.GoToCell(oSheet.LastRow, LastColumn)
    
W Python

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

RemoveMenu

Wotstronja menijowy zapisk z datoweho napohlada po jeho mjenje.

note

Tuta metoda móže menije wotstronić, kotrež k standardnemu wužiwarskemu powjerchej słušeja kaž tež menije, kotrež su so přez program z metodu CreateMenu přidali. Wotstronjenje standardnych menijow na přeco njeje a budu so zaso jewić, po tym zo wokno je so začiniło a zaso wočiniło.


Syntaksa:

svc.RemoveMenu(menuheader: str): bool

Parametry:

menuheader: Mjeno menija, kotryž so ma wotstronić dźiwajo na wulkopisanje. Mjeno njesmě znamješko tilda ("~") wobsahować.

Přikład:

W Basic

      oSheet.RemoveMenu("Data")
    
W Python

      sheet.RemoveMenu("Data")
    

Toolbars

Tuta metoda pak lisćinu mjenow symbolowych lajstow, kotrež su k dispoziciji, w poprawnym dokumenće pak instancu słužby SFWidgets.Toolbar wróći.

Syntaksa:

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

Parametry:

ToolbarName: Zwučene mjeno jedneje ze symbolowych lajstow, kotrež su k dispoziciji.

Přikład:

W Basic

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

    a_list = doc.Toolbars()
  
warning

Wšě rutiny Basic ScriptForge abo identifikatory, kotrež so z podsmužku „_“ započinaja, su za interne wužiwanje wuměnjene. Njejsu za to myslene, so w makrach Basic abo skriptach Python wužiwać.


Prošu podpěrajće nas!