小编use*_*932的帖子

将参数传递给使用"New"创建的Access Forms

我有一个名为'detail'的表单,它显示了所选记录的详细视图.该记录从称为"搜索"的不同形式中选择.因为我希望能够打开多个'detail'实例,每个实例都显示不同记录的详细信息,所以我使用了以下代码:

Public detailCollection As New Collection    

Function openDetail(patID As Integer, pName As String)
'Purpose:    Open an independent instance of form
Dim frm As Form
Debug.Print "ID: " & patID

'Open a new instance, show it, and set a caption.
Set frm = New Form_detail
frm.Visible = True
frm.Caption = pName


detailCollection.Add Item:=frm, Key:=CStr(frm.Hwnd)

Set frm = Nothing
End Function
Run Code Online (Sandbox Code Playgroud)

PatID是我希望在这个新的'detail'实例中显示的记录的主键.调试打印行打印出正确的PatID,所以我可以使用它.如何将其传递给表单的新实例?

我试图设置新表单的OpenArgs,但是我收到一条错误,指出OpenArgs是只读的.经过研究,OpenArgs只能由DoCmd设置(这将不起作用,因为那时我没有得到表单的独立实例).创建Form对象时,我找不到有关允许参数的文档.显然,微软并不认为构造函数是一种方法,至少根据文档.我该怎么处理?(请不要告诉我把它设置成一个看不见的文本框或者其他东西)谢谢你们,你们是网上最好的回答这些问题的人.我爱你们!

多实例表单的源代码取自:http://allenbrowne.com/ser-35.html

forms ms-access vba access-vba

3
推荐指数
1
解决办法
1676
查看次数

标签 统计

access-vba ×1

forms ×1

ms-access ×1

vba ×1