SQL実行するVBAを開発中なのですが、詰まってしまい困っております。皆様のお知恵をお教え頂ければ幸いです。
■やっていること
Excel上に、社員IDと入社日の項目を作って、VBAでセルの社員IDを取得し、それをSQLのWHERE文の条件に入れて
データベースにアクセスし、入社日を取得するVBAを開発中です。
For文で1行づつ社員IDを取得し、SQLを発行し入社日を取得するという流れです。
|NO|社員ID|入社日|
|1|111111||
|2|222222||
|3|333333||
|4|444444||
VBA
1Dim Rs As New ADODB.Recordset 2MaxRow = Range("C2")End(xlDown).Row 3 4For intGetPosition = 3 To MaxRow 5 intGetEmpID = Cells(intGetPosition, 3).value 6 strSQL = "Select 入社日 FROM 社員テーブル WHERE 社員ID =" & intGetEmpID 7 8 Rs.Open strSQL, cn 9 10 ActiveSheet.Cells(intGetRowPosition, 5).CopyFromRecordset Rs 11 12Next intGetRowPosition
■困っていること
VBAを実行したときに1行目の111111を取得しSQLのWHERE以降に追記し、データを取得し入社日セルに張付けることが出来るのですが2行目の222222を取得しSQLのWHERE以降に追記し実行することが出来ません。
エラーは 3705)オブジェクトが開いている場合は操作は許可されません。。。というエラーが出ています。
■やりたいこと
2行目以降の社員IDを取得してSQLのWHERE文に追記し、実行することでExcelの入社日に張付けるということをしたいと考えております。
ご教授頂ければ幸甚です。
回答1件
あなたの回答
tips
プレビュー