设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[Access本身] 求遍历并提取数据的代码(已解决)

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

有一个数据表,表内有三个字段,数据1,数据2,数据3,现要求一段代码,遍历该数据表的三个字段中的记录,提取大于0的数据按数据1,数据2,数据3的顺序写入临时表或报表中的指定文本框,请教各位,该如何写这段代码?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2011-4-8 09:28:22 | 只看该作者
与代码无关,不过是查询问题而已。
select iif(数据1>0,数据1) as 值1, iif(数据2>0,数据2) as 值2,iif(数据3>0,数据3) as 值3  from tbname
3#
 楼主| 发表于 2011-4-8 10:42:32 | 只看该作者
我试下,先谢了
4#
 楼主| 发表于 2011-4-8 11:04:20 | 只看该作者
本帖最后由 GAOZHONG 于 2011-4-8 11:07 编辑

不是我要的排列,我可能没表达清楚,我要实现如下效果:
数据1      数据2       数据3
  12           15
  17                            15
  16           13             11
  19
这是我查询的到的数据,现在我要把这里面大于0的数据按数据1,数据2,数据3的顺序写入一个临时表A的数据字段,也可以直接写入一个子报表控件,效果如下:
12  15  17  15  16  13  11  19(这是写入子报表的效果)
表A      数据        (这是写入临时表表A的效果)
             12
             15
             17
             15
             16
             13
             11
             19
不知该如何实现?
5#
发表于 2011-4-8 11:07:23 | 只看该作者
GAOZHONG 发表于 2011-4-8 11:04
不是我要的排列,我可能没表达清楚,我要实现如下效果:
数据1      数据2       数据3
  12           1 ...


http://www.office-cn.net/thread-96591-1-1.html
6#
 楼主| 发表于 2011-4-8 11:10:46 | 只看该作者
我的目的可以查看
请帮忙解决子报表数据排列的问题,急!
http://www.office-cn.net/forum-v ... fromuid-123208.html
7#
发表于 2011-4-8 11:17:29 | 只看该作者
GAOZHONG 发表于 2011-4-8 11:10
我的目的可以查看
请帮忙解决子报表数据排列的问题,急!
http://www.office-cn.net/forum-viewthread-ti ...

你什么都不会呀,呵呵。

1、写一个自定义函数:
function valUpdate()
dim rs as new adodb.recordset
dim rs0 as new adodb.recordset
dim i as long,j as long
rs.Open "你的数据表名称", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
rs0.Open "你的临时数据表名称", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
if rs0.recordcount>0 then
   for i=1 to rs0.recordcount
       rs0.delect
       rs0.update
   next
end if
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
                      rs0.addnew
                      rs0("临时表中的字段名称").value=rs.filds(j).value
                      rs0.update
                end if
          end if
     next
    rs.movenext
next
rs.close:set rs=noting
rs0.close:set rs0=nothing
end function

2、在某个按钮事件中调用该函数:
call valUpdate
8#
 楼主| 发表于 2011-4-8 11:22:10 | 只看该作者
汗颜哪,上手ACCESS时间不算短了,只是真正摆弄的时间比较少,又没时间经常上这里向大家请教,所以一直没进步呢
9#
 楼主| 发表于 2011-4-8 11:22:58 | 只看该作者
你的函数我试下,多谢了。吃中饭了吧?
10#
 楼主| 发表于 2011-4-8 11:23:55 | 只看该作者
对代码我是一片空白
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 22:35 , Processed in 0.119176 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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