如何运用access中设置函数

如题所述

在access中,我们可以很方便地使用Function声明自定义函数(即过程),并在各处灵活引用它。

1. 先看一下access开发人员参考中关于声明函数的文档

声明 Function 过程的名称,参数以及构成其主体的代码。

语法

[Public | Private | Friend] [Static] 

Function name [(arglist)] [As type]

[statements]

[name = expression]

[Exit Function] 

[statements]

[name = expression]

End Function

Function 语句的语法包含下面部分:

部分描述

Public    

可选的。表示所有模块的所有其它过程都可访问这个 Function 过程。如果是在包含 

Option Private 的模块中使用,则这个过程在该工程外是不可使用的。    

Private    

可选的。表示只有包含其声明的模块的其它过程可以访问该 Function 过程。    


Friend    

可选的。只能在类模块中使用。表示该 Function 过程在整个工程中都是可见的,但对于对象实例的控制者是不可见的。    


Static    

可选的。表示在调用之间将保留 Function 过程的局部变量值。Static 属性对在该 Function 

外声明的变量不会产生影响,即使过程中也使用了这些变量。    

name    

必需的。Function 的名称;遵循标准的变量命名约定。    

arglist    

可选的。代表在调用时要传递给 Function 过程的参数变量列表。多个变量应用逗号隔开。    

type    

可选的。Function 过程的返回值的数据类型,可以是 Byte、 Boolean 、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String(除定长)、Object、Variant或任何用户定义类型。    

statements    

可选的。在 Function 过程中执行的任何语句组。    


expression    

可选的。Function 的返回值。    

其中的 arglist 参数的语法以及语法各个部分如下:


[Optional] [ByVal | ByRef] [ParamArray] 

varname[( )] [As type] [= 

defaultvalue]


部分描述

Optional    

可选的。表示参数不是必需的。如果使用了该选项,则 arglist 中的后续参数都必须是可选的,而且必须都使用 Optional 关键字声明。如果使用了 ParamArray,则任何参数都不能使用 Optional 声明。    

ByVal    

可选的。表示该参数按值传递。    

ByRef    

可选的。表示该参数按地址传递。ByRef 是 Visual Basic 的缺省选项。    

ParamArray    

可选的。只用于 arglist 的最后一个参数,指明最后这个参数是一个 Variant 元素的 Optional 数组。使用 ParamArray 关键字可以提供任意数目的参数。ParamArray 

关键字不能与 ByVal,ByRef,或 Optional 一起使用。    

varname    

必需的。代表参数的变量的名称;遵循标准的变量命名约定。    

type    

可选的。传递给该过程的参数的数据类型;可以是 Byte、Boolean、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String(只支持变长)、Object 或 Variant。如果参数不是 Optional,则也可以是用户定义类型,或对象类型。    

defaultvalue    

可选的。任何常数或常数表达式。只对于 Optional 参数时是合法的。如果类型为 Object,则显式缺省值只能是 Nothing。    

说明

如果没有使用 Public、Private 或 Friend 显式指定,则 Function 过程缺省为公用。如果没有使用 Static,则局部变量的值在调用之后不会保留。Friend 关键字只能在类模块中使用。但 Friend 过程可以被工程的任何模块中的过程访问。Friend 过程不会在其父类的类型库中出现,且 Friend 过程不能被后期绑定。

Function 过程可以是递归的;也就是说,该过程可以调用自己来完成某个特定的任务。不过,递归可能会导致堆栈上溢。通常 Static 关键字和递归的 Function 过程不在一起使用。

所有的可执行代码都必须属于某个过程。不能在另外的 Function、Sub 或 Property 过程中定义 Function 过程。

Exit Function 语句使执行立即从一个 Function 过程中退出。程序接着从调用该 Function 过程的语句之后的语句执行。在 Function 过程的任何位置都可以有 Exit Function 语句。

Function 过程与 Sub 过程的相似之处是: Function 过程是一个可以获取参数,执行一系列语句,以及改变其参数值的独立过程,而与子过程不同的是:当要使用该函数的返回值时,可以在表达式的右边使用 Function 过程,这与内部函数,诸如 Sqr、Cos 或 Chr 的使用方式一样。

在表达式中,可以通过使用函数名,并在其后用圆括号给出相应的参数列表来调用一个 Function 过程。

要从函数返回一个值,只需将该值赋给函数名。在过程的任意位置都可以出现这种赋值。如果没有对 name 赋值,则过程将返回一个缺省值:数值函数返回 0,字符串函数返回一个零长度字符串 (""),Variant 函数则返回 Empty。如果在返回对象引用的 Function 过程中没有将对象引用赋给 name (通过 Set),则函数返回 Nothing。


2. 接下来以示例来看使用方法

给一个名为 BinarySearch 的函数赋返回值。在这个示例中,将 False 赋给了该函数名,表示没有找到某个值。

Function BinarySearch(. . .) As Boolean

. . .

'值未找到,返回一个 False 值。

If lower > upper Then

BinarySearch = False

