设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 4072|回复: 14
打印 上一主题 下一主题

[其它] 关于分页合计的问题(已解决如果表内值为空,生产错误问题,请看15楼)

[复制链接]
跳转到指定楼层
1#
发表于 2007-8-7 13:09:45 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
Dim mysum1 As Double
Dim mysum2 As Double
Dim xx
Private Sub Report_Open(Cancel As Integer)
End Sub
Private Sub 页面页脚_Format(Cancel As Integer, FormatCount As Integer)
Text21.Value = "本页共计:   " & mysum2 & "cone"
Text23.Value = "本页共计:  " & mysum1 & "个ITEM"
mysum2 = 0
mysum1 = 0
End Sub
Private Sub 主体_Format(Cancel As Integer, FormatCount As Integer)
End Sub
Private Sub 主体_Print(Cancel As Integer, PrintCount As Integer)
If IsNull(执货数量) Then
mysum1 = mysum1 + 1
mysum2 = mysum2 + 执货数量.Value
Else
mysum2 = 0
mysum1 = 0
End If
End Sub

如题,如何判断当前表的字段为空???这样写如果表内为数据就能正常工作,但表内数据为空,产生错误,提示mysum2 = mysum2 + 执货数量.Value表达式无数值,错误退出.请高手帮忙修改一下,多谢!!!!!

多谢版主的帮忙。

[ 本帖最后由 ly_19811105 于 2007-8-11 20:47 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
15#
 楼主| 发表于 2007-8-11 14:12:23 | 只看该作者
多谢版主,因为是菜鸟,对Access的VBA不了解,所以一直都没有办法做到,现在已经解决了。多谢!!!
Option Compare Database
Dim mysum1 As Double
Dim mysum2 As Double
Dim x As Boolean

Private Sub Report_NoData(Cancel As Integer)
x = False
End Sub

Private Sub Report_Open(Cancel As Integer)

End Sub

Private Sub 页面页脚_Format(Cancel As Integer, FormatCount As Integer)

End Sub

Private Sub 页面页脚_Print(Cancel As Integer, PrintCount As Integer)
Text23.Value = "本页共计: " & mysum1 & " CONE"
Text24.Value = "本页共计: " & mysum2 & " 个ITEM"
mysum1 = 0
mysum2 = 0
End Sub

Private Sub 主体_Format(Cancel As Integer, FormatCount As Integer)

End Sub

Private Sub 主体_Print(Cancel As Integer, PrintCount As Integer)
If x = True Then
mysum1 = mysum1 + 执货数量.Value
mysum2 = mysum2 + 1
Else
mysum1 = 0
mysum2 = 0
End If
End Sub
把我的代码贴出来让你帮忙看看有没有问题,没有问题也能让像我一样的菜鸟共享一下
14#
发表于 2007-8-10 10:42:01 | 只看该作者
我不是已经指出您的逻辑错误之处了吗?

如果报表无数据,您需要在报表的“无数据”事件中:Private Sub Report_NoData(Cancel As Integer)设置代码,而不是在页合计中设置。
13#
 楼主| 发表于 2007-8-10 07:23:06 | 只看该作者
回去,不要沉,还没解决
12#
 楼主| 发表于 2007-8-9 22:06:23 | 只看该作者
顶上去,我就不信没有人会
11#
 楼主| 发表于 2007-8-9 17:19:41 | 只看该作者
不要沉,顶上去,顶到有人解决。菜鸟的办法
10#
 楼主| 发表于 2007-8-9 16:54:05 | 只看该作者
以上方法都不行啊,还是提示是表达式没有数值,哪位高手再帮手搞搞啊。主要是如何判断当前报表所使用的表是空表就行了,论坛上的所有页合计我都试了一遍,只要是表为空,一律出现表达式没有数值。

点击这里给我发消息

9#
发表于 2007-8-7 16:33:17 | 只看该作者
试试:

If IsNull(执货数量) Then
mysum1 = mysum1 + 1
mysum2 = mysum2 + Nz(执货数量.Value,0)
Else
mysum2 = 0
mysum1 = 0
End If
8#
发表于 2007-8-7 16:32:37 | 只看该作者
If IsNull(执货数量) Then
    mysum1 = mysum1 + 1
    mysum2 = mysum2 + 执货数量.Value
Else
    mysum2 = 0
    mysum1 = 0
End If
既然您已经判断“执货数量”为null了,为什么还拿它(执货数量.Value)来计算呢?矛盾
7#
 楼主| 发表于 2007-8-7 16:18:59 | 只看该作者
顶到最上面去,高手帮手解决啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2025-1-10 05:46 , Processed in 0.091493 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表