设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[模块/函数] 调用自定义函数的查询和其窗体

[复制链接]
跳转到指定楼层
1#
发表于 2012-5-20 20:37:15 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 koutx 于 2012-5-20 20:38 编辑

调用自定义函数的查询和其窗体体时出现诸多问题,请坛友们帮忙出出主意。问题在样库窗体上有说明


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
17#
 楼主| 发表于 2012-5-23 17:44:47 | 只看该作者
只要第一个Msgbox,我运行查询却返回:1,1,2,2,3,1,1,2,2,3
不知为什么?
16#
发表于 2012-5-22 22:09:49 | 只看该作者
koutx 发表于 2012-5-22 09:55
但是第一个问题还是弄不清是啥原因,如何解决,还请二版主帮忙诊断一下。
在try查询中调用模块1中的自定义 ...

循环并没有增加到。
1、第一个Msgbox属于初始值, idh自然对应每一个ID,分别返回1,1,2,2,3。
2、第二个Msgbox属于执行语句后的值,返回的是1,2。
3、如果这两行代码都运行的话,那么返回值当然是交叉出现的了。于是便有:
1,1(第一个Msgbox),1(第二个Msgbox)
2,2(第二个SQL语句对应的第一个Msgbox),2(第二个SQL语句对应的第二个Msgbox)
3(第二个SQL语句对应的第一个Msgbox),空值(不符合条件,执行Else部分)。
我向来是个啰嗦分子,不知道这次讲清楚了没有。
15#
发表于 2012-5-22 21:26:45 | 只看该作者
关注ing
14#
 楼主| 发表于 2012-5-22 09:55:43 | 只看该作者
但是第一个问题还是弄不清是啥原因,如何解决,还请二版主帮忙诊断一下。
在try查询中调用模块1中的自定义函数etu(),为什么打开try查询时要多一轮循环(将模块中的Msgbox idh取消注释即可发现)?

附上已修改好使用生成表查询的样库,供参考,窗体筛选、取消筛选、及打印预览时的问题都已解决了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
13#
 楼主| 发表于 2012-5-22 09:35:49 | 只看该作者
本帖最后由 koutx 于 2012-5-22 09:36 编辑

谢谢两位版主的帮忙,Roych版主给出了一个很好的方法,只是我实际的应用中不象上传样库这么简单,作为表4的对象是一个经过几层查询而得出的查询,中间字段还进行了分组或总计,即便再通过原表改造增加自动编号字段,最终的查询中也不可能再带有自动编号了。而试用在查询时自动生成编号(当然也是通过自定义函数),也行不通。因此万不情愿还是采用生成临时表的方法了。再次感谢。
12#
发表于 2012-5-21 21:08:24 | 只看该作者
本帖最后由 roych 于 2012-5-21 21:38 编辑
koutx 发表于 2012-5-21 19:57
Roych版主能否再深入一些讲,另外,我怎么找不到您说的“查询结果”呢


里面不是有个查询的名称叫“查询结果”吗?{:soso_e127:} 奇怪,之前的附件貌似没更新~~现在楼主可以去下载看看了。
11#
 楼主| 发表于 2012-5-21 19:57:51 | 只看该作者
roych 发表于 2012-5-21 17:37
太复杂了。其实表字段建立好的话,不必写那么复杂的代码的。详见附件的“查询结果”。增加一个自动编号字段 ...

Roych版主能否再深入一些讲,另外,我怎么找不到您说的“查询结果”呢
10#
 楼主| 发表于 2012-5-21 17:43:30 | 只看该作者
还是不行啊,版主将下句
03.Function etu(ByVal idh As Integer) As Currency
中的Variant类型改为货币型后,也不能解决我在样库窗体中注明的问题:
1、窗体右键筛选及取消筛选时,实交数字混乱
2,偶尔筛选后即便实交数字不混乱,可一打印预览实交数就没有了。
麻烦版主下载我在一楼的样库试一下,真不知内中的机理到底是什么?
9#
发表于 2012-5-21 17:37:44 | 只看该作者
本帖最后由 roych 于 2012-5-21 21:37 编辑

太复杂了。其实表字段建立好的话,不必写那么复杂的代码的。详见附件的“查询结果”。增加一个自动编号字段,然后利用最小值(Min)即可处理。——此外,也可以用DMin来完成。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-20 22:48 , Processed in 0.096952 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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