【问题标题】:populate access form via sql in vba在 vba 中通过 sql 填充访问表单
【发布时间】:2012-02-29 02:46:16
【问题描述】:

我有一个连续的表格,我想通过我的 VBA 脚本中的 sql select 语句来填充它。我似乎无法完成这项工作:

sel = "Select * from table1 where  a = 10;"
Set SQL = db.OpenRecordset(sel)
SQL.Requery

【问题讨论】:

    标签: sql database forms ms-access vba


    【解决方案1】:

    你为什么不把你的选择指令放在表单的记录源属性中?

    Me.recordsource = "Select * from table1 where  a = 10;"
    

    如果您的脚本在表单的某个过程中,或者

    myForm.recordsource = "Select * from table1 where  a = 10;"
    

    如果您的脚本位于独立模块中

    【讨论】:

      【解决方案2】:

      如果您想使用 Recordset 而不仅仅是设置 RecordSource(就像 Philippe Grondier's answer 中已经建议的那样),您也可以这样做:

      Set Me.Recordset = db.OpenRecordset("select ...")
      

      我必须承认,设置RecordSource 是“标准方式”(尤其是如果您已经有一条 SQL 语句并想用它填充表单),但我仍然想展示这个替代解决方案。
      我通常使用它来使用函数返回的 Recordset 填充表单。

      【讨论】:

      • 完全正确,这也是我的做法,虽然我系统地使用 ADODB 而不是 DAO 记录集。
      • 是的,我也是(我们使用 Access 作为 SQL Server 前端)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-26
      • 2022-11-01
      • 2019-03-14
      • 1970-01-01
      相关资源
      最近更新 更多