ບໍລິການ SFDatabases.Datasheet

ບໍລິການ Datasheet ຊ່ວຍໃຫ້ສາມາດເບິ່ງເນື້ອໃນຂອງຕາຕະລາງຖານຂໍ້ມູນ ຕະຫຼອດຮອດຜົນຂອງການສອບຖາມ (query) ແລະ ຄຳສັ່ງ SQL ໂດຍໃຊ້ Data View ຂອງ Base. ນອກຈາກນັ້ນ, ບໍລິການນີ້ຍັງຊ່ວຍໃຫ້ສາມາດ:

ການເອີ້ນໃຊ້ບໍລິການ

ກ່ອນຈະໃຊ້ບໍລິການ Datasheet, ຫ້ອງສະໝຸດ ScriptForge ຈຳເປັນຕ້ອງໄດ້ຖືກໂຫຼດ ຫຼື ນຳເຂົ້າກ່ອນ:

ໄອຄອນ ບັນທຶກ

• ມາໂຄຣ Basic ຕ້ອງມີການໂຫຼດຄັງສຳນວນ ScriptForge ໂດຍໃຊ້ຄຳສັ່ງດັ່ງນີ້:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• ສະຄຣິບ Python ຕ້ອງມີການນຳເຂົ້າຈາກໂມດູນ scriptforge:
from scriptforge import CreateScriptService


ໃນ Basic

ບໍລິການ Datasheet ສາມາດເອີ້ນໃຊ້ໄດ້ສອງວິທີທີ່ແຕກຕ່າງກັນ ຂຶ້ນກັບວ່າໄຟລ໌ຖານຂໍ້ມູນຖືກເປີດຢູ່ຫຼືບໍ່.

ຕົວຢ່າງລຸ່ມນີ້ຖືວ່າໄຟລ໌ຖານຂໍ້ມູນຖືກເປີດຢູ່, ດັ່ງນັ້ນຈຶ່ງສາມາດໃຊ້ບໍລິການ UI ເພື່ອດຶງເອົາເອກະສານ ແລະ ໃຊ້ວິທີ OpenTable ຈາກບໍລິການ Database ເພື່ອຂໍອິນສະແຕນຊ໌ບໍລິການ Datasheet.


    Dim ui As Object, oBase As Object, oSheet As Object
    Set ui = CreateScriptService("UI")
    ' ວັດຖຸ oBase ແມ່ນອິນສະແຕນຊ໌ຂອງບໍລິການ Base
    Set oBase = ui.GetDocument("C:\Documents\myDB.odb")
    ' ວັດຖຸ oSheet ແມ່ນອິນສະແຕນຊ໌ຂອງບໍລິການ Datasheet
    Set oSheet = oBase.OpenTable("Customers")
  

ໃນຕົວຢ່າງຂ້າງເທິງ, ຍັງສາມາດໃຊ້ວິທີ OpenQuery ຈາກບໍລິການ Base ເພື່ອຂໍອິນສະແຕນຊ໌ Datasheet ໄດ້ຄືກັນ.

ເພື່ອເອີ້ນໃຊ້ບໍລິການ Datasheet ເມື່ອໄຟລ໌ຖານຂໍ້ມູນບໍ່ໄດ້ເປີດຢູ່, ໃຫ້ໃຊ້ວິທີ OpenTable, OpenQuery ຫຼື OpenSql ຈາກບໍລິການ Database. ຕົວຢ່າງລຸ່ມນີ້ໃຊ້ວິທີ OpenTable ເພື່ອເປີດຕາຕະລາງທີ່ມີຢູ່ແລ້ວໃນໄຟລ໌ຖານຂໍ້ມູນ:


    Dim oDatabase As Object, oSheet As Object
    ' ວັດຖຸ oDatabase ແມ່ນອິນສະແຕນຊ໌ຂອງບໍລິການ Database
    Set oDatabase = CreateScriptService("Database", "C:\Documents\myDB.odb")
    ' ວັດຖຸ oSheet ແມ່ນອິນສະແຕນຊ໌ຂອງບໍລິການ Datasheet
    Set oSheet = oDatabase.OpenTable("Customers")
  
