Office中国论坛/Access中国论坛

标题: ado的问题,请帮忙看一下,问题在哪里? [打印本页]

作者: su_xx    时间: 2016-12-15 13:17
标题: ado的问题,请帮忙看一下,问题在哪里?
[attach]60525[/attach]
点击删除产品按钮死活删除不了当前选中的产品,没有任何出错提示,请高手帮忙一下

作者: roych    时间: 2016-12-15 15:35
应该是主窗体引用了子窗体的数据吧?当你删除时,其实主窗体的数据已经为空,条件不成立,所以无法删除。
建议另外加变量处理。
http://www.office-cn.net/thread-119118-1-1.html
作者: Henry D. Sy    时间: 2016-12-15 15:53
  1. Private Sub Cmd_删除产品_Click()

  2.     Dim i As Integer
  3.     Dim Stemp As String
  4.     Dim rs As ADODB.Recordset
  5.     Dim Rsql As String
  6.     Set rs = New ADODB.Recordset

  7.     Stemp = "Select * From 物品资料表"

  8.     rs.Open Stemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic

  9.     If rs.RecordCount < 1 Then
  10.         Exit Sub
  11.     End If

  12.     rs.MoveFirst
  13.     For i = 1 To rs.RecordCount


  14.         If rs("产品代码") = Me![Frm_物品资料输入子窗体]![产品代码] Then
  15.             MsgBox rs("产品代码")
  16.             rs.Delete 1
  17.             MsgBox "产品代码:" & Me![产品代码] & "的资料已经删除完成!", vbOKOnly, "删除完成"
  18.             Exit For
  19.         Else
  20.             rs.MoveNext
  21.         End If
  22.     Next i


  23.     Me![Frm_物品资料输入子窗体].Requery

  24.     Set rs = Nothing
  25. Exit_删除产品:
  26.     Set rs = Nothing
  27.     Exit Sub

  28. Err_删除产品:
  29.     MsgBox Err.Description
  30.     Resume Exit_删除产品

  31. End Sub
复制代码
建议直接用SQL动作查询,快又准,
就算你用ado也没有必要循环,直接在stemp上设定条件


作者: Henry D. Sy    时间: 2016-12-15 15:55
还是你的代码,只是将adLockBatchOptimistic 更改为
adLockOptimistic
作者: su_xx    时间: 2016-12-15 15:57
roych 发表于 2016-12-15 15:35
应该是主窗体引用了子窗体的数据吧?当你删除时,其实主窗体的数据已经为空,条件不成立,所以无法删除。
...

不是,我试了一下 主窗体不引用子窗体也一样,你的例子我在学习,谢谢了
作者: su_xx    时间: 2016-12-15 16:06
Henry D. Sy 发表于 2016-12-15 15:53
建议直接用SQL动作查询,快又准,
就算你用ado也没有必要循环,直接在stemp上设定条件

谢谢你,问题解决。直接用sql动作查询我做过没问题。只是用这种方法上遇到了问题,所以发贴求助,呵呵!
作者: Henry D. Sy    时间: 2016-12-15 16:14
su_xx 发表于 2016-12-15 16:06
谢谢你,问题解决。直接用sql动作查询我做过没问题。只是用这种方法上遇到了问题,所以发贴求助,呵呵!

MsgBox "产品代码:" & Me![产品代码] & "的资料已经删除完成!", vbOKOnly, "删除完成"
要把这句放在rs.Delete 后面,否则不管3721都提示删除完成




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