Private Sub Form_AfterUpdate()
Dim rs物料库 As ADODB.Recordset
Dim SQLStmt As String
On Error GoTo HandleError
If Not IsNull(Me!物料编号) Then
Set rs物料库 = New ADODB.Recordset
If Not IsNull(Me!单价) Then
SQLStmt = "SELECT * FROM 物料库 " _
& "WHERE 物料编号 = " & Me!物料编号
rs物料库.Open SQLStmt, CurrentProject.Connection, _
adOpenDynamic, adLockOptimistic
If Not rs物料库.EOF Then
rs物料库![Unitprice] = Me!单价
rs物料库.Update
End If
rs物料库.Close
Set rs物料库 = Nothing
End If
End If
ExitHere:
Exit Sub
HandleError:
MsgBox "Error: " & Err.Description, vbCritical, "Access Error"
Resume ExitHere
End Sub
作者: roych 时间: 2011-5-3 00:23
1、确认物料号是否文本,如果不是文本,请在前后加上单引号。
2、如果更新全部的话,应该用循环语句(例如Do Until ……Loop或者For……Next语句),别忘了可能还要加上MoveNext方法,以便移动游标到下一条记录。作者: 十年磨一剑 时间: 2011-7-3 09:59
感谢版主,最近有点忙,没上论坛,我先照您的方法改一下,如有问题,再向您请教。作者: 十年磨一剑 时间: 2011-10-4 20:42
版主真高,现在第一个问题解决了,可是如你说的第二点,我的代码只能更新一条记录的字段,可是现在要更新多条符合条件的字段, 如何运用.MoveNext呢,请赐教,谢谢!作者: Henry D. Sy 时间: 2011-10-5 10:46
没有实例,只能试试看!