Access 2003完整教程:使用用户定义的函数

关于 SQL Server 联机丛书和 Transact-SQL 参考信息

Microsoft Access 文档在其“帮助”系统中讲述了如何使用和设计与 Microsoft SQL Server 数据库连接的Microsoft Access 项目。不过,您也可能遇到一些专门的产品问题,需要使用有关 SQL Server 的附加信息,如有关 Transact-SQL 或 SQL Server 企业管理器的参考信息。

访问 SQL Server 联机丛书和 Transact SQL 参考信息

Microsoft SQL Server 的主要信息源是 SQL Server 联机丛书。如果您有权访问本地或远程计算机上的 SQL Server 2000,则通过“开始”菜单即可访问 SQL Server 联机丛书。但是,如果您不具有访问 SQL Server 联机丛书的权限,则也可以通过 SQL Server 联机丛书下载网页下载该丛书。

SQL Server 文档概述

SQL Server 文档中包含下列信息:

项目说明
SQL Server 联机丛书包含有关 SQL Server 2000 的综合信息,包括:
  • 概念性信息。
  • 常规指导。
  • 有关 Transact-SQL 语法的参考信息。
  • 有关 SQL Server 错误消息、编号以及恢复操作的参考信息。
  • 常规编程参考。
企业版管理器帮助关于管理 SQL Server 数据库的帮助信息。
复制向导关于配置并管理复制的帮助信息。
客户配置实用程序帮助关于管理 SQL Server 网络连接选项的帮助信息
ODBC 驱动程序帮助关于创建 SQL Server ODBC 数据源定义的帮助信息。
配置文件帮助关于在跟踪文件中捕获 SQL Server 事件用于分析和重新运行的帮助信息。
查询分析器帮助关于用于交互设计和测试 Transact-SQL 语句、批处理和脚本的图形化用户界面的帮助信息。
数据传输服务 (DTS) 设计器帮助关于导入、导出和传输各种数据源的帮助信息。
SQL 分布式管理对象 (SQL-DMO)SQL-DMO 对象、属性和方法的开发环境中可使用的上下文相关的帮助信息。
Pubs 示例数据库传统 SQL Server 示例数据库。
罗斯文 SQL 示例数据库与 Access 罗斯文示例数据库类似的示例数据库,含有具体的 SQL Server 示例。

关于用户定义的函数

将 Microsoft Access 项目连接到 Microsoft SQL Server 2000 数据库时,可以创建和使用用户定义函数。下面的示例说明用户定义函数 ListCust,该函数接受已命名参数并返回表,并用于 SELECT 语句的 FROM 子句中。

SELECT * FROM ListCust(@[Enter a Name])

用户定义函数的概述

用户定义函数是一个查询,对用户定义函数,可以像视图或存储过程一样:

用户定义函数将视图和存储过程的最佳功能合并到一个查询中,在该查询中可以嵌套、向其传递参数、排序并返回值。因为用户定义函数可以返回数据或标量值的单个表,还可隐藏该数据或标量值的创建方式的商务逻辑和细节,并且可简化 SQL 语句语法,因此在很多情况下,建议使用用户定义函数来代替视图和存储过程。

有关用户定义函数的详细信息和示例,请参阅 SQL Server 文档。

三种类型的用户定义函数

根据返回值的类型的不同,每个用户定义函数可以分为下列三种类型之一:

内嵌用户定义函数?包含单个 SELECT 语句并返回数据的可更新表。可以在查询的 FROM 子句中使用该函数。使用“查询设计器”可以以图形方式创建和编辑内嵌用户定义函数。也可以定义扩展属性。

表用户定义函数?包含一个或多个 SELECT 语句并返回数据的不可更新表。可以在查询的 FROM 子句中使用该函数。使用“SQL 文本编辑器”可创建和编辑表用户定义函数,甚至还可使用“查询生成器”在表用户定义函数中以图形方式编辑 SQL SELECT 语句。但是,您无法定义扩展属性。

标量用户定义函数包含一个或多个 SELECT 语句并返回标量值,如intdecimalvarcharsql_variant或“表”数据类型。可在任何使用列名称的查询中使用标量函数。使用“SQL 文本编辑器”可创建和编辑标量用户定义函数,甚至还可使用“查询生成器”在标量用户定义函数中以图形方式编辑 SQL SELECT 语句。但无法定义扩展属性。

