|
要实现将“ 61合同设备明细”中“设备位号”与“Me![61合同设备明细 合同中明细]![设备位号]”相同的记录删除,同时要查找“41请购设备明细表"中与“Me![61合同设备明细 合同中明细]![设备位号]”相同的记录中的字段“是否已生成合同”值设置成“False”。
请高手指点一下,目前的程序实现不了
Private Sub 删除计划_Click()
On Error GoTo Err_删除计划_Click
'定义字符型变量
Dim STemp As String
'定义用于循环的整型变量
Dim i, iTemp1 As Integer
'定义数据集变量
Dim Rs(2) As ADODB.Recordset
'为定义的数据集变量分配空间
Set Rs(0) = New ADODB.Recordset
StrTemp = "Select * From 41请购设备明细表"
Rs(0).Open StrTemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
'打开“61合同设备明细表”表
Set Rs(1) = New ADODB.Recordset
StrTemp = "Select * From 61合同设备明细"
Rs(1).Open StrTemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
'把记录集的指针指到第一条
Rs(1).MoveFirst
'使用For…Next循环语句在Rs数据集中循环判断
For i = 0 To Rs(1).RecordCount - 1
'判断记录集中的“需求ID”字段值是否与子窗体中“需求ID”文本框内的值
If Rs(1)("设备位号") = Me![61合同设备明细 合同中明细]![设备位号] Then
'如果相同,则把该记录删除
'If MsgBox("确实要删除此条记录吗!", vbYesNo, "确认!") = vbYes Then
MsgBox "确实要删除此条记录吗!", vbOKOnly, "成功删除"
Rs(1).Delete 1
'设置i的值来跳出循环
Rs(0).MoveFirst
For iTemp1 = 0 To Rs(0).RecordCount - 1
If (Rs(0)("设备位号") = Me![61合同设备明细 合同中明细]![设备位号]) Then
Rs(0)("是否已生成合同") = False
Rs(0).Update
Else
Rs(0).MoveNext
End If
Next iTemp1
'Rs(0).Close
Else
'如果不相同,则移到下一条记录
Rs(1).MoveNext
End If
Next i
'弹出“成功删除”的提示信息
'MsgBox "此条记录已经被删除!", vbOKOnly, "成功删除"
'刷新“需求计划管理 子窗体”子窗体
Me![61合同设备明细 询价单中明细].Requery
Me![61合同设备明细 合同中明细].Requery
'释放系统为Rs数据集分配的空间
Set Rs(0) = Nothing
Set Rs(1) = Nothing
Exit_删除计划_Click:
Exit Sub
Err_删除计划_Click:
MsgBox Err.Description
Resume Exit_删除计划_Click
End Sub
|
|