如何将数据插入Access数据库字段?

时间:2013-12-05 14:45:30

标签: sql forms insert ms-access-2007 edit

我创建了多个表单,每个表单都包含多个按钮。最终用户将按顺序浏览表单,然后选择一个按钮并转到下一个表单,依此类推。

我还创建了一个存储输入数据的表。例如;如果用户单击按钮A,则指定字段的值为“A”,依此类推。换句话说,每个按钮都会将特定数据输入特定字段。

我最终想要的是在表格集完成后有一个完整的记录集(行)。

我在第一个表单的第一个按钮中使用了以下代码

Dim RS As DAO.Recordset
Set RS = CurrentDb.OpenRecordset("Data", dbOpenDynaset)
RS.AddNew
RS("WLAN") = "ARUBA"
RS.Update
Set RS = Nothing

在后面的表格(按钮)中,我使用了以下代码

Dim RS As DAO.Recordset
Set RS = CurrentDb.OpenRecordset("Data", dbOpenDynaset)
RS.Edit
RS("Security") = "WPA2-PSK"
RS.Update
Set RS = Nothing

现在发生的事情是第一个表单序列(按钮)成功地将数据输入到我的表[数据]的第一行,但是当我重新开始并选择其他按钮时,现有行将使用新选择进行编辑。 / p>

我想要的是添加一条新记录并在其中插入数据,而不是编辑前一条记录。

我将非常感谢您的帮助,对不起,我很抱歉。

谢谢你, 纳赛尔

1 个答案:

答案 0 :(得分:0)

创建一个变量来保存您正在处理的记录的ID。我将这个例子称为RecId

添加记录

Dim RS As DAO.Recordset
Set RS = CurrentDb.OpenRecordset("Data", dbOpenDynaset)
RS.AddNew
RS("WLAN") = "ARUBA"
RecId = RS("ID")
RS.Update
Set RS = Nothing

然后更新相同的记录

Dim RS As DAO.Recordset
Set RS = CurrentDb.OpenRecordset("Data", dbOpenDynaset)
RS.MoveFirst
Do Until RS.EOF
    If RD!ID= RecId Then
        RS.Edit
        RS("Security") = "WPA2-PSK"
        RS.Update
    End If
    RS.MoveNext
Loop
Set RS = Nothing

如果您从不想更新任何记录,只想添加新记录,那么只使用添加代码。您需要进行一些检查,但这应该为您提供所需的基础。