Exit Function

End If

. . .

End Function


3. 注意

在 Function 过程中使用的变量分为两类:一类是在过程内显式声明的,另一类则不是。在过程内显式声明的变量(使用 Dim 或等效方法)都是局部变量。对于那些没有在过程中显式声明的变量,除非它们在该过程外更高级别的位置有显示地声明,否则也是局部的。

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-08-08
C语言判断文件是否存在
用函数access,头文件是io.h,原型:

int access(const char *filename, int amode);

amode参数为0时表示检查文件的存在性,如果文件存在,返回0,不存在,返回-1。

这个函数还可以检查其它文件属性:

06 检查读写权限
04 检查读权限
02 检查写权限
01 检查执行权限
00 检查文件的存在性
在UNIX和VC下实验成功。
好处是 fopen(..,"r")不好,当无读权限时一不行了。
而这个就算这个文件没有读权限,也可以判断这个文件存在于否
存在返回0,不存在返回-1
#include <stdio.h>
int main()
{
printf ("%d",access("111",0));
}本回答被提问者采纳

access函数怎么用?
在表属性的有效性规则中输入[最低储备]<[最高储备]。在表的设计视图中的“效性规则”中写:>n and <n1。update table_name set 库存数量=xxxxx where 主键1=xxx and 主键2=xxxx

Access到底在哪里输入函数呢?
进入“表”的设计界面,点要输入日期的行的“数据类型”列对应的框内的下拉箭头,选择“日期\/时间”,然后左键点下方字段属性对话框中的“默认值”框最右边的省列号,在表达式生成器中左键双击“函数”-“内置函数”,点中间框内“日期\/时间”,左键双击最右边框内“DATE”,确定即可。

access函数大全及使用方法
1. 算术函数:Abs:返回数值表达式的绝对值。Int:返回小于或等于数值表达式的最大整数。Fix:返回大于或等于数值表达式的最小整数。Rnd:产生一个大于等于0且小于1的随机数。Round:对数值表达式1进行四舍五入,保留数值表达式2指定的小数位数。其他还有Sgn、Exp、Log、Sqr以及三角函数Sin、Cos、Tan等。2...

如何在access中使用excel的vlookup函数功能?
因此在access中的使用方法为:1.、点击:创建-查询设计。2、选择所需的表(或查询),点击添加。3、设置联接关系。比如该案例中以批号为公共字段。方法为按住生产表中的批号,拖曳至检验表中的批号。4、选择联接属性中的,包括“生产”中的所有记录。5、选择所需的字段。直接双击所需字段即可。6、结...

access函数大全及使用方法
Access数据库中的函数种类繁多,包括算术函数(如Abs、Fix、Int等)、文本函数(如Format、InStr、Len等)、SQL聚合函数(如Avg、Count、Max、Min等)、日期\/时间函数(如DateAdd、DateDiff、Now等)、转换函数(如Str、Val、CDate等)、判断检查函数(如IsError、IsNull等)、程序流程函数(如Choose、IIF...

在ACCESS里怎么实现VLOOKUP功能。
1、首先,打开ACCESS,单击查询设计,如下图所示,然后进入下一步。2、其次,选择所需的表(或查询),然后单击添加,如下图所示,然后进入下一步。3、接着,建立连接。 例如,在这种情况下,批号是公共字段。 方法是在生产表中按住批号并将其拖到检验表中的批号,如下图所示,然后进入下一步。4...

access函数Access数据库中的函数
在Access数据库中,内置函数提供了大量的功能,如数据筛选、文本处理、数学运算、日期与时间处理等,极大方便了数据操作与查询。例如,可以使用Count函数统计特定条件下的记录数量,使用Sum函数计算数值字段的总和,或是使用Vlookup函数实现表格间的数据查找与匹配。对于需要更高级功能的用户,自定义函数的使用则...

access 数据库建表时如何给字段定义公式
在构建 Access 数据库表时,若字段设定为非数字形式,需在代码中转换为数字形式以进行计算或比较等操作。使用的关键函数包括 int、cint 和 csng,根据具体需求选择适当函数。如有疑问,欢迎提问。Access 数据库中,当字段设定为非数字形式(如文本或日期时间类型)时,进行数学运算或与数字值比较时,需先...

access中的left函数怎么编写?
Left([学号],4) 返回的结果是: "学号" 字段的前4个字符, 你要把它赋值给一个查询字段 "年级", 那就要看你的"学号" 是什么样的格式了, 前4个字符是否与年级相符. 另外, 如果你的年级属性是数字型, 那就需要转换了, 如: val(Left([学号],4))...

access函数大全及使用方法
1. **算术函数**:如Abs()计算绝对值,Fix()和Int()用于取整(注意两者对负数的处理不同),Round()实现四舍五入等。这些函数直接对数值表达式进行操作,满足基本的数学计算需求。2. **SQL聚合函数**:包括Avg()计算平均值,Count()统计记录数,Max()和Min()分别求最大值和最小值,Sum()求和...

相似回答