3

我对 Access 很陌生,在这里需要一些帮助。我正在使用 SQL 2008 Server 作为我的数据库来开发 MS Access 2007(在 VB 中)。

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

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 管理工作室)中尝试了同样的查询,并且运行良好。

4

1 回答 1

1

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

还有access-SQL 直通查询(创建 SP)错误

设置 odbc

于 2012-09-28T14:08:43.600 回答