Online Reference

Home

Microsoft Reference
Knowledge Developer Database Internet Resource Forum
Access
Database Function
ดาวน์โหลดคู่มือ

CreateControl Function, CreateReportControl Function

Access Function, ฟังก์ชัน CreateControl ใช้สร้างตัว control บนฟอร์มที่กำหนดซึ่งเปิดอยู่
Access Function, ฟังก์ชัน CreateReportControl ใช้สร้างตัว control บนรายงานที่กำหนดซึ่งเปิดอยู่

เช่น การสร้าง Wizard แบบกำหนดเองเพื่อให้ผู้ใช้สามารถสร้างแบบเฉพาะได้ง่ายขึ้น ฟังก์ชัน CreateControl สามารถใช้ใน Wizard ที่กำหนดในการเพิ่มตัว Control

ไวยากรณ์

CreateControl(formname, controltype [,section [,parent [,columname [,left [,top [,width [,height]]]]]]] )

CreateReportControl(reportname, controltype [,section [,parent [,columname [,left [,top [,width [ ,height]]]]]]] )

อากิวเมนต์ของฟังก์ชัน CreateControl และ CreateReportControl มีรายละเอียด คือ

อากิวเมนต์ รายละเอียด
formname, reportname เป็น expression ของข้อความที่ใช้ระบุชื่อของฟอร์มหรือรายงานที่เปิดสำหรับการสร้างตัว control
controltype

รายการของ controltype เป็นการกำหนดประเภทของตัว Control ที่ต้องการสร้าง ให้ดูค่าคงที่และวางตัว control ได้ด้วย Object browser โดยคลิกปุ่ม Object browser บนแถบเครื่องมือ Visual basic จากนั้นคลิก Access ในช่อง Project/Library แล้วจึงคลิก constants ในช่อง Class

ค่าคงที่ ตัว Control

  • acLabel Label (ป้ายข้อความ)
  • acRetangular สี่เหลี่ยม
  • acLine เส้น
  • acImage รูปภาพ
  • acCommandButton ปุ่มคำสั่ง
  • acOptionButton ปุ่มตัวเลือก
  • acCheckBox Check Box
  • acOptionGroup ปุ่ม Option group
  • acBoundOjectFrame กรอบอ๊อบเจคแบบ Bound
  • acTextBox Text box
  • acListBox List box
  • acComboBox Combo box
  • acSubform ฟอร์มย่อย
  • acObjectFrame กรอบอ๊อบเจคแบบ Unbound
  • acPage Page
  • acPageBreak ตัวแบ่งหน้า
  • acCustomControl ตัว Control แบบ ActiveX
  • acToggleButton ปุ่มแบบ Toggle
  • acTabCtl Tab control
section
รายการของค่าที่เป็นการระบุส่วนของฟอร์มหรือรายงานที่ใช้เก็บตัว Control

ค่าคงที่ ส่วน

  • acDetail ส่วนรายละเอียด
  • acHeader ส่วนหัวของฟอร์มหรือรายงาน
  • acFooter ส่วนล่างของฟอร์มหรือรายงาน
  • acPageHeader หน้าส่วนหัวของฟอร์มหรือรายงาน
  • acPageFooter หน้าส่วนล่างของฟอร์มหรือรายงาน
  • acGroupLevel1Header ส่วนหัวของกลุ่มระดับที่ 1 (เฉพาะรายงาน)
  • acGroupLevel1Footer ส่วนล่างของกลุ่มระดับที่ 1 (เฉพาะรายงาน)
  • acGroupLevel2Header ส่วนหัวของกลุ่มระดับที่ 2 (เฉพาะรายงาน)
  • acGroupLevel2Footer ส่วนล่างของกลุ่มระดับที่ 2 (เฉพาะรายงาน)
parent
เป็น expression ของข้อความที่ใช้ระบุชื่อของ Parent control ของ attach? control ถ้าไม่มี parent control ให้ใช้ zero-length string หรือ ไม่กำหนด
columnname เป็นชื่อของฟิลด์ซึ่งตัว control มีชนิด bound โดยตัว control คือ แบบ data-bound แต่ถ้าเป็นการสร้างตัว control ชนิด unbound ให้กำหนดอากิวเมนต์ด้วย zero-length string
left, top เป็น expression ของตัวเลขที่ใช้ชี้พิกัดระยะห่างจากมุมซ้ายบนของตัว control
width, height เป็น expression ของตัวเลขที่ใช้กำหนดความกว้างและความสูงของตัว control

