ບໍລິການ SFDocuments.Form

ບໍລິການ Form ສະໜອງວິທີການ ແລະ ຄຸນສົມບັດຕ່າງໆເພື່ອຈັດການຟອມໃນເອກະສານ LibreOffice. ບໍລິການນີ້ຮອງຮັບຟອມໃນ Base, Calc ແລະ Writer ແລະ ອະນຸຍາດໃຫ້:

ໄອຄອນ ເຄັດລັບ

ບໍລິການ SFDocuments.Form ແມ່ນມີໃຫ້ໃຊ້ຕັ້ງແຕ່ LibreOffice 7.2 ເປັນຕົ້ນໄປ.


ໂດຍປົກກະຕິແລ້ວ ຟອມຈະຖືກໃຊ້ໃນເອກະສານ LibreOffice ເພື່ອສ້າງສ່ວນຕິດຕໍ່ກັບຜູ້ໃຊ້ທີ່ເຊື່ອມຕໍ່ກັບຖານຂໍ້ມູນແບບສຳພັນ (relational databases). ດັ່ງນັ້ນ, ບໍລິການ Form ຈຶ່ງໃຫ້ການເຂົ້າເຖິງຖານຂໍ້ມູນທີ່ເຊື່ອມໂຍງຢູ່ໄດ້ຢ່າງວ່ອງໄວຜ່ານ ບໍລິການ SFDatabases.Database.

ໄອຄອນ ເຄັດລັບ

ບໍລິການ SFDocuments.Form ມີຄວາມກ່ຽວຂ້ອງຢ່າງໃກ້ຊິດກັບ ບໍລິການ SFDocuments.FormControl.


ຄຳນິຍາມ

FormDocument

ໂດຍປົກກະຕິແລ້ວຟອມຈະຖືກສ້າງໃນເອກະສານ Base, ແຕ່ພວກມັນກໍສາມາດເພີ່ມເຂົ້າໃນເອກະສານ Writer ແລະ Calc ໄດ້ຄືກັນ.

ໃນ Base, ແຕ່ລະຟອມທີ່ເຈົ້າສ້າງໂດຍໃຊ້ຄຸນສົມບັດ Insert - Form ຫຼື ຜ່ານ ຕົວຊ່ວຍສ້າງຟອມ (Form Wizard) ໃນຕົວຈິງແລ້ວແມ່ນ FormDocument ທີ່ສາມາດຈັດການໄດ້ດ້ວຍບໍລິການ Form. ເອກະສານ Base ສາມາດບັນຈຸເອກະສານຟອມໄດ້ບໍ່ຈຳກັດຈຳນວນ.

ຂ້າງລຸ່ມນີ້ແມ່ນຕົວຢ່າງທີ່ສະແດງໃຫ້ເຫັນລຳດັບຂັ້ນຂອງອົງປະກອບທັງໝົດທີ່ກ່ຽວຂ້ອງກັບການເຂົ້າເຖິງຟອມ ແລະ ຟອມຍ່ອຍໃນເອກະສານ Base. ສົມມຸດວ່າເຈົ້າມີໄຟລ໌ Base ຊື່ Employees.odb ແລະ ພາຍໃນນັ້ນເຈົ້າໄດ້ສ້າງເອກະສານຟອມເພື່ອເພີ່ມພະນັກງານໃໝ່ເຂົ້າໃນຖານຂໍ້ມູນ. ເອກະສານຟອມນັ້ນບັນຈຸຟອມຫຼັກຊື່ EmployeeData ທີ່ໃຫ້ການເຂົ້າເຖິງຕາຕະລາງ. ນອກນັ້ນຍັງມີຟອມຍ່ອຍ WorksAtPlant ທີ່ຊ່ວຍໃຫ້ເຈົ້າສາມາດເຊື່ອມໂຍງພະນັກງານໃໝ່ກັບໂຮງງານໃດໜຶ່ງຂອງບໍລິສັດໄດ້.


    Employees.odb (ເອກະສານ Base)
     |
     |-- AddEmployee (FormDocument)
          |
          |-- EmployeeData (ຟອມຫຼັກ)
               |
               |-- WorksAtPlant (SubForm)
  
ໄອຄອນ ບັນທຶກ

FormDocument ສາມາດເບິ່ງໄດ້ວ່າເປັນຊຸດຂອງຟອມທີ່ໃຫ້ການເຂົ້າເຖິງຊຸດຂໍ້ມູນ ເຊັ່ນ: ຕາຕະລາງຖານຂໍ້ມູນ ແລະ ຄຳສັ່ງສອບຖາມ (queries) ຈາກພາຍໃນເອກະສານ LibreOffice. ຊື່ຂອງຟອມ ແລະ ຟອມຍ່ອຍພາຍໃນ FormDocument ສາມາດເຂົ້າເຖິງໄດ້ໂດຍໃຊ້ Form Navigator.


ຟອມ ແລະ ຟອມຍ່ອຍ

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

ໃນເອກະສານ Calc ແລະ Writer, ແຕ່ລະຟອມສາມາດເຊື່ອມໂຍງກັບຊຸດຂໍ້ມູນທີ່ຢູ່ໃນຖານຂໍ້ມູນທີ່ແຕກຕ່າງກັນໄດ້. ໃນທາງກົງກັນຂ້າມ, ໃນເອກະສານ Base ຖານຂໍ້ມູນທີ່ບັນຈຸໃນເອກະສານນັ້ນຈະເປັນຖານຂໍ້ມູນດຽວກັນທີ່ໃຊ້ກັບທຸກຟອມ.

ໄອຄອນ ເຄັດລັບ

ເພື່ອເອີ້ນໃຊ້ບໍລິການ SFDocuments.Form ໃຫ້ເບິ່ງທີ່ວິທີການ Forms(), FormDocuments() ແລະ OpenFormDocument() ຂອງບໍລິການ SFDocuments.Document


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

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

ໄອຄອນ ບັນທຶກ

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

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


ໃນເອກະສານ Writer

ສ່ວນຂອງລະຫັດລຸ່ມນີ້ສະແດງວິທີການເຂົ້າເຖິງຟອມຊື່ Form1 ທີ່ຢູ່ໃນໄຟລ໌ Writer:


      Dim oDoc As Object, myForm As Object, ui as Object
      Set ui = CreateScriptService("UI")
      Set oDoc = ui.OpenDocument("/home/user/Documents/MyForm.odt")
      Set myForm = oDoc.Forms("Form1")
   
ໃນ Python

     from scriptforge import CreateScriptService
     ui = CreateScriptService('UI') 
     doc = ui.OpenDocument('/home/user/Documents/MyForm.odt')
     my_form = doc.Forms('Form1')
   

ຟອມຕ່າງໆສາມາດເຂົ້າເຖິງໄດ້ດ້ວຍຊື່ຂອງພວກມັນ ຫຼື ດ້ວຍດັດສະນີ (indices), ດັ່ງທີ່ສະແດງລຸ່ມນີ້:


     Set myForm = oDoc.Forms(0)
   
ໃນ Python

     my_form = doc.Forms(0)
   
ໄອຄອນ ຄຳເຕືອນ

ຖ້າເຈົ້າພະຍາຍາມເຂົ້າເຖິງ FormDocument ທີ່ກຳລັງເປີດຢູ່ໃນ ໂໝດອອກແບບ (Design Mode), ຈະມີຂໍ້ຍົກເວັ້ນ (exception) ເກີດຂຶ້ນ.


ໃນເອກະສານ Calc

ຟອມໃນໄຟລ໌ Calc ຕ້ອງມີຊື່ທີ່ບໍ່ຊ້ຳກັນພາຍໃນແຜ່ນງານ (sheet) ຂອງມັນ. ດັ່ງນັ້ນ, ວິທີການ Forms ຈຶ່ງຕ້ອງການສອງຂໍ້ໂຕ້ແຍ້ງ, ອັນທຳອິດບອກເຖິງຊື່ແຜ່ນງານ ແລະ ອັນທີສອງລະບຸຊື່ຟອມ.


      Dim oDoc As Object, myForm As Object, ui as Object
      Set ui = CreateScriptService("UI")
      Set oDoc = ui.OpenDocument("/home/user/Documents/MyForms.ods")
      Set myForm = oDoc.Forms("Sheet1", "Form1")
   

