我创建了多个表单,每个表单都包含多个按钮。最终用户将按顺序浏览表单,然后选择一个按钮并转到下一个表单,依此类推。
我还创建了一个存储输入数据的表。例如;如果用户单击按钮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>
我想要的是添加一条新记录并在其中插入数据,而不是编辑前一条记录。
我将非常感谢您的帮助,对不起,我很抱歉。
谢谢你, 纳赛尔
答案 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
如果您从不想更新任何记录,只想添加新记录,那么只使用添加代码。您需要进行一些检查,但这应该为您提供所需的基础。