| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1429 人关注过本帖
标题:求助关于vb6 ado adAffectGroup的使用方法
只看楼主 加入收藏
w360989426
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:228
专家分:301
注 册:2013-11-12
结帖率:84%
收藏
 问题点数:0 回复次数:25 
求助关于vb6 ado adAffectGroup的使用方法
Private Sub Command7_Click()
If Adodc1.Recordset.EOF = True Then
MsgBox "没有记录可供删除!", vbOKOnly, "温馨提示"
Else
If MsgBox("你真的不需要打印这个订单编号的送货单吗?", vbOKCancel, "温馨提示") = vbOK Then
DataGrid1.AllowDelete = True
Adodc1.Recordset.Filter = "订单编号='" & 订单编号 & "'"
Adodc1.Recordset.Delete adAffectGroup (这行提示出错,提示在此环境中不允许操作)这是为什么??
DataGrid1.AllowDelete = False
MsgBox "删除订单编号成功", vbOKOnly, "温馨提示"

End If
End If
End Sub


求大师指点啊,我快疯掉了。。。。。
我的本意是要删除Adodc1.Recordset.Filter = "订单编号='" & 订单编号 & "'"
但是我不想去直接操作数据库,因为这是为一个打印程序所开发的程序,我只是想让他把查询中不想打印的recordest从adodc1.recordest中删除,
但是我现在遇到这个情况真不知道该如何去解决,还请大师指点啊。。。谢谢了啊
搜索更多相关主题的帖子: 记录 
2014-02-04 10:49
w360989426
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:228
专家分:301
注 册:2013-11-12
收藏
得分:0 
怎么没有人回答我的问题啊。。。来人啊,,,,
2014-02-04 15:36
chen3523
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:33
帖 子:223
专家分:1165
注 册:2013-2-12
收藏
得分:0 
既然是查询,可以用“订单编号<>”来完成查询,然后打印DataGrid1

调试失败3次后,关机睡觉,当醒来时多有收获。
2014-02-04 17:00
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:652
专家分:3402
注 册:2008-5-7
收藏
得分:0 
我也没有找到好的方法,开始以为是记录集锁定模式(LockType)和记录集打开模式(CursorType)造成的,但尝试各种组合没有解决,但貌似直接delete是可以的,因此用笨法子不知道能否达到你的要求,修改后的代码如下(先备份数据库,因为会真正删除掉数据库符合要求的记录的):
Private Sub Command7_Click()
  If Adodc1.Recordset.EOF = True Then
   MsgBox "没有记录可供删除!", vbOKOnly, "温馨提示"
  Else
    If MsgBox("你真的不需要打印这个订单编号的送货单吗?", vbOKCancel, "温馨提示") = vbOK Then
      DataGrid1.AllowDelete = True
      Adodc1.Recordset.Filter = "订单编号='" & 订单编号 & "'"
      While Not Adodc1.Recordset.EOF
        Adodc1.Recordset.Delete
        Adodc1.Recordset.MoveNext
      Wend
      Adodc1.Recordset.Close
      Adodc1.Recordset.Filter = ""
      Adodc1.Refresh
      DataGrid1.AllowDelete = False
      MsgBox "删除订单编号成功", vbOKOnly, "温馨提示"
    End If
  End If
End Sub



[ 本帖最后由 lowxiong 于 2014-2-4 17:26 编辑 ]
2014-02-04 17:08
w360989426
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:228
专家分:301
注 册:2013-11-12
收藏
得分:0 
回复 4楼 lowxiong
谢谢版主了,我去试试看,如果不行的话,只能去建一个临时表了。。哎。。。谢谢拉
2014-02-04 19:49
w360989426
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:228
专家分:301
注 册:2013-11-12
收藏
得分:0 
回复 4楼 lowxiong
Private Sub Command7_Click()
  If Adodc1.Recordset.EOF = True Then
   MsgBox "没有记录可供删除!", vbOKOnly, "温馨提示"
  Else
    If MsgBox("你真的不需要打印这个订单编号的送货单吗?", vbOKCancel, "温馨提示") = vbOK Then
      DataGrid1.AllowDelete = True
      Adodc1.Recordset.Filter = "订单编号='" & 订单编号 & "'"
      While Not Adodc1.Recordset.EOF
        Adodc1.Recordset.Delete  (程序运行到此行出错,提示缺少更新或刷新的键列信息)
        Adodc1.Recordset.MoveNext
      Wend
      Adodc1.Recordset.Close
      Adodc1.Recordset.Filter = ""
      Adodc1.Refresh
      DataGrid1.AllowDelete = False
      MsgBox "删除订单编号成功", vbOKOnly, "温馨提示"
    End If
  End If
End Sub
图片附件: 游客没有浏览图片的权限,请 登录注册

版主这是什么原因,请指点啊。。。。谢谢啊!!
2014-02-05 10:31
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:652
专家分:3402
注 册:2008-5-7
收藏
得分:0 
未能模拟出你的错误,网上说缺少主键,我也把实验数据库的主键取消了,仍然能正常删除,如果你能把你的程序和数据库打包过来,或许我能找到错误原因。
2014-02-05 11:41
w360989426
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:228
专家分:301
注 册:2013-11-12
收藏
得分:0 
回复 7楼 lowxiong
版主,请给我一个邮箱,我发过来您帮我看一下,谢谢拉!
2014-02-05 12:11
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:652
专家分:3402
注 册:2008-5-7
收藏
得分:0 
lowxiong@
2014-02-05 12:13
w360989426
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:228
专家分:301
注 册:2013-11-12
收藏
得分:0 
回复 9楼 lowxiong
版主,邮件给您发了,麻烦您看一下啊,谢谢拉!
2014-02-05 13:52
快速回复:求助关于vb6 ado adAffectGroup的使用方法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017468 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved