วิธีการอ้างอิงถึงตัวควบคุมในฟอร์มย่อยหรือรายงานย่อยใน Access 2000

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 209099 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
สำหรับข้อมูล Microsoft Access 97 รุ่นของบทความนี้ ดู113352.
moderate: ต้องแมโครพื้นฐาน รหัส และทักษะในการทำงานร่วมกัน

บทความนี้ใช้ กับฐานข้อมูล Microsoft Access (.mdb) และโครงการ Microsoft Access (.adp)

ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

สรุป

บทความนี้อธิบายถึงวิธีการอ้างอิงถึงตัวควบคุมในฟอร์มย่อยหรือ subreports และอธิบายถึงการทำงานทั่วไปบางอย่างที่คุณอาจพบเมื่อคุณอ้างถึงตัวควบคุมในฟอร์มย่อยหรือ subreports

ข้อมูลเพิ่มเติม

กระบวนการแบบฟอร์มหรือรายงานตัวระบุเป็นตัวเลือกเมื่อมีการอ้างอิงถึงคุณสมบัติของตัวควบคุม จำเป็น อย่างไรก็ตาม เมื่อมีการอ้างอิงถึงคุณสมบัติของฟอร์มย่อยหรือรายงานย่อย

เมื่อต้องการอ้างอิงถึงตัวควบคุมในฟอร์มย่อย ใช้ไวยากรณ์ต่อไปนี้:
ฟอร์ม[ชื่อฟอร์มหลัก]![ชื่อตัวควบคุมฟอร์มย่อย] .Form[ชื่อตัวควบคุม]
เมื่อต้องการอ้างอิงถึงตัวควบคุมในรายงานย่อยแบบ ใช้ไวยากรณ์ต่อไปนี้:
รายงาน:![ชื่อรายงานหลัก]![ชื่อตัวควบคุมรายงานย่อย] .Report[ควบคุมชื่อ]
หมายเหตุ:: ฟอร์มย่อยเท่านั้นที่จะกล่าวถึงในส่วนเหลือของบทความนี้ แต่ทั้งหมดของข้อมูลในบทความใช้กับฟอร์มย่อยและ subreports

สิ่งสำคัญคือให้สังเกตว่า คุณไม่สามารถอ้างอิงถึงตัวควบคุมในฟอร์มย่อยมีไวยากรณ์ต่อไปนี้:
ฟอร์ม[ชื่อฟอร์มย่อย]![ชื่อตัวควบคุม]
นี่คือการได้เนื่องจากไม่มีรูปแบบ ฟอร์มย่อยในฟอร์มหลัก แต่มีตัวควบคุมเช่นเดียวกับกล่องข้อความหรือกล่องรายการ คุณต้องอ้างถึงฟอร์มย่อยเป็นตัวควบคุมไม่ใช่แบบ และระบุรหัสฟอร์มต่อไปนี้อ้างอิงชื่อตัวควบคุมฟอร์มย่อยเพื่อเข้าใช้งานตัวควบคุมในฟอร์มย่อย

เป็นสิ่งสำคัญโปรดสังเกตว่า เมื่อคุณมีการอ้างอิงถึงตัวควบคุมในฟอร์มย่อย คุณต้องระบุค่าที่มีอยู่ในนั้นControlNameคุณสมบัติของตัวควบคุมฟอร์มย่อย กระบวนการControlNameคุณสมบัติจะไม่สามารถ confused ด้วยSourceObjectคุณสมบัติสำหรับตัวควบคุมฟอร์มย่อย กระบวนการSourceObjectคุณสมบัติถูกใช้เพื่อระบุฟอร์มย่อยที่ใช้ในตัวควบคุมฟอร์มย่อย กระบวนการControlNameคุณสมบัติถูกใช้เพื่อระบุชื่อที่มีการอ้างอิงตัวควบคุมฟอร์มย่อย กระบวนการControlNameคุณสมบัติคือมักจะกำหนดเหมือนกับSourceObjectคุณสมบัติ แต่คุณไม่จำเป็นต้อง

ตัวอย่างเช่น พิจารณาฟอร์มย่อยมีรายละเอียดของใบสั่งในแบบฟอร์มใบสั่งการด้วยคุณสมบัติต่อไปนี้:
ชื่อ: รายละเอียดของใบสั่ง
แหล่งที่มาของตัวควบคุม: รายละเอียดใบสั่ง
คุณสามารถอ้างถึงตัวควบคุมราคาต่อหน่วยในรายละเอียดของใบสั่งฟอร์มย่อย ด้วยการอ้างอิงต่อไปนี้:
ฟอร์ม[ใบสั่ง][รายละเอียดของใบสั่ง] .Form[ราคาต่อหน่วย]
ถ้า อย่างไรก็ตาม ตัวควบคุมฟอร์มย่อยมีคุณสมบัติต่อไปนี้
ชื่อ: รายละเอียด
แหล่งที่มาของตัวควบคุม: รายละเอียดใบสั่ง
คุณต้องการอ้างอิงไปยังตัวควบคุมราคาต่อหน่วยในรายละเอียดของใบสั่งฟอร์มย่อย ด้วยการอ้างอิงนี้:
ฟอร์ม[ใบสั่ง][รายละเอียด] .Form[ราคาต่อหน่วย]

ตัวอย่างของการอ้างอิงถึงตัวควบคุมในแบบฟอร์มย่อย

