Office中国论坛/Access中国论坛

标题: 求遍历并提取数据的代码(已解决) [打印本页]

作者: GAOZHONG    时间: 2011-4-7 21:25
标题: 求遍历并提取数据的代码(已解决)
本帖最后由 GAOZHONG 于 2011-4-8 11:48 编辑

有一个数据表,表内有三个字段,数据1,数据2,数据3,现要求一段代码,遍历该数据表的三个字段中的记录,提取大于0的数据按数据1,数据2,数据3的顺序写入临时表或报表中的指定文本框,请教各位,该如何写这段代码?
作者: todaynew    时间: 2011-4-8 09:28
与代码无关,不过是查询问题而已。
select iif(数据1>0,数据1) as 值1, iif(数据2>0,数据2) as 值2,iif(数据3>0,数据3) as 值3  from tbname
作者: GAOZHONG    时间: 2011-4-8 10:42
我试下,先谢了
作者: GAOZHONG    时间: 2011-4-8 11:04
本帖最后由 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
不知该如何实现?

作者: todaynew    时间: 2011-4-8 11:07
GAOZHONG 发表于 2011-4-8 11:04
不是我要的排列,我可能没表达清楚,我要实现如下效果:
数据1      数据2       数据3
  12           1 ...


http://www.office-cn.net/thread-96591-1-1.html
作者: GAOZHONG    时间: 2011-4-8 11:10
我的目的可以查看
请帮忙解决子报表数据排列的问题,急!
http://www.office-cn.net/forum-v ... fromuid-123208.html

作者: todaynew    时间: 2011-4-8 11:17
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
作者: GAOZHONG    时间: 2011-4-8 11:22
汗颜哪,上手ACCESS时间不算短了,只是真正摆弄的时间比较少,又没时间经常上这里向大家请教,所以一直没进步呢

作者: GAOZHONG    时间: 2011-4-8 11:22
你的函数我试下,多谢了。吃中饭了吧?

作者: GAOZHONG    时间: 2011-4-8 11:23
对代码我是一片空白
作者: kingdog    时间: 2011-4-14 19:33
先留个足迹




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