Mga SFDatabase . Datasheet serbisyo

Ang Datasheet Binibigyang-daan ng serbisyo na mailarawan ang mga nilalaman ng mga talahanayan ng database gayundin ang mga resulta ng mga query at mga pahayag ng SQL gamit ang Data View ng Base. Bilang karagdagan, pinapayagan ng serbisyong ito na:

Panawagan sa serbisyo

Bago gamitin ang Datasheet serbisyo ang ScriptForge kailangang i-load o i-import ang library:

note

• Ang mga pangunahing macro ay kailangang mag-load ScriptForge aklatan gamit ang sumusunod na pahayag:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Ang mga script ng Python ay nangangailangan ng pag-import mula sa scriptforge module:
mula sa scriptforge import CreateScriptService


Sa Basic

Ang Datasheet maaaring i-invoke ang serbisyo sa dalawang magkaibang paraan depende sa kung bukas ang database file.

Ang halimbawa sa ibaba ay isinasaalang-alang na ang database file ay bukas, kaya ang UI maaaring gamitin ang serbisyo upang kunin ang dokumento at ang OpenTable pamamaraan mula sa Database ang serbisyo ay ginagamit upang makakuha ng a Datasheet halimbawa ng serbisyo.


    Dim ui As Object, oBase As Object, oSheet As Object
    Set ui = CreateScriptService("UI")
    ' Ang Object oBase ay isang halimbawa ng serbisyo ng Base
    Set oBase = ui.GetDocument("C:\Documents\myDB.odb")
    ' Ang Object oSheet ay isang instance ng serbisyo ng Datasheet
    Set oSheet = oBase.OpenTable("Customers")
  

Sa halimbawa sa itaas posible ring gamitin ang pamamaraan OpenQuery mula sa Base serbisyo upang makakuha ng a Datasheet halimbawa.

Upang tawagan ang Datasheet serbisyo kapag hindi nakabukas ang database file, gamitin ang OpenTable , OpenQuery o OpenSql pamamaraan mula sa Database serbisyo. Ang halimbawa sa ibaba ay gumagamit ng OpenTable paraan upang buksan ang isang umiiral na talahanayan sa file ng database:


    Dim oDatabase As Object, oSheet As Object
    ' Ang Object oDatabase ay isang halimbawa ng serbisyo ng Database
    Set oDatabase = CreateScriptService("Database", "C:\Documents\myDB.odb")
    ' Ang Object oSheet ay isang instance ng serbisyo ng Datasheet
    Set oSheet = oDatabase.OpenTable("Customers")
  
Sa Python

Ang mga halimbawa sa itaas ay maaaring isalin sa Python tulad ng sumusunod:


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

Mga Katangian

Ang mga sumusunod na katangian ay magagamit sa Datasheet serbisyo:

Pangalan

Read-only

Type

Mga nilalaman

ColumnHeaders

Mayroon

Array ng Strings

Ibinabalik ang isang Array na may mga pangalan ng mga header ng column sa datasheet.

CurrentColumn

Mayroon

String

Ibinabalik ang kasalukuyang napiling pangalan ng column.

CurrentRow

Mayroon

Integer

Ibinabalik ang numero ng kasalukuyang napiling row, simula sa 1.

DatabaseFileName

Mayroon

String

Ibinabalik ang pangalan ng file ng Base file sa FSO.FileNaming pormat.

Filter

Hindi

String

Tinutukoy ang isang filter na ilalapat sa datasheet na ipinahayag bilang ang SAAN sugnay ng isang SQL query na walang SAAN keyword. Kung ang isang walang laman na string ay tinukoy pagkatapos ay ang aktibo Salain ay tinanggal.

LastRow

Mayroon

Integer

Ibinabalik ang bilang ng mga row sa datasheet.

OrderBy

Hindi

String

Tinutukoy ang pagkakasunud-sunod kung saan ipinapakita ang mga talaan na ipinahayag bilang ang ORDER NI sugnay ng isang query sa SQL na walang ORDER NI keyword. Kung ang isang walang laman na string ay tinukoy pagkatapos ay ang aktibo Order By ay tinanggal.

