|
在ACCESS中有两个表-表1 和表2 我想在窗体2中单击添加单价
将表2中记录添加到表1中 同时将表2中该条记录删除 那代码应该如何修改
Private Sub 添加单价_Click()
On Error GoTo Err_添加单价_Click
Dim i As Integer
Dim STemp As String
Dim Rs As ADODB.Recordset
Set Rs = New ADODB.Recordset
'为打开数据表“查询语句”字符变量赋值
STemp = "Select * From 表1"
'打开“表1”数据表
Rs.Open STemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
'判断“产品编号”等文本框是否为空
If IsNull(Me![产品编号]) = True Then
'弹出提示“产品编号”文本框不可以为空信息
MsgBox "请输入“产品编号”,它不可以为空!", vbOKOnly, "输入“产品编号”"
'把光标置于“产品编号”文本框内
Me![产品编号].SetFocus
'退出子过程
Exit Sub
Else
'循环判断该编号的表2是否存在
If Rs.RecordCount > 0 Then
Rs.MoveFirst
For i = 1 To Rs.RecordCount
'如果存在,弹出信息并退出子过程
If Rs("产品编号") = Me![产品编号] Then
MsgBox "该编号的产品已经存在,请核实!", vbCritical, "记录已经存在"
Exit Sub
Else
Rs.MoveNext
End If
Next i
End If
End If
'为保存表2“查询语句”字符变量赋值
STemp = "INSERT INTO 表1 "
STemp = STemp & "( 产品编号,产品名称,产品单价,录入日期)"
STemp = STemp & "VALUES ('" & Me![产品编号] & "','" & Me![产品名称] & "',"
STemp = STemp & "'" & Me![产品单价] & "','" & Now & "')"
'使用DoCmd对象的RunSQL方法执行查询
DoCmd.RunSQL STemp
'刷新“窗体2 子窗体”子窗体
Me![窗体2 子窗体].Requery
'释放系统为Rs数据集分配的空间
Set Rs = Nothing
Exit_添加单价_Click:
'释放系统为Rs数据集分配的空间
Set Rs = Nothing
Exit Sub
Err_添加单价_Click:
MsgBox Err.Description
Resume Exit_添加单价_Click
End Sub
|
|