查询综合应用
Access在查询中使用公共函数
2017-06-29 17:57:39

有这样的一个问题,就是要把表中的数据在查询中分列数据源如下所示:字段名【FTest】数据如下:0.3*0.40.5*0.20.1*21*0.25想要在查询中分成两列,分别是乘数和被乘数当时,相对两种方法:1、用instr定位"*"号,然后在用left,mid,right字符串函数截取2、用split分列函数分列第1种方法轻松搞定。但书写略过麻烦。于是,我就试试第2种,用split函数在查询设计界面试着写表达式,结果尽然提示split未定义。看来查询不支持split,得另谋它路。此时,灵光一闪,查询可以使用公共函数。

Public Function funcSplit(str As String, strChar As String, intIndex)

'Split是一个分列函数,根据strChar作为分列标准,分列。再通过索引返回对应的值

'例如:0.3*0.4,要获取第二个数字。则,split("0.3*0.4","*")(1)

  funcSplit = Split(str, strChar)(intIndex)

End Function

再查询中调用一下,能够得到想要的效果。这么一来。一些查询数据处理可以通过调用公共函数来完成。不过速度如何。如果查询用域聚合函数,公共函数用记录集处理,公共函数速度快如果查询用域聚合函数,公共函数用域聚合函数,速度一样如果查询用简单计算,公共函数用简单计算,速度几乎一样同等情况,公共函数的方法略优。而且易读易修改下面是这次的实例:查询设计——调用公共函数

查询效果