ໃນ Python

ຕົວຢ່າງຂ້າງເທິງສາມາດຂຽນເປັນ Python ໄດ້ດັ່ງນີ້:


    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:

ຊື່

ອ່ານຢ່າງດຽວ

ປະເພດ

ຄຳອະທິບາຍ

ColumnHeaders

ແມ່ນ

ອາເຣຂອງ String

ສົ່ງຄືນ Array ທີ່ບັນຈຸຊື່ຫົວຄໍລຳໃນແຜ່ນຂໍ້ມູນ.

CurrentColumn

ແມ່ນ

String

ສົ່ງຄືນຊື່ຄໍລຳທີ່ຖືກເລືອກໃນປັດຈຸບັນ.

CurrentRow

ແມ່ນ

Integer

ສົ່ງຄືນໝາຍເລກແຖວທີ່ຖືກເລືອກໃນປັດຈຸບັນ, ເລີ່ມຈາກ 1.

DatabaseFileName

ແມ່ນ

String

ສົ່ງຄືນຊື່ໄຟລ໌ຂອງໄຟລ໌ Base ໃນຮູບແບບ FSO.FileNaming.

Filter

ບໍ່

String

ລະບຸຕົວຕອງທີ່ຈະນຳໃຊ້ກັບແຜ່ນຂໍ້ມູນ ເຊິ່ງສະແດງອອກເປັນສ່ວນ WHERE ຂອງການສອບຖາມ SQL ໂດຍບໍ່ຕ້ອງມີຄຳຫຼັກ WHERE. ຖ້າລະບຸເປັນຂໍ້ຄວາມວ່າງ, Filter ທີ່ໃຊ້ຢູ່ຈະຖືກລຶບອອກ.

LastRow

ແມ່ນ

Integer

ສົ່ງຄືນຈຳນວນແຖວໃນແຜ່ນຂໍ້ມູນ.

OrderBy

ບໍ່

String

ລະບຸລຳດັບການສະແດງລະບຽບຂໍ້ມູນ ເຊິ່ງສະແດງອອກເປັນສ່ວນ ORDER BY ຂອງການສອບຖາມ SQL ໂດຍບໍ່ຕ້ອງມີຄຳຫຼັກ ORDER BY. ຖ້າລະບຸເປັນຂໍ້ຄວາມວ່າງ, OrderBy ທີ່ໃຊ້ຢູ່ຈະຖືກລຶບອອກ.

ParentDatabase

ແມ່ນ

ວັດຖຸ

ສົ່ງຄືນອິນສະແຕນຊ໌ບໍລິການ Database ທີ່ແຜ່ນຂໍ້ມູນນັ້ນສັງກັດຢູ່.

Source

ແມ່ນ

String

ສົ່ງຄືນ String ທີ່ເປັນຕົວແທນຂອງແຫຼ່ງຂໍ້ມູນ, ເຊິ່ງອາດເປັນຄຳສັ່ງ SQL, ຊື່ຕາຕະລາງ ຫຼື ຊື່ການສອບຖາມ.

SourceType

ແມ່ນ

String

ສົ່ງຄືນປະເພດຂອງແຫຼ່ງຂໍ້ມູນ, ເຊິ່ງອາດເປັນຄ່າໃດໜຶ່ງດັ່ງນີ້: "SQL", "TABLE" ຫຼື "QUERY".

XComponent

ແມ່ນ

ວັດຖຸ UNO

ສົ່ງຄືນວັດຖຸ UNO com.sun.star.lang.XComponent ທີ່ເປັນຕົວແທນຂອງແຜ່ນຂໍ້ມູນ.

XControlModel

ແມ່ນ

ວັດຖຸ UNO

