我已经使用VBA对MS Access进行了多年的编程,但从未使用过Office 2010.每当我尝试使用任何参数时,我会在关闭括号后收到消息"Expected: ="
。
例如,一个简单的消息框接受标题,但只生成默认参数(vbOKCancel)。在某些情况下,我更喜欢使用vbYesNo但是如果我输入MsgBox("Do you wish to cancel",vbYesNo)
,那么虽然各种替代响应会下拉以供选择,但我在尝试完成语句时得到"Expected: ="
。每当我尝试使用参数时都会发生这种情况 - 例如,如果我在Form对象的OnCurrent事件中使用DoCmd来显示特定记录。
示例代码:
'If closed without a preference being selected, continue:
If IsNull(cboPreference) Then
MsgBox ("You have not selected a preference. Do you want to cancel?",vbYesNo)
Select Case Response
Case vbYes
Exit Sub
Case vbNo
cboPreference.SetFocus
End Select
End If
我尝试卸载并重新安装应用程序;但是我的电脑上的Windows 7和笔记本电脑上的Windows 8(均为64位)都会出现错误。
我还安装了MS Access 2010的最新更新。我还能做什么?
答案 0 :(得分:1)
在立即窗口中测试这两个语句,以查看括号的效果。
MsgBox("Do you wish to cancel",vbYesNo) ' complains about expected =
MsgBox "Do you wish to cancel",vbYesNo ' this works
如果要捕获从MsgBox
返回的值,请将其指定给变量......在这种情况下,您需要一个等号和括号。
Response = MsgBox("You have not selected a preference. Do you want to cancel?",vbYesNo)
更多关于何时使用括号和函数调用,何时不使用它们......
MsgBox "Hi"
Call MsgBox("Hi")
intResponse = MsgBox("Hi")