【问题标题】:How to copy a recordset from one table and add to another table?如何从一个表中复制一个记录集并添加到另一个表中?
【发布时间】:2013-04-03 09:04:11
【问题描述】:

我有两张表,我有一个链接到其中一张的表格。我想检查一个值,如果为真,则使用 VBA 将记录添加到另一个表中。 谁能帮帮我?

这是我的代码,但它不起作用:

Dim rec1 As DAO.Recordset
Dim rec2 As DAO.Recordset

Set rec1 = CurrentDb.OpenRecordset("TotalTPAq")
Set rec2 = CurrentDb.OpenRecordset("Visi")

rec1.MoveFirst
Do Until rec1.EOF

    If rec1!Date = PlanDate.Value Then ' planDate is a text box
        rec2.AddNew
        rec2![Planing Date History] = PlanDate.Value
        rec2.Update
        rec2.Close
    End If
    rec1.MoveNext
Loop
rec1.Close

Set rec2 = Nothing
Set rec1 = Nothing

DoCmd.Close

【问题讨论】:

  • 我是 access 和 vba 的初学者,它没有收到任何错误消息,只是停在 rec2.addnew 行,我不知道是什么问题!我更改了 rec2.close 的位置,但结果是一样的!
  • 我刚刚在访问中测试了它,我将rec2.close放在rec1.close之后,但结果是一样的。
  • 事实上我有一个链接到查询的表单。我使用复选框来选择表单中的记录,我想将 planDate.value 添加到所选记录的查询表中。事实上,我希望有另一个表来将这些选定的记录添加到其中,以记录发生的事情,因为查询的表的值发生了变化。

标签: ms-access vba recordset


【解决方案1】:

这应该为您提供一个开始:

'Run query to fill table
Private Sub btnRnQry_Click()

    'No value entered
    If IsNull(Me.txtEntry) Or Me.txtEntry = "" Then
        MsgBox ("Is null or empty")
    Else
        'Assign value to variable
        Dim entry As String
        entry = Me.txtEntry

        Dim sql As String
        sql = "INSERT INTO tableTwo ([First Name],Surname,[Phone Number] )" & _
              "SELECT * " & _
              "FROM tableOne " & _
              "WHERE [First Name] = '" & entry & "';"

        'Run the SQL
        DoCmd.RunSQL sql

    End If

End Sub

【讨论】:

  • 非常感谢,更好了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-05
  • 1970-01-01
  • 2017-05-20
相关资源
最近更新 更多