我有一个带有数字的列表框和一个按钮,我希望列表框显示您在另一个表单中选择的数字
示例我想从1到10购买一些键,如果我选择3我希望下一个表单显示你买了3个键
Private Sub List28_Click()
If Not IsNull([num of keys]) Then
Forms! [navigation forms].Form.[navigationsubform].Form.User =
Me.Num_of_keys_Label
Forms! [navigation forms].Form.[navigationsubform].Form.User = Me.List28
End If
DoCmd.Close
EndSub
显示购买结果
我收到编译错误:无效使用属性
答案 0 :(得分:2)
这不是VBS(Microsoft Visual Basic Scripting Edition)。它是VBA(Visual Basic for Applications)。 VBA是面向行的。如果要分割长行,则必须在行尾使用前面带有空格(_
)的行继续符。
Forms! [navigation forms].Form.[navigationsubform].Form.User = _
Me.Num_of_keys_Label
EndSub
End Sub
此外,缩进代码使其更具可读性
Private Sub List28_Click()
If Not IsNull([num of keys]) Then
Forms![navigation forms].Form.[navigationsubform].Form.User = _
Me.Num_of_keys_Label
Forms![navigation forms].Form.[navigationsubform].Form.User = Me.List28
End If
DoCmd.Close
End Sub
您应该使用AfterUpdate
事件。不是Click
事件。选择新项目后会发生AfterUpdate
。
什么是[num of keys]
?列表框的名称似乎是List28
。
List28
是个坏名字。在创建事件方法之前重命名控件。这使代码更具可读性。例如。如果您将列表框重命名为lstNumbers
,那么您将获得事件方法的发言名称,例如lstNumbers_AfterUpdate
。类似btnCancel_Click
的名称比Button17_Click
更容易理解。
我不明白代码的逻辑。您将另一个表单的User
控件(Label或TextBox?)设置为Me.Num_of_keys_Label
,而不是您测试的[num of keys]
非空。之后您立即将此值替换为Me.List28
,这是根据您的评论(“点击按钮”),按钮。这一切都没有意义。
首先为控件和表单的名称添加前缀。 E.g。
TextBoxes的 txt
,例如txtUser
btn
用于按钮,例如,btnBuy
列表框的lst
,例如,lstNumOfKeys
lbl
代表标签,例如,lblResult
cbo
用于组合框,例如,cboCountry
表格的frm
,例如frmNavigation
fsub
用于子表单控件,例如fsubNavigation