ลักษณะการประยุกต์

ฟังก์ชัน CreateControl และ CreateReportControl สามารถใช้ในการสร้าง Wizard แบบกำหนดเองในการสร้างตัว Control บนฟอร์มหรือรายงาน ฟังก์ชันทั้งสองส่งค่าออกเป็นอ๊อบเจค ซึ่งการประยุกต์สามารถใช้กับ Design view ของฟอร์มหรือรายงานเท่านั้น

อากิวเมนต์ parent ใช้ในการระบุความสัมพันธ์ระหว่างตัว control หลักกับตัว control รอง เช่น text box มีป้ายข้อความแบบ attached ตัว control หลัก (parent) คือ text box และตัว control รอง (child) คือ ป้ายขอความ เมื่อมีการสร้างตัว control แบบป้ายข้อความ ให้กำหนดอากิวเมนต์ parent เป็นข้อความที่ระบุชื่อของตัว control หลัก ถ้าเป็นการสร้างตัว control แบบ text box ให้กำหนดอากิวเมนต์ parent เป็น zero-length string

การกำหนดอากิวเมนต์ parent สามารถนำไปใช้สร้าง check box, ปุ่มตัวเลือก หรือปุ่มแบบ toggle โดย Option group เป็นตัว control หลักของปุ่ม check box, ปุ่มตัวเลือก หรือปุ่มแบบ toggle แต่ตัว control เหล่านี้สามารถสร้างเป็นอิสระโดยไม่ต้องมีตัว control หลัก

การตั้งค่าอากิวเมนต์ columnname ขึ้นกับประเภทของตัว control ที่สร้างขึ้นและฟิลด์จะเป็นฟิลด์แบบ bound

ใน Table หรือไม่ ตัว control สามารถเป็นตัว control แบบ bound ได้รวมถึง text box, list box, combo box, option group และ กรอบอ๊อบเจคแบบ Bound นอกจากนี้ check box, ปุ่มตัวเลือก และปุ่มแบบ toggle อาจจะเป็นตัว control แบบ bound ถ้าไม่ได้ใช้ใน option group

ถ้าการระบุชื่อของฟิลด์สำหรับอากิวเมนต์ columnname ตัว control ที่สร้างขึ้นจะเป็นตัว control แบบ bound คุณสมบัติของตัว control จะตั้งค่าใหม่โดยอัตโนมัติตามคุณสมบัติของฟิลด์

หมายเหตุ ถ้า Wizard ที่กำหนดขั้นในการสร้างตัว control บนฟอร์มหรือรายงานใหม่ การเปิดฟอร์มหรือรายงานเป็นการเปิดด้าน Design view

การยกเลิกตัว control จากฟอร์มหรือรายงาน ให้ใช้ประโยคคำสั่ง DeleteControl และ DeleteReportControl

ดูเพิ่มเติม

ฟังก์ชัน CreatForm, ฟังก์ชัน CreatReport, DeleteControl Statement, DeleteReportControl Statement, คุณสมบัติ Section

ตัวอย่าง

ตัวอย่างการใช้ ฟังก์ชัน CreateControl และ CreateReportControl ในการสร้างฟอร์มใหม่ซึ่งมี Table ชื่อ Orders เป็นแหล่งข้อมูล โดยใช้ฟังก์ชัน CreateControl สร้าง Text box และป้ายข้อความ บนฟอร์ม

Sub NewControl()

  Dim frm As Form
  Dim ctlLabel As Control, ctlText As Control
  Dim intDataX As Integer, intDataY As Integer
  Dim intLabelX As Integer, intLabelY As Integer

  ' สร้างฟอร์มใหม่ด้วย table ชื่อ Orders เป็นแหล่งข้อมูล
  Set frm = CreateForm
  Frm.RecordSource = "Orders"

  ' ตั้งค่าตำแหน่งของตัว control ใหม่
  intLabelX = 100
  intLabelY = 100
  intDataX = 1000
  intDataY = 100

  ' สร้าง text box แบบ unbound ที่ขนาดตามค่าเริ่มต้นในส่วนรายละเอียด
  Set ctlText = CreateControl(frm.Name, acTextBox, , "", "",   intDataX, intDataY)

  ' สร้างตัว control ลูก แบบ label ให้กับ text box
  Set ctlLabel = CreateControl(frm.Name, acLabel, , ctlText.Name, "NewLabel", intLabelX, intLabelY)

  ' restore
  Docmd.Restore

End Sub