Office中国论坛/Access中国论坛

标题: 将表2中记录添加到表1中 同时将表2中该条记录删除 那代码应该如何修改 [打印本页]

作者: zhqmpc001    时间: 2010-11-23 18:41
标题: 将表2中记录添加到表1中 同时将表2中该条记录删除 那代码应该如何修改
在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

作者: tmtony    时间: 2010-11-24 09:24
在判断表1没有同名记录后
表1的recordset.addnew
表1的recordset.update

然后将
表1的recordset.delete
作者: zhqmpc001    时间: 2010-11-25 01:05
能否帮我在以上代码中做些修改以便参考
作者: 静儿    时间: 2010-11-25 12:02
建立一个更新查询,再建立一个删除查询,根据向导建立就行啦。然后用命令运行这两个操作查询就OK乐。
作者: zhqmpc001    时间: 2010-11-29 14:57
楼上你这个太复杂了,有简单一点的吗





欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3