创建用户定义的函数

创建嵌入的用户定义函数

  1. 在“数据库”窗口中,单击“对象”下的“查询”,然后单击“新建”。
  2. 在“新建查询”对话框中,选择“设计嵌入函数”。
  3. 在“查询设计器”的“图表”和“网格”窗格中,设计嵌入的用户定义函数。
  4. 单击工具栏上的“保存”
  5. 在“另存为”对话框中,输入符合 Microsoft Access 对象命名规则的名称。

    Microsoft Access 将该嵌入用户定义函数添加到“数据库”窗口中“对象”下的“查询”

创建表用户定义函数

  1. 在“数据库”窗口中,单击“对象”下的“查询”,然后单击“新建”。
  2. 在“新建查询”对话框中,选择“创建文本表值函数”。

    Access 将显示 SQL 文本编辑器,并包含下列框架 SQL 语法:

    CREATE FUNCTION "Function1"
        (
        /*
        @parameter1 datatype = default value,
        @parameter2 datatype
        */
        )
    RETURNS /* @table_variable TABLE (column1 datatype, column2 datatype) */
    AS
        BEGIN
            /* INSERT INTO @table_variable
                sql select statement */
            /* alternative sql statement or statements */
        RETURN
        END
    

    用 Transact-SQL 编写表用户定义函数。有关 Transact-SQL 的详细信息,请参阅 Microsoft SQL Server 文档。

  3. 在“另存为”对话框中,输入一个符合 Microsoft Access 对象命名规则的名称。

    Microsoft Access 会将表用户定义函数添加到“数据库”窗口中“对象”下的“查询”

注释可以使用“查询生成器”,以图表的形式编辑表用户函数中的 SQL SELECT 语句。

创建标量用户定义函数

  1. 在“数据库”窗口中,单击“对象”下的“查询”按钮图像,然后“新建”。
  2. 在“新建查询”对话框中,选择“创建文本标量函数”。

    Access 将显示 SQL 文本编辑器,并包含下列框架 SQL 语法:

    CREATE FUNCTION "Function1"
        (
        /*
        @parameter1 datatype = default value,
        @parameter2 datatype
        */
        )
    RETURNS /* datatype */
    AS
        BEGIN
            /* sql statement ... */
        RETURN /* value */
        END
    

    用 Transact-SQL 编写表用户定义函数。有关 Transact-SQL 的详细信息,请参阅 Microsoft SQL Server 文档。

  3. 在“另存为”对话框中,输入一个符合 Microsoft Access 对象命名规则的名称。

    Microsoft Access 会将标量用户定义函数添加到“数据库”窗口中“对象”下的“查询”

注释可以使用“查询生成器”,以图表的形式编辑标量用户定义函数中的 SQL SELECT 语句。

注释不能将用户定义函数用作数据访问页的记录源。

上页:Access 2003完整教程:使用触发器 下页:Access 2003完整教程:向输入法编辑器 (IME) 字典中添加字词

Access 2003完整教程:使用用户定义的函数

Access 2003完整教程:向输入法编辑器 (IME) 字典中添加字词Access 2003完整教程:向查询添加列
Access 2003完整教程:在自定义字典中添加或删除朝鲜文字Access 2003完整教程:Microsoft Access 项目设计器中的对话框帮助汇总
Access 2003完整教程:Microsoft Access 项目中的扩展属性汇总Access 2003完整教程:在筛选字段中允许多个选定内容
Access 2003完整教程:关于在数据访问页中保存密码Access 2003完整教程:应用筛选
Access 2003完整教程:在数据透视表视图中自动显示项目或明细Access 2003完整教程:备份和还原 Access 文件
Access 2003完整教程:更改超链接Access 2003完整教程:更改在窗体或报表的图表中的数据
Access 2003完整教程:更改窗体或报表中的图表的外观Access 2003完整教程:将数据透视图视图从系列更改为类别,或从类别更改为系列
Access 2003完整教程:更改计算控件的聚合函数Access 2003完整教程:更改默认文件格式
Access 2003完整教程:循环引用Access 2003完整教程:Microsoft 下载中心
Access 2003完整教程:关于在电子邮件中发送数据访问页Access 2003完整教程:关于转换保存为 ANSI 字符文本文件的报表
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号