在另一个表单vba中设置表单属性中的项目

时间:2014-11-06 10:01:04

标签: access-vba

我有一个表单,其中有一个具有点击程序的按钮。 基本上如果勾选了一个复选框(chkIncludeIDs),那么它必须打开一个表单并使该表单上的文本框属性可见。

我目前的点击事件代码如下;

Private Sub Update_pending_Click() 错误GoTo Err_Update_pending_Click

Dim stDocName As String
Dim stLinkCriteria As String

If Me.chkIncludeIDs = 0 Then
    stDocName = "Pending Queries Locked"
Else
    stDocName = "Pending Queries Locked"
    Forms![Pending Queries Locked]!ID.Visible = True
End If
DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Update_pending_Click:     退出子

Err_Update_pending_Click:     MsgBox Err.Description     恢复Exit_Update_pending_Click

End Sub

我打开的表单是"待查询已锁定" 我需要显示的文本框是ID,因为它的默认值是visible = false

由于某种原因,我的代码不起作用,我有点不确定原因。 :/

1 个答案:

答案 0 :(得分:0)

请为您的控件命名,不要包含" form_pending_queries_locked",query_my_query,txt_id,lbl_id这样的空格。

当您访问控件的属性时,您需要指定要访问的属性。 e.g

If Me.chkIncludeIDs.value <> 0 Then

关于你的问题。在访问其控件之前,您需要先打开表单。所以这将是逻辑上的:打开表单,访问控件,更改其属性。

代码中的

将是

Dim txt_id As Textbox
DoCmd.OpenForm "frm_myform"
Set txt_id = Forms![frm_myform]!txt_id

txt_id.visible = False

或者:您可以通过OpenArg发送参数并通过form_load事件访问它,然后将更改本地控件属性。