Office中国论坛/Access中国论坛

标题: 运行下一个时,按钮'下一个、最后一个'不会无效,并且出现"不能转到下一个 [打印本页]

作者: ccczzz    时间: 2003-2-26 20:51
标题: 运行下一个时,按钮'下一个、最后一个'不会无效,并且出现"不能转到下一个"错误
如果只有一条记录或没有记录时,运行下一个时,按钮'下一个、最后一个'不会无效,并且出现"不能转到下一个"错误报警,当有两条记录或以上时,不出现报警,按钮"下一个、最后一个"变灰成无效状态,同样的代码,写在别的窗体很正常,我上传的附件中就不正常,为什么?

文件下载


[此贴子已经被作者于2003-2-26 12:50:44编辑过]


作者: 李寻欢    时间: 2003-2-26 21:16
用这段代码更换模块ContorlCmdS里的ContorlCmd过程

等一下,好象还有错。
[此贴子已经被作者于2003-2-26 13:16:00编辑过]


作者: 李寻欢    时间: 2003-2-26 21:45
在下一个按钮跟最后一个按钮的单击事件里加上这段代码:

If Me.RecordsetClone.RecordCount <= 1 Then
        采购订单编号.SetFocus
        Me.cmdFirst.Enabled = False
        Me.cmdPrevious.Enabled = False
        Me.cmdLast.Enabled = False
        Me.cmdNext.Enabled = False
        Exit Sub
    End If
当时我也知道有这个BUG,那时我在ContorlCmd里判断Me的记录集总数,可窗体刚打开时load/open/Activate等事件里都无法统计记录总数,因为还没加载记录,所以我就没加这个控制,如果一定要在模块里加判断,只能用ado或Dao到表里统计,那样挺麻烦,所以就用了上面这个折衷的方法。
作者: eio    时间: 2003-2-26 21:47
最简单的办法是将错误msg去掉,反正意义不大,要么改改也可
作者: ccczzz    时间: 2003-2-27 01:46
用了这段代码就不能添加第三条记录了。
作者: yachtz    时间: 2003-2-28 00:42
以下是引用李寻欢在2003-2-26 13:45:07的发言:
在下一个按钮跟最后一个按钮的单击事件里加上这段代码:

If&nbsp;Me.RecordsetClone.RecordCount&nbsp;<=&nbsp;1&nbsp;Then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;采购订单编号.SetFocus
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Me.cmdFirst.Enabled&nbsp;=&nbsp;False
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Me.cmdPrevious.Enabled&nbsp;=&nbsp;False
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Me.cmdLast.Enabled&nbsp;=&nbsp;False
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Me.cmdNext.Enabled&nbsp;=&nbsp;False
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Exit&nbsp;Sub
&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;If
当时我也知道有这个BUG,那时我在ContorlCmd里判断Me的记录集总数,可窗体刚打开时load/open/Activate等事件里都无法统计记录总数,因为还没加载记录,所以我就没加这个控制,如果一定要在模块里加判断,只能用ado或Dao到表里统计,那样挺麻烦,所以就用了上面这个折衷的方法。



稍微修改一下:

If Me.RecordsetClone.RecordCount <= 1 Then
         采购订单编号.SetFocus
         Me.cmdFirst.Enabled = False
         Me.cmdPrevious.Enabled = False
         Me.cmdLast.Enabled = False
         Me.cmdNext.Enabled = False
         Exit Sub
ELSE   
         Me.cmdFirst.Enabled = True
         Me.cmdPrevious.Enabled = True
         Me.cmdLast.Enabled = True
         Me.cmdNext.Enabled = True
End If




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