ສົ່ງຄືນວັດຖຸ UNO com.sun.star.awt.XControl ທີ່ເປັນຕົວແທນຂອງແຜ່ນຂໍ້ມູນ.

XTabControllerModel

ແມ່ນ

ວັດຖຸ UNO

ສົ່ງຄືນວັດຖຸ UNO com.sun.star.awt.XTabControllerModel ທີ່ເປັນຕົວແທນຂອງແຜ່ນຂໍ້ມູນ.


ວິທີ (Methods)

ລາຍຊື່ຂອງວິທີຕ່າງໆໃນບໍລິການ Datasheet

Activate
CloseDatasheet
CreateMenu

GetText
GetValue
GoToCell

RemoveMenu
Toolbars


Activate

ນຳໜ້າຕ່າງ data view ທີ່ອ້າງອີງໂດຍອິນສະແຕນຊ໌ Datasheet ຂຶ້ນມາໄວ້ທາງໜ້າ.

ໄວຍາກອນ:

svc.Activate()

ຕົວຢ່າງ:

ໃນ Basic

      oSheet.Activate()
    
ໃນ Python

      sheet.Activate()
    

CloseDatasheet

ປິດໜ້າຕ່າງ data view ທີ່ອ້າງອີງໂດຍອິນສະແຕນຊ໌ Datasheet.

ໄວຍາກອນ:

svc.CloseDatasheet()

ຕົວຢ່າງ:

ໃນ Basic

      oSheet.CloseDatasheet()
    
ໃນ Python

      sheet.CloseDatasheet()
    

CreateMenu

ສ້າງລາຍການເມນູໃໝ່ໃນໜ້າຕ່າງ data view ແລະ ສົ່ງຄືນອິນສະແຕນຊ໌ບໍລິການ SFWidgets.Menu, ເຊິ່ງສາມາດໃຊ້ເພື່ອເພີ່ມລາຍການເມນູຜ່ານການຂຽນໂປຣແກຣມໄດ້.

ໄອຄອນ ບັນທຶກ

ເມນູທີ່ເພີ່ມໂດຍໃຊ້ວິທີ CreateMenu ຈະຫາຍໄປທັນທີທີ່ໜ້າຕ່າງ data view ຖືກປິດ.


ໄວຍາກອນ:

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

ພາຣາມິເຕີ:

menuheader: ຊື່ຂອງເມນູໃໝ່.

before: ອາຄິວເມັ້ນນີ້ອາດເປັນຊື່ຂອງລາຍການເມນູທີ່ມີຢູ່ແລ້ວ ເພື່ອວາງເມນູໃໝ່ໄວ້ທາງໜ້າຂອງມັນ ຫຼື ເປັນຕົວເລກທີ່ບອກຕຳແໜ່ງຂອງເມນູໃໝ່. ຖ້າປະອາຄິວເມັ້ນນີ້ໄວ້ວ່າງ, ເມນູໃໝ່ຈະຖືກວາງໄວ້ເປັນລາຍການສຸດທ້າຍ.

submenuchar: ຕົວຂັ້ນທີ່ໃຊ້ໃນໂຄງສ້າງເມນູຍ່ອຍ (ຄ່າເລີ່ມຕົ້ນ = ">")

ຕົວຢ່າງ:

ໃນ Basic

      Dim oMenu As Object
      Set oMenu = oSheet.CreateMenu("My Menu", Before := "Data")
      With oMenu
          .AddItem("Item 1", Command := ".uno:About")
          ' ...
          .Dispose()
      End With
    
ໃນ Python

      menu = sheet.CreateMenu("My Menu", before="Data")
      menu.AddItem("Item 1", command=".uno:About")
      # ...
      menu.Dispose()
    
ໄອຄອນ ເຄັດລັບ

ອ່ານໜ້າຊ່ວຍເຫຼືອ ບໍລິການ Menu ເພື່ອຮຽນຮູ້ເພີ່ມເຕີມກ່ຽວກັບການສ້າງເມນູ, ເມນູຍ່ອຍ ແລະ ການເຊື່ອມໂຍງຄຳສັ່ງ.


