【问题标题】:VBA Set Recordet using a variable table nameVBA 使用变量表名设置记录
【发布时间】:2012-03-06 15:03:06
【问题描述】:

我正在尝试从一个调用函数访问表单的记录集克隆,我们使用该函数实质上将记录集中的数据转储到我们正在创建的表中。我试图从 Forms 集合中调用表单,但我不知道如何将表单名称(保存在传递给函数的字符串中)插入到 set 语句的中间。基本上是这样的:

Public Function EditFormData(frmName As String)
  Dim strSQL As String
  Dim strTableName As String
  Dim rst As DAO.Recordset
  Dim i As Integer

  Set rst = Forms![[[frmName]]].RecordsetClone

我在这里有点茫然。对于这个特定的函数,我可以将记录集传递给函数,但我在另一个地方也有类似的困惑,传递一个不是一种选择。想法?

【问题讨论】:

    标签: ms-access vba


    【解决方案1】:

    试试这个:

    Set rst = Forms(frmName).RecordsetClone
    

    【讨论】:

    • +1 我一般用表单名,不过也可以传表单本身EditFormData(frm As Form)
    • 好点。那么 set 语句将是:Set rst = frm.RecordsetClone
    • 没错。两者都有效,我觉得自己像个白痴。非常感谢,我会在允许时标记为答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-06
    • 2018-01-11
    • 1970-01-01
    • 1970-01-01
    • 2021-02-14
    • 2010-10-26
    相关资源
    最近更新 更多