ອັນນີ້ກໍສາມາດເຮັດໄດ້ໃນລັກສະນະດຽວກັນໂດຍໃຊ້ Python:


     ui = CreateScriptService('UI')
     doc = ui.OpenDocument('/home/user/Documents/MyForms.ods')
     my_form = doc.Forms('Sheet1', 'Form1')
   

ໃນເອກະສານ Base

FormDocument ພາຍໃນເອກະສານ Base ສາມາດເຂົ້າເຖິງໄດ້ດ້ວຍຊື່ຂອງມັນ. ຕົວຢ່າງຕໍ່ໄປນີ້ຈະເປີດເອກະສານຟອມຊື່ thisFormDocument ແລະ ເຂົ້າເຖິງຟອມ MainForm:


      Dim oDb As Object, myForm As Object
      Set oDb = CreateScriptService("SFDocuments.Document", ThisDatabaseDocument)
      ' ຄຳສັ່ງຂ້າງລຸ່ມນີ້ມີຄວາມຈຳເປັນກໍຕໍ່ເມື່ອຟອມນັ້ນຍັງບໍ່ທັນໄດ້ຖືກເປີດເທົ່ານັ້ນ
      oDb.OpenFormDocument("thisFormDocument")
      Set myForm = oDoc.Forms("thisFormDocument", "MainForm")
      ' ຫຼື ອີກທາງເລືອກໜຶ່ງ, ເພື່ອເຂົ້າເຖິງຟອມດ້ວຍດັດສະນີຂອງມັນ ...
      Set myForm = oDb.Forms("thisFormDocument", 0)
   
ໄອຄອນ ບັນທຶກ

ເພື່ອດຳເນີນການໃດໆກັບຟອມໂດຍໃຊ້ບໍລິການ Form, ເອກະສານຟອມ (FormDocument) ຕ້ອງຖືກເປີດໄວ້ກ່ອນ ບໍ່ວ່າຈະໂດຍຜູ້ໃຊ້ເອງ ຫຼື ໂດຍການຂຽນຄຳສັ່ງໃນສະຄຣິບ. ການເປີດດ້ວຍສະຄຣິບສາມາດເຮັດໄດ້ໂດຍການເອີ້ນໃຊ້ວິທີການ OpenFormDocument ຂອງ ບໍລິການ Base.


ເພື່ອເຂົ້າເຖິງຟອມຍ່ອຍທີ່ກຳນົດໃຫ້ຂອງຟອມໃດໜຶ່ງ ໃຫ້ໃຊ້ວິທີການ SubForms. ຂໍໃຫ້ສັງເກດວ່າໃນຕົວຢ່າງລຸ່ມນີ້ mySubForm ແມ່ນອິນສະແຕນໃໝ່ຂອງບໍລິການ Form.


     Dim mySubForm As Object
     Set mySubForm = myForm.SubForms("mySubForm")
   

ຕົວຢ່າງກ່ອນໜ້ານີ້ເມື່ອຂຽນໃນ Python ຈະເປັນດັ່ງນີ້:


     db = CreateScriptService('SFDocuments.Document', XSCRIPTCONTEXT.getDocument())
     # ຄຳສັ່ງຂ້າງລຸ່ມນີ້ມີຄວາມຈຳເປັນກໍຕໍ່ເມື່ອຟອມນັ້ນຍັງບໍ່ທັນໄດ້ຖືກເປີດເທົ່ານັ້ນ
     form_doc = db.OpenFormDocument('thisFormDocument')
     form = form_doc.Forms('thisFormDocument', 'MainForm')
     # ຫຼື ອີກທາງເລືອກໜຶ່ງ, ເພື່ອເຂົ້າເຖິງຟອມດ້ວຍດັດສະນີຂອງມັນ ...
     form = form_doc.Forms('thisFormDocument', 0)
     sub_form = form.SubForms('mySubForm')
   