GetText

ສົ່ງຄືນຂໍ້ຄວາມໃນຄໍລຳທີ່ກຳນົດຂອງແຖວປັດຈຸບັນ.

ໄອຄອນ ບັນທຶກ

ວິທີນີ້ບໍ່ໄດ້ປ່ຽນຕຳແໜ່ງຂອງເຄີເຊີໃນໜ້າຕ່າງ data view.


ໄວຍາກອນ:

svc.GetText(column: any): str

ພາຣາມິເຕີ:

column: ຊື່ຂອງຄໍລຳເປັນ String ຫຼື ຕຳແໜ່ງຂອງຄໍລຳ (ເລີ່ມຈາກ 1). ຖ້າລະບຸຕຳແໜ່ງທີ່ໃຫຍ່ກວ່າຈຳນວນຄໍລຳທີ່ມີຢູ່, ມັນຈະສົ່ງຄືນຄໍລຳສຸດທ້າຍ.

ຕົວຢ່າງ:

ໃນ Basic

      oSheet.GetText("FirstName")
    
ໃນ Python

      sheet.GetText("FirstName")
    

GetValue

ສົ່ງຄືນຄ່າໃນຄໍລຳທີ່ກຳນົດຂອງແຖວປັດຈຸບັນເປັນປະເພດ Basic ທີ່ຖືກຕ້ອງ.

ປະເພດທີ່ສາມາດສົ່ງຄືນໄດ້ແມ່ນ: String, Integer, Long, Single, Double, Date ແລະ Null.

ປະເພດຖານສອງ (Binary) ຈະຖືກສົ່ງຄືນເປັນຄ່າ Long ທີ່ບອກຄວາມຍາວຂອງຟີວຖານສອງ.

ຄ່າ Empty ຈະຖືກສົ່ງຄືນຖ້າບໍ່ສາມາດດຶງຄ່າທີ່ຕ້ອງການມາໄດ້.

ໄອຄອນ ບັນທຶກ

ວິທີນີ້ບໍ່ໄດ້ປ່ຽນຕຳແໜ່ງຂອງເຄີເຊີໃນໜ້າຕ່າງ data view.


ໄວຍາກອນ:

svc.GetValue(column: any): any

ພາຣາມິເຕີ:

column: ຊື່ຂອງຄໍລຳເປັນ String ຫຼື ຕຳແໜ່ງຂອງຄໍລຳ (ເລີ່ມຈາກ 1). ຖ້າລະບຸຕຳແໜ່ງທີ່ໃຫຍ່ກວ່າຈຳນວນຄໍລຳທີ່ມີຢູ່, ມັນຈະສົ່ງຄືນຄໍລຳສຸດທ້າຍ.

ຕົວຢ່າງ:

ໃນ Basic

      oSheet.GetValue("Address")
    
ໃນ Python

      sheet.GetValue("Address")
    

GoToCell

ຍ້າຍເຄີເຊີໄປທີ່ແຖວ ແລະ ຄໍລຳທີ່ລະບຸ.

ໄວຍາກອນ:

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

ພາຣາມິເຕີ:

row: ໝາຍເລກແຖວເປັນຄ່າຕົວເລກ ເລີ່ມຈາກ 1. ຖ້າແຖວທີ່ລະບຸເກີນຈຳນວນແຖວທີ່ມີຢູ່, ເຄີເຊີຈະຖືກຍ້າຍໄປທີ່ແຖວສຸດທ້າຍ. ຖ້າບໍ່ໄດ້ລະບຸອາຄິວເມັ້ນນີ້, ແຖວຈະບໍ່ມີການປ່ຽນແປງ.

