在MS Access 2007中使用SQL用户定义的函数

时间:2012-09-28 14:07:20

标签: sql sql-server-2008 ms-access-2007 access-vba user-defined-functions

我是Access的新手,需要一点帮助。 我正在使用SQL 2008 Server作为我的数据库进行MS Access 2007(在VB中)。

我想在Access的前端显示一个SQL表,但在Access 2007中使用SQL用户定义的函数和我的SQL查询时遇到了问题。我在Access的SQL查询设计中编写了这个函数和查询并尝试运行它..但显示错误(Userdefined“timepart”功能无法识别)!!

CREATE function  dbo.timepart (@date as SMALLDATETIME) 
RETURNS SMALLDATETIME 
AS 
BEGIN 
RETURN @date - DATEADD(d, DATEDIFF(d,0,@date), 0) 
END 

SELECT * FROM TABLENAME WHERE dbo.timepart(FIELDNAME) Between '9:30' AND '17:30';

我想MS Access不允许编写UDF SQL函数!我在我的本地SQL Server 2008数据库(SQL管理工作室)中尝试了相同的查询,并且工作得很好。

1 个答案:

答案 0 :(得分:1)

您应该创建pass-through查询。使用传递查询,代码在SQL Server上运行,结果将返回到MS Access。因此,您可以使用SQL Server T-SQL。

另外access-SQL pass-through query (creating SP) error

set up odbc