Access (VBA)

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

 
(Windows 7 Professional : Access 2013)
テーブルの値を取りたい
投稿日時: 20/02/04 11:10:37
投稿者: にーさん

お世話になります、困っているので助けてください
 
テーブル(1-消費税マスタ)リンクしています。
フィールド名  データ型
処理日付    日付/時刻型(yyyy/mm/dd)
消費税率    数値型(長整数型)
 
テーブル(2-商品企画データ)
フィールド名  データ型
企画a@    オートナンバー
記入日付    日付/時刻型(yyyy/mm/dd)
税率      数値型(長整数型)
等々
 
画面(フォーム)で
記入日付を入力すると、その時の消費税率を(1-消費税マスタ)から
読み込み、フォームの税率に表示させたいのですができません
 
フォームの記入日付の「更新後処理」に「イベントプロシージャ」をセットして
Private Sub 記入日付_AfterUpdate()
 
    Dim SQL As String
     
    SQL = "Select 消費税率 From 1-消費税マスタ Where 処理日付 = ("
    SQL = SQL & "Select Max(処理日付) "
    SQL = SQL & "From 1-消費税マスタ "
    SQL = SQL & "Where 1-消費税マスタ.処理日付 <= CDate('" & Me.記入日付 & "'))"
     
    Dim iTax As Integer
    iTax = Nz(CurrentProject.Connection.Execute(SQL)(0))
    Me.税率 = iTax
 
End Sub
 
記入日付に日付を入力して、Enterを押すと
実行時エラー '-2147217900(80040e14)'
FORM句の構文エラーです。
【終了】【デバッグ】【ヘルプ】
の画面が表れて、【デバッグ】をクリアすると
    iTax = Nz(CurrentProject.Connection.Execute(SQL)(0))
こちらの部分(↑)が黄色く塗りつぶされています。
 
何がいけないのでしょうか?
 
よろしくお願いいたします。

回答
投稿日時: 20/02/04 12:33:17
投稿者: よろずや

テーブル名が不適当です。[]で囲んでみましょう。
 
 
    SQL = "Select 消費税率 From [1-消費税マスタ] Where 処理日付 = ("
    SQL = SQL & "Select Max(処理日付) "
    SQL = SQL & "From [1-消費税マスタ] "
    SQL = SQL & "Where [1-消費税マスタ].処理日付 <= CDate('" & Me.記入日付 & "'))"
     

投稿日時: 20/02/04 13:22:19
投稿者: にーさん

よろずやさん、早速の返信ありがとうございました。
 
出来ました、それだけだったのですね(^_^;)
1週間以上悩んでいました(/_;)
ネットで調べても分からず困っていたのがウソのようです
本当にありがとうございました。
 
また分からない時はよろしくお願いします
 

よろずや さんの引用:
テーブル名が不適当です。[]で囲んでみましょう。
 
 
    SQL = "Select 消費税率 From [1-消費税マスタ] Where 処理日付 = ("
    SQL = SQL & "Select Max(処理日付) "
    SQL = SQL & "From [1-消費税マスタ] "
    SQL = SQL & "Where [1-消費税マスタ].処理日付 <= CDate('" & Me.記入日付 & "'))"