ໃນເຫດການຂອງຟອມ (Form events)

ເພື່ອເອີ້ນໃຊ້ບໍລິການ Form ເມື່ອມີເຫດການຂອງຟອມເກີດຂຶ້ນ:


      Sub OnEvent(ByRef poEvent As Object)
          Dim myForm As Object
          Set myForm = CreateScriptService("SFDocuments.FormEvent", poEvent)
          '(...)
      End sub
   
ໃນ Python

     def OnEvent(event: uno):
         form = CreateScriptService('SFDocuments.FormEvent', event)
         pass
   
ໄອຄອນ ບັນທຶກ

ບໍລິການ FormEvent ຖືກນຳໃຊ້ສະເພາະເພື່ອສ້າງອິນສະແຕນຊ໌ຂອງບໍລິການ SFDocuments.Form ແລະ SFDocuments.FormControl ເມື່ອມີເຫດການຂອງຟອມ ຫຼື ຕົວຄວບຄຸມເກີດຂຶ້ນ.


ຂໍແນະນຳໃຫ້ຄືນຊັບພະຍາກອນ (free resources) ຫຼັງຈາກໃຊ້ບໍລິການ Form ແລ້ວ.


     myForm.Dispose() ' Basic
   

     form.Dispose()  # Python
   

ການດຳເນີນການນີ້ຈະຖືກເຮັດໂດຍອັດຕະໂນມັດ ເມື່ອເອກະສານຟອມຖືກປິດດ້ວຍວິທີການ CloseFormDocument() ທີ່ອະທິບາຍໄວ້ຂ້າງລຸ່ມນີ້.

ຄຸນສົມບັດ

ຊື່

ອ່ານໄດ້ຢ່າງດຽວ

ປະເພດ

ຄຳອະທິບາຍ

AllowDeletes

ບໍ່

Boolean

ລະບຸວ່າຟອມອະນຸຍາດໃຫ້ລຶບບັນທຶກ (records) ຫຼື ບໍ່.

AllowInserts

ບໍ່

Boolean

ລະບຸວ່າຟອມອະນຸຍາດໃຫ້ເພີ່ມບັນທຶກ ຫຼື ບໍ່.

AllowUpdates

ບໍ່

Boolean

ລະບຸວ່າຟອມອະນຸຍາດໃຫ້ອັບເດດບັນທຶກ ຫຼື ບໍ່.

BaseForm

ແມ່ນ

String

ລະບຸຊື່ຕາມລຳດັບຂັ້ນຂອງ Base Form ທີ່ບັນຈຸຟອມຕົວຈິງນັ້ນຢູ່.

Bookmark

ບໍ່

Variant

ລະບຸເຖິງບັນທຶກປັດຈຸບັນຂອງຕາຕະລາງ, ຄຳສັ່ງສອບຖາມ ຫຼື ຄຳສັ່ງ SQL ທີ່ຟອມນັ້ນໃຊ້ຢູ່.

CurrentRecord

ບໍ່

Long

ລະບຸບັນທຶກປັດຈຸບັນໃນຊຸດຂໍ້ມູນທີ່ກຳລັງເບິ່ງຢູ່ໃນຟອມ. ຖ້າໝາຍເລກແຖວເປັນບວກ, ເຄີເຊີ (cursor) ຈະຍ້າຍໄປຍັງໝາຍເລກແຖວທີ່ກຳນົດໂດຍເລີ່ມນັບຈາກຈຸດເລີ່ມຕົ້ນຂອງຜົນໄດ້ຮັບ. ການນັບແຖວຈະເລີ່ມທີ່ 1. ຖ້າໝາຍເລກແຖວທີ່ກຳນົດໃຫ້ເປັນລົບ, ເຄີເຊີຈະຍ້າຍໄປຍັງຕຳແໜ່ງແຖວທີ່ແນ່ນອນໂດຍເລີ່ມນັບຖອຍຫຼັງຈາກຈຸດສິ້ນສຸດຂອງຜົນໄດ້ຮັບ. ແຖວ -1 ໝາຍເຖິງແຖວສຸດທ້າຍໃນຊຸດຜົນໄດ້ຮັບ.

