0

目前有一个包含设备位置的数据库,以及一个用于更新设备位置并保存其先前位置副本的表单。理想情况下,希望能够输入“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

万一

结束子

4

1 回答 1

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
于 2013-08-06T20:25:01.600 回答