ParentDatabase

Mayroon

Bagay

Ibinabalik ang Database instance ng serbisyo kung saan kabilang ang datasheet.

Source

Mayroon

String

Nagbabalik ng String na kumakatawan sa data source, na maaaring isang SQL statement, pangalan ng talahanayan o pangalan ng query.

SourceType

Mayroon

String

Ibinabalik ang uri ng data source, na maaaring isa sa mga sumusunod na value: "SQL", "TABLE" o "QUERY".

XComponent

Mayroon

UNO Object

Ibinabalik ang com.sun.star.lang.XComponent UNO object na kumakatawan sa datasheet.

XControlModel

Mayroon

UNO Object

Ibinabalik ang com.sun.star.awt.XControl UNO object na kumakatawan sa datasheet.

XTabControllerModel

Mayroon

UNO Object

Ibinabalik ang com.sun.star.awt.XTabControllerModel UNO object na kumakatawan sa datasheet.


Pamamaraan

Listahan ng Mga Paraan sa Serbisyo ng Datasheet

Activate
CloseDatasheet
CreateMenu

GetText
GetValue
GoToCell

RemoveMenu
Toolbars


Activate

Dinadala sa harap ang window ng view ng data na tinutukoy ng Datasheet halimbawa.

Syntax:

svc.Activate()

Halimbawa:

Sa Basic

      oSheet.Activate()
    
Sa Python

      sheet.Activate()
    

CloseDatasheet

Isinasara ang window ng view ng data na tinutukoy ng Datasheet halimbawa.

Syntax:

svc.CloseDatasheet()

Halimbawa:

Sa Basic

      oSheet.CloseDatasheet()
    
Sa Python

      sheet.CloseDatasheet()
    

CreateMenu

Lumilikha ng bagong entry sa menu sa window ng view ng data at nagbabalik ng a SFWidgets.Menu halimbawa ng serbisyo, kung saan ang mga item sa menu ay maaaring maidagdag gamit ang program.

note

Mga menu na idinagdag gamit ang CreateMenu paraan ay nawala sa sandaling ang data view window ay sarado.


Syntax:

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

Mga Parameter:

menuheader: Ang pangalan ng bagong menu.

bago: Ang argument na ito ay maaaring alinman sa pangalan ng isang umiiral na entry sa menu bago ilalagay ang bagong menu o isang numero na nagpapahayag ng posisyon ng bagong menu. Kung ang argumentong ito ay iwanang blangko ang bagong menu ay inilalagay bilang huling entry.

submenuchar: Ang delimiter na ginagamit sa mga puno ng menu (Default = ">")

Halimbawa:

Sa Basic

      Dim oMenu As Object
      Itakda ang oMenu = oSheet.CreateMenu("Aking Menu", Bago := "Data")
      With oMenu
          .AddItem("Item 1", Command := ".uno:About")
          ' ...
          .Dispose()
      End With
    
Sa Python

      menu = sheet.CreateMenu("My Menu", before="Data")
      menu.AddItem("Item 1", command=".uno:About")
      # ...
      menu.Dispose()
    
tip

Basahin ang Serbisyo ng menu pahina ng tulong upang matuto nang higit pa tungkol sa kung paano lumikha ng mga entry sa menu at submenu at mga kaugnay na utos.


GetText

Ibinabalik ang text sa isang ibinigay na column ng kasalukuyang row.

note

Hindi binabago ng pamamaraang ito ang posisyon ng cursor sa window ng view ng data.


Syntax:

svc.GetText(column: any): str

Mga Parameter:

hanay: Ang pangalan ng column bilang String o posisyon ng column (simula sa 1). Kung ang isang posisyon na mas malaki kaysa sa bilang ng mga column ay ibinigay, ang huling column ay ibabalik.

Halimbawa:

Sa Basic

      oSheet.GetText("FirstName")
    
Sa Python

      sheet.GetText("FirstName")
    

