如何将访问表单中的记录插入另一个访问表

时间:2016-05-31 04:14:35

标签: forms ms-access insert access-vba ms-access-2010

我有2个访问文件,他们的名字是A和B.

我在访问A中设计了一个用于接收用户数据的表单,我想将数据插入或保存到访问B中的另一个表中。

我知道如何插入记录来访问A表,但我需要在另一个地方插入另一个访问文件。

此外,我正在使用此代码将记录插入表:

 Dim SER As Recordset
 Set SER = CurrentDb.OpenRecordset("Tbl_A")
 With SER
.AddNew
.Fields("Roz") = Me.Combo_Roz.Value
.Fields("Tarikh") = Me.Text_Tarikh.Value
.Fields("User") = Me.Text_User.Value
.Fields("Saat_Harekat") = Me.Text_Start.Value
.Fields("Saat_Residan") = Me.Text_End.Value
.Fields("Saat_Bargasht") = Me.Text_Bargasht.Value
.Fields("Moshkel") = Me.Text_Moshkel.Value
.Fields("Tozihat") = Me.Text_Reason.Value
.Update

2 个答案:

答案 0 :(得分:0)

使用此答案可以更方便地与此表格建立连接。
AccessB 中为表B创建Linked table,并向其中插入数据,就好像它是您数据库中的表一样:

Dim SER As Recordset
'Create the liked table by VBA code:
DoCmd.TransferDatabase acLink, "Microsoft Access", "C:\Path\accessB.accdb", acTable, "Tbl_B", "Tbl_B"
'Open a recordset based on linked table, and insert the data:
Set SER = CurrentDb.OpenRecordset("Tbl_B")
With SER
    .AddNew
    .Fields("Roz") = Me.Combo_Roz.Value
    .Fields("Tarikh") = Me.Text_Tarikh.Value
    .Fields("User") = Me.Text_User.Value
    .Fields("Saat_Harekat") = Me.Text_Start.Value
    .Fields("Saat_Residan") = Me.Text_End.Value
    .Fields("Saat_Bargasht") = Me.Text_Bargasht.Value
    .Fields("Moshkel") = Me.Text_Moshkel.Value
    .Fields("Tozihat") = Me.Text_Reason.Value
    .Update
End With

答案 1 :(得分:0)

如果您希望与此表建立永久连接,请使用此答案。 让数据库对象打开与 AccessB 的连接,并根据此数据库的Tbl_B创建Recordset:

Dim SER As Recordset
Dim Dbs as DAO.Database
'Open a recordset to AccessB, and insert the data:
Set Dbs = OpenDatabase("C:\Path\accessB.accdb")
Set SER = Dbs.OpenRecordset("Tbl_B")
With SER
    .AddNew
    .Fields("Roz") = Me.Combo_Roz.Value
    .Fields("Tarikh") = Me.Text_Tarikh.Value
    .Fields("User") = Me.Text_User.Value
    .Fields("Saat_Harekat") = Me.Text_Start.Value
    .Fields("Saat_Residan") = Me.Text_End.Value
    .Fields("Saat_Bargasht") = Me.Text_Bargasht.Value
    .Fields("Moshkel") = Me.Text_Moshkel.Value
    .Fields("Tozihat") = Me.Text_Reason.Value
    .Update
End With