Access (VBA)

Access VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Home : Access 2007)
レコードの日付での抽出と並び替え
投稿日時: 19/07/25 18:13:03
投稿者: こも

フォームより入力された西暦年に/4/1を追加し、それ以降の入出金日のレコードを、それを元にソートして取り出したいのですが、次のエラーになります。
 
実行時エラー‘3075’;
クエリー‘入出金日>=#/4/1’の日付の構文エラーです。
 
モジュールは次のような記述です。myDateとmyCyearはStringの定義です.
 
myDate = Cyear + "/4/1"
     
mySQL = "select * from tbl出納帳 where 入出金日 >= #" & myDate & "# order by 入出金日;"
Set myRS = myDB.OpenRecordset(mySQL, dbOpenDynaset)
 
宜しくお願いいたします。

回答
投稿日時: 19/07/25 18:19:49
投稿者: sk

引用:
myDateとmyCyearはStringの定義

引用:
myDate = Cyear + "/4/1"

そのプロシージャが記述されているモジュールの先頭に
Option Explicit ステートメントを記述なされば
原因がはっきりするのではないでしょうか。

投稿日時: 19/07/27 15:28:14
投稿者: こも

option explicitを追加すると構文エラーは出なくなりましたが、次のようなエラーとなります。
 
コンパイル エラー
変数が定義されていません
 
次のステートメントの「xlapp =」の部分が青く反転表示されています。
 
Set xlapp = CreateObject("Excel.Application")
xlapp.Visible = False
Set wkb = xlapp.Workbooks.Open("c:\区費出納帳.xlsx")
 
宜しくお願いいたします。

投稿日時: 19/07/27 16:15:04
投稿者: こも

前にお聞きしたSQLでの構文エラーは最後の;が余分でした。
そして今回のコンパイル エラーは
option explicitを止めてでなくなりました。
いろいろありがとうございました。