设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3879|回复: 5
打印 上一主题 下一主题

[报表] 求教报表字段跳过空值(或0值)排列问题(已解决)

[复制链接]
跳转到指定楼层
1#
发表于 2011-4-7 14:56:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 GAOZHONG 于 2011-4-8 11:48 编辑

我的报表中有三个基于查询的字段数据1,数据2,数据3,一般的时候,ACCESS报表自动按数据1,数据2,数据3,数据1,数据2......的顺序显示,我希望在报表预览或打印的时候实现:当数据2或数据3的值为0或空时,跳过这个0或空值,把下一个数据提前一个数据位。例:1,3,4,3,5,2,2,3,0,1,0,3是不处理前预览到的数据,现在我要实现:1,3,4,3,5,2,2,3,1,3,该用什么方法?先谢了。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2011-4-7 17:52:33 | 只看该作者
设置条件不等于0(或者大于0)做联合查询,然后基于此数据做报表试试看?
3#
发表于 2011-4-7 17:52:52 | 只看该作者
设置条件不等于0(或者大于0)做联合查询,然后基于此数据做报表试试看?
4#
 楼主| 发表于 2011-4-7 20:44:32 | 只看该作者
用联合查询似乎有一个问题,数据的排列变成数据1,数据1,....数据2,数据2,....数据3,...,但我想要的是,数据1,数据2,数据1(数据3=0或空),数据1,数据1(数据2,数据3都无数据),数据3.....以此类推。例:
数据1       数据2       数据3
  5               4
  7
  9
  6                                8
我要实现的排列是:5,4,7,9,6,8
用联合查询得到的应该是:5,7,9,6,4,8。
还是很真诚的感谢你!
5#
发表于 2011-4-8 09:43:09 | 只看该作者
本帖最后由 todaynew 于 2011-4-8 09:44 编辑

function vallist() as string
dim rs as new adodb.recordset
dim i as long,j as long
rs.Open "你的数据表名称", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
for i=1 to rs.recordcount
      fro j=0 to rs.fileds.count-1
           if rs.filds(j).name="数据1" or rs.filds(j).name="数据2" or rs.filds(j).name="数据3"  then
                if nz(rs.filds(j).value,0)<>0 then
                      vallist=vallist & rs.filds(j).value & ";"
                end if
          end if
     next
    rs.movenext
next
end function
6#
发表于 2011-4-14 19:32:45 | 只看该作者
版主真是高人啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-17 00:33 , Processed in 0.091426 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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