目前有一个包含设备位置的数据库,以及一个用于更新设备位置并保存其先前位置副本的表单。理想情况下,希望能够输入“BoxNo”值列表(ID字段)并多次运行表单,并在每条记录上使用相同的更新。这可能与VBA / SQL一起使用吗?非常低水平的编程知识,非常感谢任何帮助。
编辑:根据Gord Thompson的要求,澄清表格程序。 在表单上有一个boxnumber文本框,只有使用页面底部的搜索栏,即导航窗格部分,而不是表单本身,以及一些文本和组合框,它们对应于与盒子号码。用户更改相关字段,然后单击运行以下代码的“更新”按钮(与问题相关的部分位于else语句之后)。
Private Sub Update_Click()
'checks whether date updated
If DateUpdated = False Then
MsgBox "Please enter a date", vbOKOnly, "Enter Date"
'saves copy to "changes" table
Else
DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO Change_In_Location_tbl (Sm_ID,Given_To,On_Date, Comments) VALUES ( " & Sm_ID.OldValue & ",'" & Currently_Held_by.OldValue & "','" & Date_Given.OldValue & "','" & Comments.OldValue & "');"
DoCmd.SetWarnings True
MsgBox "Update Complete", vbOKOnly
结束如果
End Sub
答案 0 :(得分:0)
听起来你想要使用Do While循环。假设您有一个表中的值列表,请打开记录集并循环遍历每个值。
Dim db as Database
Dim rec as Recordset
set db = CurrentDB
set rec = db.OpenRecordSet ("Select * from MyTableWithBoxNoValues")
Do while rec.EOF = False
... process the BoxNo and save it
(i.e., whatever your form is currently doing...)
rec.MoveNext
Loop