【发布时间】:2010-07-08 12:35:36
【问题描述】:
我确信有一个简单的解决方案,但它似乎无法解决。
所以我有一个记录源为SELECT * FROM Table1 WHERE id=[@id] 的表单。 (是的,我知道SELECT * 是邪恶的;这只是一个例子)。
显然,此表单的默认行为是,在打开时,输入对话框将提示输入“[@id]”值。但我想做的是从 VBA 调用这个表单,而不是弹出输入对话框,继续告诉表单 [@id] 是什么,所以对话框永远不会弹出,并且表单打开就像[@id] 替换为查询中的值。到目前为止,我已经尝试了以下...
Form_MyForm.RecordSource = String.Replace(Form_Form1.RecordSource, "[@id]", 1)
DoCmd.OpenForm "MyForm"
...和...
Form_MyForm.txtId.Value = 1
DoCmd.OpenForm "MyForm"
...和...
DoCmd.OpenForm "MyForm", acNormal, , "[@id]=" & 1
...但它们似乎都没有达到预期的效果。我该怎么做?
提前谢谢。
【问题讨论】:
标签: ms-access ms-access-2007 vba