GetValue

Ibinabalik ang value sa isang ibinigay na column ng kasalukuyang row bilang isang wastong Basic na uri.

Ang mga uri na maaaring ibalik ay: String , Integer , Mahaba , Walang asawa , Doble , Petsa at Null .

Binary type ay ibinalik bilang a Mahaba halaga na nagpapahiwatig ng haba ng binary field.

An Walang laman ibinabalik ang halaga kung hindi makuha ang kinakailangang halaga.

note

Hindi binabago ng pamamaraang ito ang posisyon ng cursor sa window ng view ng data.


Syntax:

svc.GetValue(column: any): any

Mga Parameter:

hanay: Ang pangalan ng column bilang String o posisyon ng column (simula sa 1). Kung ang isang posisyon na mas malaki kaysa sa bilang ng mga column ay ibinigay, ang huling column ay ibabalik.

Halimbawa:

Sa Basic

      oSheet.GetValue("Address")
    
Sa Python

      sheet.GetValue("Address")
    

GoToCell

Inilipat ang cursor sa tinukoy na row at column.

Syntax:

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

Mga Parameter:

hilera: Ang row number bilang numeric value na nagsisimula sa 1. Kung ang hiniling na row ay lumampas sa bilang ng mga umiiral na row, ang cursor ay ililipat sa huling row. Kung hindi tinukoy ang argumentong ito, hindi mababago ang row.

hanay: Ang pangalan ng column bilang a String o ang posisyon ng column (simula sa 1). Kung ang hiniling na column ay lumampas sa bilang ng mga kasalukuyang column, ang cursor ay ililipat sa huling column. Kung hindi tinukoy ang argumentong ito, hindi mababago ang column.

Halimbawa:

Sa Basic

      ' Inilipat ang cursor sa column na "LastName" sa row 4
      oSheet.GoToCell(4, "LastName")
      ' Inilipat ang cursor sa ikatlong hanay ng kasalukuyang hilera
      oSheet.GoToCell(Column := 3)
      ' Iginagalaw ang cursor ng isang hilera pababa at iniiwan ito sa parehong column
      oSheet.GoToCell(Row := oSheet.CurrentRow + 1)
      ' Lilipat sa huling column ng huling row
      Dim LastColumn As Integer : LastColumn = UBound(oSheet.ColumnHeaders) + 1
      oSheet.GoToCell(oSheet.LastRow, LastColumn)
    
Sa Python

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

RemoveMenu

Inaalis ang isang entry sa menu mula sa view ng data ayon sa pangalan nito.

note

Maaaring alisin ng paraang ito ang mga menu na kabilang sa karaniwang user interface gayundin ang mga menu na idinagdag gamit ang programmatically CreateMenu paraan. Ang pag-alis ng mga karaniwang menu ay hindi permanente at lilitaw muli ang mga ito pagkatapos isara at muling buksan ang window.


Syntax:

svc.RemoveMenu(menuheader: str): bool

Mga Parameter:

menuheader: Ang case-sensitive na pangalan ng menu na aalisin. Ang pangalan ay hindi dapat magsama ng tilde ("~") character.

Halimbawa:

Sa Basic

      oSheet.RemoveMenu("Data")
    
Sa Python

      sheet.RemoveMenu("Data")
    

Toolbars

Ibinabalik ng pamamaraang ito ang alinman sa isang listahan ng magagamit na mga pangalan ng toolbar sa aktwal na dokumento o isang instance SFWidgets.Toolbar serbisyo.

Syntax:

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

Mga Parameter:

ToolbarName : Ang karaniwang pangalan ng isa sa mga magagamit na toolbar.

Halimbawa:

Sa Basic

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

    a_list = doc.Toolbars()
  
warning

Lahat ScriptForge Ang mga pangunahing gawain o identifier na may prefix na may underscore na character na "_" ay nakalaan para sa panloob na paggamit. Ang mga ito ay hindi nilalayong gamitin sa Basic macros o Python script.


Mangyaring suportahan kami!