我正在使用Access 2013数据库,并对“输入参数值”框有疑问。我正在使用一个表单,其记录源与“选择”查询相关联。
如果查询找到我正在查找的结果,它会使用其值填充表单。如果查询失败,则会将表单保留为空白,以便用户创建新条目。
如果查询失败,我的一些用户一直在抱怨他们想要将最初输入的值传递给表单“输入参数值”,这样他们就不必在表单中输入两次数据了。 / p>
是否可以将“输入参数值”中的值传递给表单框而不是查询?
答案 0 :(得分:0)
一种方法是在表单框中输入值,然后以编程方式将值作为参数传递给查询。
一些伪:
一些代码:
点击此处: http://bytes.com/topic/access/answers/887449-how-pass-parameter-value-query-via-vba
答案 1 :(得分:0)
这使用了DAO,可能会引起人们的兴趣
DIM MyQryDef as querydef
Dim a as string
a = ""
a = a & "PARAMETERS Parameter1 INT, Parameter2 INT; "
a = a & "SELECT f1, f2 FROM atable WHERE "
a = a & "f3 = [Parameter1] AND f4 = [Parameter2] "
a = a & ";"
Set MyQryDef = currentdb().CreateQueryDef("MyQueryName", a)
MyQryDef.Parameters("Parameter1").Value = 33
MyQryDef.Parameters("Parameter2").Value = 2
' You could now use MyQryDef with DAO recordsets
' to use it with any of OpenQuery, BrowseTo , OpenForm, OpenQuery, OpenReport, or RunDataMacro
DoCmd.SetParameter "Parameter1", 33
DoCmd.SetParameter "Parameter2", 2
DoCmd.Form YourFormName
'或
DoCmd.SetParameter "Parameter1", 33
DoCmd.SetParameter "Parameter2", 2
DoCmd.OpenQuery MyQryDef.Name
见这里: https://msdn.microsoft.com/en-us/library/office/ff194182(v=office.14).aspx
哈维