Filter

ບໍ່

String

ລະບຸຊຸດຍ່ອຍຂອງບັນທຶກທີ່ຈະສະແດງໃນຮູບແບບຂອງ SQL WHERE-clause ໂດຍບໍ່ຕ້ອງມີຄຳສຳຄັນ WHERE.

LinkChildFields

ແມ່ນ

String

ລະບຸວິທີການທີ່ບັນທຶກໃນຟອມຍ່ອຍ (child subform) ເຊື່ອມໂຍງກັບບັນທຶກໃນຟອມແມ່ (parent form).

LinkParentFields

ແມ່ນ

String

ລະບຸວິທີການທີ່ບັນທຶກໃນຟອມຍ່ອຍ ເຊື່ອມໂຍງກັບບັນທຶກໃນຟອມແມ່.

Name

ແມ່ນ

String

ຊື່ຂອງຟອມປັດຈຸບັນ.

OrderBy

ບໍ່

String

ລະບຸລຳດັບທີ່ຈະໃຫ້ສະແດງບັນທຶກຕ່າງໆ ໃນຮູບແບບຂອງ SQL ORDER BY clause ໂດຍບໍ່ຕ້ອງມີຄຳສຳຄັນ ORDER BY.

Parent

ແມ່ນ

Object

ຟອມແມ່ຂອງຟອມປັດຈຸບັນ. ມັນສາມາດເປັນໄດ້ທັງອັອບເຈັກ SFDocuments.Form ຫຼື SFDocuments.Document.

RecordSource

ບໍ່

String

ລະບຸແຫຼ່ງທີ່ມາຂອງຂໍ້ມູນ, ເຊັ່ນ: ຊື່ຕາຕະລາງ, ຊື່ຄຳສັ່ງສອບຖາມ ຫຼື ຄຳສັ່ງ SQL.

XForm

ແມ່ນ

ອັອບເຈັກ
UNO

ອັອບເຈັກ UNO ທີ່ສະແດງເຖິງການໂຕ້ຕອບກັບຟອມ. ເບິ່ງຂໍ້ມູນລະອຽດໄດ້ທີ່ XForm ແລະ DataForm ໃນເອກະສານ API.


ຄຸນສົມບັດຂອງເຫດການ

ຄຸນສົມບັດລຸ່ມນີ້ຈະສົ່ງຄືນ ຫຼື ຕັ້ງຄ່າສາຍອັກຂະລະ URI ທີ່ກຳນົດສະຄຣິບທີ່ຈະຖືກກະຕຸ້ນໂດຍເຫດການນັ້ນ.

ຊື່

ອ່ານໄດ້ຢ່າງດຽວ

ຄຳອະທິບາຍໃນ Basic IDE

OnApproveCursorMove

ບໍ່

ກ່ອນການປ່ຽນແປງບັນທຶກ

OnApproveParameter

ບໍ່

ຕື່ມພາລາມິເຕີ

OnApproveReset

ບໍ່

ກ່ອນການຣີເຊັດ

OnApproveRowChange

ບໍ່

ກ່ອນການດຳເນີນການກັບຂໍ້ມູນບັນທຶກ

OnApproveSubmit

ບໍ່

ກ່ອນການສົ່ງຂໍ້ມູນ

OnConfirmDelete

ບໍ່

ຢືນຢັນການລຶບ

OnCursorMoved

ບໍ່

ຫຼັງຈາກການປ່ຽນແປງຂໍ້ມູນບັນທຶກ

OnErrorOccurred

ບໍ່

ເກີດຂໍ້ຜິດພາດຂຶ້ນ

OnLoaded

ບໍ່

ເມື່ອພວມໂຫລດ

OnReloaded

