3

私はAccessを初めて使用するので、ここで少し助けが必要です。私はデータベースとしてSQL2008Serverを使用してMSAccess2007(VB)で作業していました。

AccessのフロントエンドにSQLテーブルを表示したかったのですが、Access 2007のSQLクエリでSQLユーザー定義関数を使用しているときに問題が発生しました。この関数とクエリをAccessのSQLクエリデザインで記述し、実行しようとしました。しかし、その表示エラー(ユーザー定義の「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';

MSAccessではUDFSQL関数を記述できないと思います。ローカルのSQLServer2008データベース(SQL Management Studio)でこれと同じクエリを試しましたが、完全に正常に機能しています。

4

1 に答える 1

1

パススルークエリを作成する必要があります。パススルークエリを使用すると、コードはSQL Serverで実行され、結果がMSAccessに返されます。したがって、SQLServerT-SQLを使用できます。

また、access-SQLパススルークエリ(SPの作成)エラー

odbcを設定します

于 2012-09-28T14:08:43.600 に答える