vba 如何从一个表复制记录集并添加到另一个表?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/15783036/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-08 15:18:45  来源:igfitidea点击:

How to copy a recordset from one table and add to another table?

vbams-accessaccess-vbarecordset

提问by arm

I have two tables and I have a form linking to one of them. I want to check a value and if it is true, add the record the other table by using VBA. Can anyone help me, please?

我有两个表,我有一个链接到其中一个的表单。我想检查一个值,如果它为真,则使用 VBA 将记录添加到另一个表中。任何人都可以帮助我吗?

This is my code, but it does not work:

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

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

回答by Katana24

This should provide a start for you:

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

'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