ບໍ່

ເມື່ອພວມໂຫລດຄືນໃໝ່

OnReloading

ບໍ່

ກ່ອນການໂຫລດຄືນໃໝ່

OnResetted

ບໍ່

ຫຼັງຈາກຣີເຊັດແລ້ວ

OnRowChanged

ບໍ່

ຫຼັງຈາກການດຳເນີນການກັບຂໍ້ມູນບັນທຶກ

OnUnloaded

ບໍ່

ເມື່ອພວມຖອນການໂຫລດ

OnUnloading

ບໍ່

ກ່ອນການຖອນການໂຫລດ


ໄອຄອນ ເຄັດລັບ

ເພື່ອຮຽນຮູ້ເພີ່ມເຕີມກ່ຽວກັບສະຕຣິງ URI, ໃຫ້ອ້າງອີງເຖິງ ຂໍ້ກຳນົດສະເພາະ URI ຂອງ Scripting Framework.


ລາຍການເມັດທອດໃນບໍລິການຟອມ (Form service)

Activate
Controls
GetDatabase
MoveFirst

MoveLast
MoveNext
MoveNew

MovePrevious
Requery
SubForms


Activate

ກຳນົດໂຟກັດໃຫ້ກັບອິນສະແຕນຊ໌ Form ປັດຈຸບັນ. ສົ່ງຄ່າກັບເປັນ True ຖ້າການກຳນົດໂຟກັດສຳເລັດ.

ພຶດຕິກຳຂອງເມັດທອດ Activate ແມ່ນຂຶ້ນກັບປະເພດຂອງເອກະສານທີ່ຟອມນັ້ນຕັ້ງຢູ່:

ໄວຍາກອນ:

svc.Activate(): bool

ຕົວຢ່າງ:

ຕົວຢ່າງຕໍ່ໄປນີ້ສົມມຸດວ່າທ່ານຕ້ອງການເປີດໃຊ້ງານ (activate) ຟອມທີ່ຊື່ວ່າ FormA ເຊິ່ງຕັ້ງຢູ່ໃນ Sheet1 ຂອງໄຟລ໌ Calc ທີ່ພວມເປີດຢູ່. ທຳອິດມັນຈະເຂົ້າເຖິງເອກະສານໂດຍໃຊ້ບໍລິການ Document ແລະ ThisComponent ຈາກນັ້ນຈຶ່ງເປີດໃຊ້ງານຟອມ.


     'ເຂົ້າເຖິງຟອມທີ່ຈະຖືກເປີດໃຊ້ງານ
     Dim oDoc as Object, myForm as Object
     Set oDoc = CreateScriptService("Document", ThisComponent)
     

Set myForm = oDoc.Forms("Sheet1", "FormA")

'ເປີດໃຊ້ງານຟອມ myForm.Activate()
ໃນ Python

     doc = CreateScriptService('Document', XSCRIPTCONTEXT.getDocument())
     form = doc.Forms('Sheet1', 'FormA')
     form.Activate()
   
ໄອຄອນ ບັນທຶກ

ThisComponent ໃຊ້ໄດ້ກັບເອກະສານ Calc ແລະ Writer. ສຳລັບເອກະສານ Base ໃຫ້ໃຊ້ ThisDataBaseDocument.


CloseFormDocument

ໄອຄອນ ຄຳເຕືອນ

ເມັດທອດນີ້ຖືກຍົກເລີກການໃຊ້ແລ້ວ, ໃຫ້ໃຊ້ເມັດທອດ ScriptForge.FormDocument.CloseDocument ແທນ.


ປິດເອກະສານຟອມທີ່ມີອິນສະແຕນຊ໌ Form ຕົວຈິງຢູ່. ອິນສະແຕນຊ໌ Form ຈະຖືກກຳຈັດອອກ.

ໄວຍາກອນ:

svc.CloseFormDocument(): bool

ຕົວຢ່າງ:


      myForm.CloseFormDocument() ' Basic
   
ໃນ Python

      form.CloseFormDocument()  # Python
   

Controls

