Office中国论坛/Access中国论坛

标题: 请教:做了个去尾进一求整数的函数,为什么提示函数未定义 [打印本页]

作者: uiiv    时间: 2011-3-24 00:18
标题: 请教:做了个去尾进一求整数的函数,为什么提示函数未定义
在查询的时候提示:表达式中"Roundup"函数未定义

Public Function Roundup(x As Double)
    Roundup = Fix(x + 0.9999)
End Function
做的很粗糙
新手学习中……谢谢

作者: todaynew    时间: 2011-3-24 09:10
Public Function Roundup(x As Double) as long
    Roundup = int(x)-(x>int(x))
End Function

作者: uiiv    时间: 2011-3-24 12:45
谢谢版主指教
(x>int(x))的意思就是 如果x>int(x)返回1,否则返回0?
作者: uiiv    时间: 2011-3-24 12:54
在查询中使用函数还是提示:表达式中"Roundup"函数未定义
不知道什么情况

我重做了个
Public Function Roundup(x As Double) As Long
    If (x > Int(x)) Then
        Roundup = Int(x) + 1
    Else: Roundup = Int(x)
    End If
End Function

作者: koutx    时间: 2011-3-24 16:29
函数名与其所在模块名不能相同。
作者: uiiv    时间: 2011-3-24 18:57
回复 koutx 的帖子

成了 谢谢了
作者: godzhong    时间: 2011-3-24 21:00
这个案例很好啊
作者: todaynew    时间: 2011-3-25 11:20
uiiv 发表于 2011-3-24 12:45
谢谢版主指教
(x>int(x))的意思就是 如果x>int(x)返回1,否则返回0?

(x>int(x))为一个逻辑值,为真是等于-1,为假时等于0。利用逻辑值的特点,来构造向上取整表达式。




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