前提・実現したいこと
ExcelVBAでADOを用いてSQLServer上のストアドにパラメータを渡してを実行し、実行結果をExcelのシートに貼り付けようとしています。
発生している問題・エラーメッセージ
パラメータに日付を指定しており、開始日と終了日を渡しています。 その際、開始日と終了日が同じ場合うまく動作しません。
該当のソースコード
・ストアドのパラメータ設定部分 @pRecordDateStart date, @pRecordDateEnd date ・ストアド内SQLでパラメータを用いている部分 where ( (a.RecordDate >= @pRecordDateStart) OR(@pRecordDateStart = '') OR(@pRecordDateStart IS NULL) ) AND ( (a.RecordDate <= @pRecordDateEnd) OR(@pRecordDateEnd = '') OR(@pRecordDateEnd IS NULL) ) VBA内のパラメータ設定部分 Dim objParameter As ADODB.Parameter '1個目の引数:date Set objParameter = objCommand.CreateParameter() objParameter.Name = "pRecordDateStart" '引数の名前 objParameter.Type = adDate '日付型 objParameter.Direction = adParamInput '入力パラメータ objParameter.Value = Range("B12").Value '渡す値 objCommand.Parameters.Append objParameter '2個目の引数:date Set objParameter = objCommand.CreateParameter() objParameter.Name = "pRecordDateEnd" '引数の名前 objParameter.Type = adDate '日付型 objParameter.Direction = adParamInput '入力パラメータ objParameter.Value = Range("C12").Value '渡す値 objCommand.Parameters.Append objParamete
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
エラーメッセージなどは表示されません。
正常に動作している扱いのようです。
回答1件
あなたの回答
tips
プレビュー