【问题标题】:dynamic SQL query while Upgrading from MSAccess 2003 to 2013从 MSAccess 2003 升级到 2013 时的动态 SQL 查询
【发布时间】:2015-02-02 20:13:01
【问题描述】:

我的问题是,当我硬编码 SQL 语句(用于测试)时,正在使用的应用程序正常工作。当我尝试在父窗体上使用文本框控件的值时失败。

我已经把msgbox看到Me.RecordSource的最终值和SQL语句看起来完全一样。但是动态创建的不会向使用该子表单的子表单返回任何记录。

当我们尝试从 MSAccess 2003 升级到 MSAccess 2013 时出现此问题

我还需要检查哪些地方?

Private Sub Form_Open(Cancel As Integer)
     Dim mytestOne As String
     Dim mytestTwo As String

mytestOne = "SELECT * FROM qryPacket_Log where EntityNoR =  " & Me.Parent.txtEntityNoSearch 

mytestTwo = "SELECT * FROM qryPacket_Log where EntityNoR = 123 " 

  ' Set the  RecordSource for this form

 'this does not work
 ' Me.RecordSource = mytestOne 

 'this works
  Me.RecordSource = mytestTwo 

End Sub

【问题讨论】:

  • 对不起,我的意思是 Me.Parent.txtEntityNoSearch ...是的,汉斯,它在打开时被馈送到父表单...不是 msaccess 专家...但是“链接”是什么意思大师领域”?只要子表单的列表视图控件能够正确动态填充,我就可以通过其他方式调用此动态 sql,非常感谢
  • 在设计视图中打开父窗体,选择子窗体控件,然后打开其属性表。在“数据”选项卡上,找到“链接主字段”和“链接子字段”属性。你已经有东西了吗?如果没有,请尝试将 txtEntityNoSearch 用于 Master 和 EntityNoR 用于 Child。
  • 现在对于多个变量,我可以说 txtEntityNoSearch;txtEntityTypeSearch;txtSoOnAndSoForth 用于主字段(相应的值也将用于子字段)?
  • 是的,您可以在每个链接主字段和子字段属性中指定多个字段/控件。 (我希望这就是你的意思。)
  • 是的,我想指定多个字段...所以我为链接主字段输入了 txtEntityNoSearch,为链接子字段输入了 EntityNoR。我通过输入 txtEntityNoSearch 尝试了第二个字段; txtEntity(用分号分隔)...如果我尝试使用单击 3 个点时弹出的 Sub Field Linker 对话框,它不包含 txtEntityNoSearch 作为选项的一部分...

标签: ms-access ms-access-2003 ms-access-2013


【解决方案1】:

可以通过将父文本框的控件名称放在“链接主字段”属性中来设置子表单数据源。必须在“链接子字段”属性中设置相应的字段。

示例:txtEntityNoSearch;txtEntityTypeSearch 用于链接主字段 EntityNoR;EntityTypeR 用于链接子字段

【讨论】:

  • 感谢您提交此答案。请在系统允许的情况下接受。欢迎使用 Stack Overflow。
猜你喜欢
  • 1970-01-01
  • 2011-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-13
  • 1970-01-01
  • 2023-03-11
  • 1970-01-01
相关资源
最近更新 更多