VBA の組み込み SQL を使用して SQL データベースにアクセスしようとしています。問題は、アクセスしたいものの条件を定義することです(ID > @Identifie
問題の原因となっている部分です)。コードを実行すると、 Must declare the scalar variable が表示されます@Identifie
。ただし、ローカル ウィンドウに移動すると、@Identify が正しく宣言され、セル K6 に割り当てた値が含まれています。@Identifie
さらに、条件 ( ) を特定の値に置き換えるとID > @Identifie
、コードは完全に実行されるため、他のエラーは発生しません。私の問題はappendメソッドにあるようですが、何が間違っているのかわかりません。
これが私のコードです:
(この投稿では接続文字列を削除しましたが、これは明らかに問題ではありません):
Option Explicit
Option Base 1
Sub LoadData()
Application.ScreenUpdating = False
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim cmd As New ADODB.Command
Dim lastID As Double
Dim parametre As New ADODB.Parameter
Dim Last_total_ID As Double
Last_total_ID = ActiveWorkbook.Worksheets("Consolidated").Range("K6").Value
cn.ConnectionString = ""
cn.Open
Set parametre = cmd.CreateParameter(Name:="@Identifie", Type:=adDouble, Direction:=adParamInput)
parametre.Value = Last_total_ID
cmd.Parameters.Append parametre
cmd.ActiveConnection = cn
cmd.CommandText = "Select ID, Issuer,LaunchDate,SettleDate,CADAmount,Description,Price,Currency, Maturity,IssuerID, Coupon FROM dbo.tblHistoricalIssuanceStats WHERE (IsProvy = 1) AND (ID > @Identifie)"
Set rs = cmd.Execute