คุณสมบัติ OpenArgs

ใช้กับ

วัตถุ Form

วัตถุ Report

กำหนด นิพจน์สตริง ที่กำหนดโดยอาร์กิวเมนต์ OpenArgs ของเมธอด OpenForm ที่ใช้เปิดฟอร์ม อ่าน/เขียน Variant

นิพจน์.OpenArgs

จำเป็นต้องมี นิพจน์ นิพจน์ที่ส่งกลับวัตถุใดวัตถุหนึ่งในรายการ ใช้กับ

ข้อสังเกต

คุณสมบัตินี้จะพร้อมใช้งานเฉพาะในการใช้ แมโคร หรือโดยการใช้โค้ด Visual Basic for Applications (VBA) กับเมธอด OpenForm ของวัตถุ DoCmd เท่านั้น การตั้งค่าคุณสมบัตินี้เป็นแบบอ่านอย่างเดียวในมุมมองทั้งหมด

เมื่อต้องการใช้คุณสมบัติ OpenArgs ให้เปิดฟอร์มโดยใช้เมธอด OpenForm ของวัตถุ DoCmd และตั้งค่าอาร์กิวเมนต์ OpenArgs ให้เป็นนิพจน์สตริงที่ต้องการ จากนั้นการตั้งค่าคุณสมบัติ OpenArgs จะสามารถถูกใช้ในโค้ดสำหรับฟอร์ม เช่น ในกระบวนงานเหตุการณ์ Open คุณยังสามารถอ้างอิงการตั้งค่าคุณสมบัติในแมโครเช่น แมโคร Open หรือนิพจน์เช่น นิพจน์ที่ตั้งค่าคุณสมบัติ ControlSource สำหรับ ตัวควบคุม บนฟอร์ม

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

ตัวอย่าง

ตัวอย่างต่อไปนี้ใช้คุณสมบัติ OpenArgs เพื่อเปิดฟอร์มพนักงานของระเบียนที่ระบุ และสาธิตวิธีที่เมธอด OpenForm ตั้งค่าคุณสมบัติ OpenArgs คุณสามารถเรียกใช้กระบวนงานนี้ได้ตามความเหมาะสม ตัวอย่างเช่น เมื่อเหตุการณ์ AfterUpdate เกิดขึ้นกับกล่องโต้ตอบแบบกำหนดเองที่ใช้เพื่อใส่ข้อมูลใหม่เกี่ยวกับพนักงาน

Sub OpenToCallahan()
DoCmd.OpenForm "Employees", acNormal, , , _
acReadOnly, , "Callahan"
End Sub
Sub Form_Open(Cancel As Integer)
Dim strEmployeeName As String
' If OpenArgs property contains employee name, find
' corresponding employee record and display it on
' form. For example,if the OpenArgs property
' contains "Callahan", move to first "Callahan"
' record.
strEmployeeName = Forms!Employees.OpenArgs
If Len(strEmployeeName) > 0 Then
DoCmd.GoToControl "LastName"
DoCmd.FindRecord strEmployeeName, , True, , _
True, , True
End If
End Sub

ตัวอย่างถัดไปใช้เมธอด FindFirst เพื่อระบุตำแหน่งพนักงานที่มีชื่อในคุณสมบัติ OpenArgs

Private Sub Form_Open(Cancel As Integer)
If Not IsNull(Me.OpenArgs) Then
Dim strEmployeeName As String
strEmployeeName = Me.OpenArgs
Dim RS As DAO.Recordset
Set RS = Me.RecordsetClone
RS.FindFirst "LastName = '" & _
strEmployeeName & "'"
If Not RS.NoMatch Then
Me.Bookmark = RS.Bookmark
End If
End If
End Sub
ขยายทักษะของคุณ
สำรวจการฝึกอบรม
รับฟีเจอร์ใหม่ก่อนใคร
เข้าร่วม Office Insider

ข้อมูลนี้เป็นประโยชน์หรือไม่

ขอบคุณสำหรับคำติชมของคุณ!

ขอขอบคุณสำหรับคำติชมของคุณ! เราคิดว่าอาจเป็นประโยชน์ที่จะให้คุณได้ติดต่อกับหนึ่งในตัวแทนฝ่ายสนับสนุน Office ของเรา

×