คุณอาจใช้การดำเนินการต่อไปนี้ของแมโคร SetValue เพื่อเพิ่มการราคาต่อหน่วยค่าในฟอร์มย่อยใบสั่งโดย 10 เปอร์เซ็นต์:
การกระทำ: SetValue
สินค้า: ฟอร์ม[ใบสั่ง][รายละเอียดของใบสั่ง] .Form[ราคาต่อหน่วย]
นิพจน์: ฟอร์ม[ใบสั่ง][รายละเอียดของใบสั่ง] .Form[ราคาต่อหน่วย] * 1.1
ถ้ามีแนบแมโครให้กับปุ่มบนแบบฟอร์มใบสั่ง คุณสามารถใช้นิพจน์ต่อไปนี้สำหรับอาร์กิวเมนต์นิพจน์ SetValue:
นิพจน์: .Form [รายละเอียดของใบสั่ง][ราคาต่อหน่วย] * 1.1
ถ้าคุณกำลังอ้างถึงตัวควบคุมในฟอร์มย่อยจากตัวควบคุมอื่นบนฟอร์มย่อยเดียวกัน คุณไม่จำเป็นต้องพิมพ์รหัสคุณสมบัติของฟอร์ม ตัวอย่าง การอ้างอิงนั้นราคาต่อหน่วยค่าในฟอร์มย่อยของรายละเอียดของใบสั่งในแมโครที่แนบมากับปุ่มบนฟอร์มย่อยรายละเอียดของใบสั่ง คุณสามารถพิมพ์:
[ราคาต่อหน่วย]
คุณสามารถป้อนนิพจน์ต่อไปนี้เป็นการตัวควบคุมแหล่งที่มาคุณสมบัติสำหรับการผลรวมย่อยควบคุมในแบบฟอร์มหลักของใบสั่งจะแสดงค่าคำนวณได้ในข้อความที่ซ่อนไว้ยอดรวมย่อยของใบสั่งบนฟอร์มย่อยรายละเอียดของใบสั่ง:
= [ใบสั่งแบบฟอร์มย่อยสำหรับ] .Form[ใบสั่งยอดรวมย่อยของ]
เมื่อต้องการดูค่าของตัวควบคุมในฟอร์มหลัก (หลัก) จากตัวควบคุมในฟอร์มย่อย ใช้หลักคุณสมบัติ แสดงตัวอย่างเช่น นิพจน์ต่อไปนี้ที่พิมพ์ไว้ในตัวควบคุมในฟอร์มย่อยถึงฟิลด์หมายเลขของลูกค้าในแบบฟอร์มหลัก:
= หลัก[หมายเลขลูกค้า]
การอ้างอิงถึงตัวควบคุมในฟอร์มย่อยซ้อนกัน (ฟอร์มย่อยในฟอร์มย่อย), คุณสามารถใช้ไวยากรณ์ต่อไปนี้:
ฟอร์ม[ชื่อฟอร์มหลัก]![ชื่อตัวควบคุมฟอร์มย่อย] .Form[ชื่อตัวควบคุมฟอร์มย่อยแบบซ้อนใน] .Form[ชื่อตัวควบคุม]

ปัญหาที่พบเมื่อแบบฟอร์มย่อยสำหรับ Referencing ควบคุมทั่วไป

  • ถ้าข้อความแสดงข้อผิดพลาดต่อไปนี้ปรากฏขึ้น
    การอ้างอิงถึงแบบฟอร์มที่ไม่ถูกต้อง 'ฟอร์มย่อยชื่อ'
    ตัวควบคุมในฟอร์มย่อยที่ถูกอ้างอิง มีไวยากรณ์ต่อไปนี้:
    ฟอร์ม[ชื่อฟอร์มย่อย]![ชื่อตัวควบคุม]
    ปัญหาก็คือ ว่า ฟอร์มย่อยไม่จริง ๆ ฟอร์ม แต่ตัวควบคุมที่ปรากฏบนแบบฟอร์มหลัก ให้อ้างอิงถึงฟอร์มย่อย เป็นตัวควบคุม มากกว่า เป็น ฟอร์ม มีไวยากรณ์ต่อไปนี้:
    ฟอร์ม[ชื่อฟอร์มหลัก]![ชื่อตัวควบคุมฟอร์มย่อย] .Form[ชื่อตัวควบคุม]
  • "#Name ปรากฏในตัวควบคุม มีนิพจน์ที่อ้างอิงถึงตัวควบคุมฟอร์มย่อย

    กระบวนการControlNameคุณสมบัติตัวควบคุมฟอร์มย่อยจะไม่สิ่งที่คุณคาดคิด เปิดฟอร์มหลักในมุมมองออกแบบ เลือกตัวควบคุมฟอร์มย่อย และคลิกคุณสมบัติในการมุมมองเมนู เปรียบเทียบControlNameค่าคุณสมบัตินี้SourceObjectค่าของคุณสมบัติ

    กระบวนการSourceObjectproperty is used to indicate which subform to use in the subform control.The ControlNameproperty is used to specify the name by which the subform control is referenced. กระบวนการControlNameproperty is typically set the same as theSourceObjectproperty, but it does not have to be.

    หมายเหตุ:: This behavior may also cause the following error message to appear:
    Invalid reference to field 'subform name'

ข้อมูลอ้างอิง

For more information about controls, clickวิธีใช้ Microsoft Accessในการวิธีใช้เมนู ชนิดcontrols: what they are and how they workในผู้ ช่วย Office หรือ Answer Wizard แล้วคลิกค้นหาเมื่อต้องการดูหัวข้อนั้น

คุณสมบัติ

หมายเลขบทความ (Article ID): 209099 - รีวิวครั้งสุดท้าย: 17 กันยายน 2554 - Revision: 5.0
ใช้กับ
  • Microsoft Access 2000 Standard Edition
Keywords: 
kbhowto kbinfo kbmt KB209099 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:209099

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com