设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1874|回复: 5
打印 上一主题 下一主题

[宏/菜单/工具栏] 的自定义函数的问题,请高人指点下 谢谢

[复制链接]
跳转到指定楼层
1#
发表于 2013-1-26 12:08:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
access中想用下面的自定义函数把 错误值转换为0   却不成功。请高人看看 指点下。谢谢!)





Public Function delete_err(ma)
If IsNumeric(ma) = False Then
    delete_err = 0
   Else
    delete_err = ma
End If
End Function

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2013-1-26 13:05:12 | 只看该作者
  1. Public Function delete_err(m As Long, a As Currency) As Currency
  2.     If a = 0 Then
  3.         delete_err = 0
  4.     Else
  5.         delete_err = Nz(m) / a
  6.     End If
  7. End Function
复制代码
3#
发表于 2013-1-26 13:07:46 | 只看该作者
搞不懂你为什么要自定义函数,而且,金额=数量/单价(怎么回事)

如果要求金额,直接做个查询就行了。
  1. SELECT 表1.ID, 表1.数量, 表1.单价, [数量]*[单价] AS 金额
  2. FROM 表1;
复制代码
4#
 楼主| 发表于 2013-1-26 13:59:43 | 只看该作者
谢谢版主的指点,查询我是会的  只是想学习VBA  所以举了个例子  不过违法常规逻辑了  谢谢。

应为想模拟EXCEL的  ISERROR 函数对计算结果判断是否错误 之后用IF函数返回值


看来ACCESS不能搬用这个思路  谢谢
5#
发表于 2013-1-27 11:49:13 | 只看该作者
olderdream2007@ 发表于 2013-1-26 13:59
谢谢版主的指点,查询我是会的  只是想学习VBA  所以举了个例子  不过违法常规逻辑了  谢谢。

应为想模拟 ...

用IIF来做查询就好了:
  1. 01.SELECT 表1.ID, 表1.数量,单价, IIF(ISNUll(表1.数量),0,表1.数量), * IIF(ISNUll(表1.单价),0,表1.单价),  AS 金额
  2. 02.FROM 表1;
复制代码
当然,Nz([表1.数量],0)=IIF(ISNUll(表1.数量),0,表1.数量)。不过楼主想用类似于If的公式嘛,所以这里就用IIF来实现。
6#
 楼主| 发表于 2013-1-27 12:37:14 | 只看该作者
roych 发表于 2013-1-27 11:49
用IIF来做查询就好了:当然,Nz([表1.数量],0)=IIF(ISNUll(表1.数量),0,表1.数量)。不过楼主想用类似于If ...

谢谢版主的指点  我消化消化 呵呵  不懂再来请教各位高人
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-4 22:31 , Processed in 0.094002 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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