ຄ່າທີ່ສົ່ງຄືນໂດຍເມັດທອດ Controls ແມ່ນຂຶ້ນກັບອາກິວເມັນທີ່ລະບຸໄວ້:

ໄວຍາກອນ:

svc.Controls(opt controlname: str): any

ພາຣາມິເຕີ:

controlname : ຊື່ຕົວຄວບຄຸມທີ່ຖືກຕ້ອງໃນຮູບແບບສະຕຣິງທີ່ແຍກຕົວອັກສອນນ້ອຍ-ໃຫຍ່ (case-sensitive). ຖ້າບໍ່ລະບຸ, ລາຍການຊື່ຕົວຄວບຄຸມຈະຖືກສົ່ງຄືນເປັນອາເຣທີ່ເລີ່ມຕົ້ນດ້ວຍສູນ (zero-based array).

ຕົວຢ່າງ:


      Dim myForm As Object, myList As Variant, myControl As Object
      Set myForm = myDoc.Forms("myForm")
      myList = myform.Controls()
      Set myControl = myform.Controls("myTextBox") ' SFDocuments.FormControl
   
ໃນ Python

      form = doc.Forms('myForm')
      form_names = form.Controls()
      form_control = form.Controls('myTextBox')  # SFDocuments.FormControl
   

GetDatabase

ສົ່ງຄ່າອິນສະແຕນຊ໌ SFDatabases.Database ເພື່ອເຂົ້າເຖິງການປະຕິບັດຄຳສັ່ງ SQL ໃນຖານຂໍ້ມູນທີ່ຟອມປັດຈຸບັນເຊື່ອມຕໍ່ຢູ່ ແລະ/ຫຼື ທີ່ຖືກເກັບໄວ້ໃນເອກະສານ Base ປັດຈຸບັນ.

ແຕ່ລະຟອມມີການເຊື່ອມຕໍ່ຖານຂໍ້ມູນເປັນຂອງຕົນເອງ, ຍົກເວັ້ນໃນເອກະສານ Base ທີ່ທຸກຟອມຈະໃຊ້ການເຊື່ອມຕໍ່ດຽວກັນ.

ໄວຍາກອນ:

svc.GetDatabase(opt user: str, opt password: str): svc

ພາຣາມິເຕີ:

user, password: ພາລາມິເຕີທາງເລືອກສຳລັບການເຂົ້າສູ່ລະບົບ (ຄ່າເລີ່ມຕົ້ນ = "").

ຕົວຢ່າງ:


      Dim myDb As Object ' SFDatabases.Database
      Set myDb = oForm.GetDatabase()
   
ໃນ Python

      db = form.GetDatabase()  # SFDatabases.Database
   

MoveFirst

ຕົວຊີ້ຟອມຖືກກຳນົດຕຳແໜ່ງໄວ້ທີ່ຂໍ້ມູນບັນທຶກທຳອິດ. ສົ່ງຄ່າກັບເປັນ True ຖ້າສຳເລັດ.

ໄວຍາກອນ:

svc.MoveFirst(): bool

ຕົວຢ່າງ:


      myForm.MoveFirst() ' Basic
   
ໃນ Python

      form.MoveFirst()  # Python
   

MoveLast

ຕົວຊີ້ຟອມຖືກກຳນົດຕຳແໜ່ງໄວ້ທີ່ຂໍ້ມູນບັນທຶກສຸດທ້າຍ. ສົ່ງຄ່າກັບເປັນ True ຖ້າສຳເລັດ.

ໄວຍາກອນ:

svc.MoveLast(): bool

ຕົວຢ່າງ:


      myForm.MoveLast() ' Basic
   
ໃນ Python

      form.MoveLast()  # Python
   

MoveNew

ຕົວຊີ້ຟອມຖືກກຳນົດຕຳແໜ່ງໄວ້ທີ່ພື້ນທີ່ຂໍ້ມູນບັນທຶກໃໝ່. ສົ່ງຄ່າກັບເປັນ True ຖ້າສຳເລັດ.

