Office中国论坛/Access中国论坛

标题: 如何获取一个查询的字段数量 [打印本页]

作者: l3396949    时间: 2012-12-13 09:04
标题: 如何获取一个查询的字段数量
如题,生成一个字段数量可以变化的查询。如何实时获取这个查询的字段数量呢?{:soso_e102:}
作者: l3396949    时间: 2012-12-13 09:15
速度来人帮忙解决工~~{:soso_e162:}
作者: todaynew    时间: 2012-12-13 09:33
方法很多,问题在于获得后干什么用,针对不同的用处采取不同的方法。
作者: l3396949    时间: 2012-12-13 09:37
todaynew 发表于 2012-12-13 09:33
方法很多,问题在于获得后干什么用,针对不同的用处采取不同的方法。

我想根据这个查询,生成一个xls文件~
需要一个函数,函数的参数要用到字段数量~
因为这个查询的字段数量是变化的,所以参数要用变量~
作者: todaynew    时间: 2012-12-13 09:39
l3396949 发表于 2012-12-13 09:37
我想根据这个查询,生成一个xls文件~
需要一个函数,函数的参数要用到字段数量~
因为这个查询的字段数量 ...

用ado导出到excel表?
作者: tmtony    时间: 2012-12-13 09:40
取querydefs("查询名").sql 然后判断 符号 . 后面的 可能是字段,然后用split函数拆分,取个数
如果更复杂的,可能要用正则表达式
作者: l3396949    时间: 2012-12-13 09:47
todaynew 发表于 2012-12-13 09:39
用ado导出到excel表?

不是,调用一个函数,没有用到ado~
函数中有个参数,与查询字段数量一致
作者: l3396949    时间: 2012-12-13 09:48
tmtony 发表于 2012-12-13 09:40
取querydefs("查询名").sql 然后判断 符号 . 后面的 可能是字段,然后用split函数拆分,取个数
如果更复杂的 ...

这么复杂啊? 我先看看split函数怎么用的~ 还有querydefs的用法~
作者: todaynew    时间: 2012-12-13 09:53
l3396949 发表于 2012-12-13 09:48
这么复杂啊? 我先看看split函数怎么用的~ 还有querydefs的用法~

呵呵,有一个最简单的方法。想不想知道?
作者: 咱家是猫    时间: 2012-12-13 09:56
用Rs打开 然后取Rs.Fields.Count
作者: l3396949    时间: 2012-12-13 10:01
todaynew 发表于 2012-12-13 09:53
呵呵,有一个最简单的方法。想不想知道?

当然想啊啊  我晕
作者: l3396949    时间: 2012-12-13 10:01
咱家是猫 发表于 2012-12-13 09:56
用Rs打开 然后取Rs.Fields.Count

Rs打开?
这个是什么概念,大概说下  我去查查~
作者: todaynew    时间: 2012-12-13 10:02
咱家是猫 发表于 2012-12-13 09:56
用Rs打开 然后取Rs.Fields.Count

不必如此复杂。

在窗体上放一个组合框或者列表框,将其行来源设置为查询的名称(sql语句也可以),将其行来源类型设置为字段列表。然后取该组合框或者列表框的ListCount属性即可。
作者: todaynew    时间: 2012-12-13 10:03
本帖最后由 todaynew 于 2012-12-13 10:06 编辑
l3396949 发表于 2012-12-13 10:01
当然想啊啊  我晕

看13楼的解答即可。

这是利用控件属性取字段名称和字段数量的一个简便方法。在什么都不懂的时候就用这个方法可以搞定。



作者: tmtony    时间: 2012-12-13 10:06
嗯,如果不需要字段的组成公式.
家猫的办法 最简便.
作者: l3396949    时间: 2012-12-13 10:07
todaynew 发表于 2012-12-13 10:03
看13楼的解答即可。

聪明,不错~ 我先试试~  这个方法算是比较歪哦~  需要多调用2次,外加一个组合框设置~
作者: l3396949    时间: 2012-12-13 10:09
tmtony 发表于 2012-12-13 10:06
嗯,如果不需要字段的组成公式.
家猫的办法 最简便.

嗯,看的出来,问题是我不太理解rs是什么~
作者: tmtony    时间: 2012-12-13 10:14
set rs=currentdb.OpenRecordset("查询名")
作者: tmtony    时间: 2012-12-13 10:15
前面加个dim rs as dao.recordset
如有错,要引用Dao对象
作者: l3396949    时间: 2012-12-13 10:17
tmtony 发表于 2012-12-13 10:15
前面加个dim rs as dao.recordset
如有错,要引用Dao对象

好  我试试





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