column: ຊື່ຂອງຄໍລຳເປັນ String ຫຼື ຕຳແໜ່ງຂອງຄໍລຳ (ເລີ່ມຈາກ 1). ຖ້າຄໍລຳທີ່ລະບຸເກີນຈຳນວນຄໍລຳທີ່ມີຢູ່, ເຄີເຊີຈະຖືກຍ້າຍໄປທີ່ຄໍລຳສຸດທ້າຍ. ຖ້າບໍ່ໄດ້ລະບຸອາຄິວເມັ້ນນີ້, ຄໍລຳຈະບໍ່ມີການປ່ຽນແປງ.

ຕົວຢ່າງ:

ໃນ Basic

      ' ຍ້າຍເຄີເຊີໄປທີ່ຄໍລຳ "LastName" ໃນແຖວທີ 4
      oSheet.GoToCell(4, "LastName")
      ' ຍ້າຍເຄີເຊີໄປທີ່ຄໍລຳທີສາມຂອງແຖວປັດຈຸບັນ
      oSheet.GoToCell(Column := 3)
      ' ຍ້າຍເຄີເຊີລົງໜຶ່ງແຖວໂດຍທີ່ຍັງຢູ່ໃນຄໍລຳເດີມ
      oSheet.GoToCell(Row := oSheet.CurrentRow + 1)
      ' ຍ້າຍໄປທີ່ຄໍລຳສຸດທ້າຍຂອງແຖວສຸດທ້າຍ
      Dim LastColumn As Integer : LastColumn = UBound(oSheet.ColumnHeaders) + 1
      oSheet.GoToCell(oSheet.LastRow, LastColumn)
    
ໃນ Python

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

RemoveMenu

ລຶບລາຍການເມນູອອກຈາກ data view ໂດຍໃຊ້ຊື່ຂອງມັນ.

ໄອຄອນ ບັນທຶກ

ວິທີນີ້ສາມາດລຶບເມນູທີ່ເປັນຂອງສ່ວນຕິດຕໍ່ຜູ້ໃຊ້ເວີຊັນມາດຕະຖານ ຕະຫຼອດຮອດເມນູທີ່ຖືກເພີ່ມຜ່ານການຂຽນໂປຣແກຣມດ້ວຍວິທີ CreateMenu. ການລຶບເມນູມາດຕະຖານບໍ່ແມ່ນການລຶບແບບຖາວອນ ແລະ ພວກມັນຈະກັບຄືນມາຫຼັງຈາກທີ່ໜ້າຕ່າງຖືກປິດ ແລະ ເປີດໃໝ່.


ໄວຍາກອນ:

svc.RemoveMenu(menuheader: str): bool

ພາຣາມິເຕີ:

menuheader: ຊື່ຂອງເມນູທີ່ຈະລຶບອອກ (ແຍກຕົວອັກສອນນ້ອຍ-ໃຫຍ່). ຊື່ຕ້ອງບໍ່ລວມເອົາຕົວອັກສອນ tilde ("~").

ຕົວຢ່າງ:

ໃນ Basic

      oSheet.RemoveMenu("Data")
    
ໃນ Python

      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.

ໄວຍາກອນ:

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

ພາຣາມິເຕີ:

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

ຕົວຢ່າງ:

ໃນ Basic

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

    a_list = doc.Toolbars()
  
ໄອຄອນ ຄຳເຕືອນ

ຣູທີນ ຫຼື ຕົວລະບຸ Basic ຂອງ ScriptForge ທັງໝົດທີ່ຂຶ້ນຕົ້ນດ້ວຍເຄື່ອງໝາຍຂີດກ້ອງ "_" ແມ່ນສະຫງວນໄວ້ສຳລັບໃຊ້ພາຍໃນ. ພວກມັນບໍ່ໄດ້ມີໄວ້ໃຫ້ໃຊ້ໃນມາໂຄຣ Basic ຫຼື ສະຄຣິບ Python.


ກະລຸນາສະໜັບສະໜູນພວກເຮົາ!

ກະລຸນາສະໜັບສະໜູນພວກເຮົາ!