ໄວຍາກອນ:

svc.MoveNew(): bool

ຕົວຢ່າງ:


      myForm.MoveNew() ' Basic
   
ໃນ Python

      form.MoveNew()  # Python
   

MoveNext

ຕົວຊີ້ຟອມຖືກກຳນົດຕຳແໜ່ງໄວ້ທີ່ຂໍ້ມູນບັນທຶກຖັດໄປ. ສົ່ງຄ່າກັບເປັນ True ຖ້າສຳເລັດ.

ໄວຍາກອນ:

svc.MoveNext(opt offset: int): bool

ພາຣາມິເຕີ:

offset: ຈຳນວນຂໍ້ມູນບັນທຶກທີ່ຈະໄປທາງໜ້າ (ຄ່າເລີ່ມຕົ້ນ = 1).

ຕົວຢ່າງ:


      myForm.MoveNext() ' Basic
   
ໃນ Python

      form.MoveNext()  # Python
   

MovePrevious

ຕົວຊີ້ຟອມຖືກກຳນົດຕຳແໜ່ງໄວ້ທີ່ຂໍ້ມູນບັນທຶກກ່ອນໜ້າ. ສົ່ງຄ່າກັບເປັນ True ຖ້າສຳເລັດ.

ໄວຍາກອນ:

svc.MovePrevious(opt offset: int): bool

ພາຣາມິເຕີ:

offset: ຈຳນວນຂໍ້ມູນບັນທຶກທີ່ຈະຖອຍຫຼັງ (ຄ່າເລີ່ມຕົ້ນ = 1).

ຕົວຢ່າງ:


      myForm.MovePrevious() ' Basic
   

      form.MovePrevious()  # Python
   

Requery

ໂຫລດຂໍ້ມູນປັດຈຸບັນຄືນໃໝ່ຈາກຖານຂໍ້ມູນ ແລະ ຣີເຟຣຊຟອມ. ຕົວຊີ້ຈະຖືກກຳນົດຕຳແໜ່ງໄວ້ທີ່ຂໍ້ມູນບັນທຶກທຳອິດ. ສົ່ງຄ່າກັບເປັນ True ຖ້າສຳເລັດ.

ໄວຍາກອນ:

svc.Requery(): bool

ຕົວຢ່າງ:


      myForm.Requery() ' Basic
   
ໃນ Python

      form.Requery()  # Python
   

Subforms

ຄ່າທີ່ສົ່ງຄືນໂດຍເມັດທອດ Subforms ແມ່ນຂຶ້ນກັບອາກິວເມັນທີ່ລະບຸໄວ້:

ໄວຍາກອນ:

svc.Subforms(): str[0..*]

svc.Subforms(subform: str): svc

svc.Subforms(subform: int): svc

ພາຣາມິເຕີ:

subform: ຟອມຍ່ອຍທີ່ເກັບໄວ້ໃນອິນສະແຕນຊ໌ຄລາດ Form ປັດຈຸບັນ ເຊິ່ງລະບຸໂດຍຊື່ ຫຼື ອິນເດັກຂອງມັນ.

ເມື່ອບໍ່ມີອາກິວເມັນນີ້, ເມັດທອດຈະສົ່ງຄືນລາຍການຟອມຍ່ອຍທີ່ມີຢູ່ເປັນອາເຣທີ່ເລີ່ມຕົ້ນດ້ວຍສູນ. ຖ້າຟອມມີຟອມຍ່ອຍພຽງອັນດຽວ, ທ່ານສາມາດກຳນົດ subform = 0 ເພື່ອເຂົ້າເຖິງມັນໄດ້.

ຕົວຢ່າງ:


      Dim myForm As Object, myList As Variant, mySubform As Object
      myList = myform.Subforms()
      Set mySubform = myForm.Subforms("mySubform") ' SFDocuments.Form
   
ໃນ Python

      subform_names = form.Subforms()
     subform = form.Subforms('mySubform')  # SFDocuments.Form
   
ໄອຄອນ ຄຳເຕືອນ

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


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

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