
SQL EXCEL VBA 接続
Sub b()
'オブジェクト変数の宣言
Dim rstTMP As ADODB.Recordset ユーザ定義型宣言されていません。
とエラーになります。
Dim cmd As New ADODB.Command
'SQL接続
' 接続文とその他処理を記述
conStr = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Extended Properties=Excel 8.0;" & _
"Data Source=" & FileName
上はコピーしてそのまま使用しています。
myCon.Open conStr
'SQLコマンド作成
With cmd
.CommandText = "Select * From テーブル名"
.CommandType = adCmdText
End With
'SQL文実行/レコードセット取得
Set rstTMP = cmd.Execute
End Sub
やりたいこと
1.エクセルのデータ Ver.2016 ファイル bookdata1
抽出先ファイル bookdata2
とにかく接続して抽出したい
抽出したい
助けてください。
上記のこーどはいろんなサイト・このサイトに質問などしてやっています。
コードは標準モジュールに書いています。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
あとは、エクセルのバージョン(8.0って、excel97のこと?)とドライバをあわせないとだめかな?
https://ja.wikipedia.org/wiki/Microsoft_Excel
jetダメだったら、ACEとか。
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & FileName & ";"
とか。
サンプルになるコードを見つける際には、エクセルのバージョンも併せて検索するとよいですよ。
Sub Excelに接続()
Dim myCon As New ADODB.Connection, FileName As String
Dim conStr As String
'接続先のExcelファイル
FileName = "C:\Users\.....\Desktop\DataBook.xlsx"
'接続文字列
conStr = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Extended Properties=Excel 8.0;" & _
"Data Source=" & FileName
'接続
myCon.Open conStr
MsgBox "Excelブックに接続完了!"
'接続を解除し、オブジェクトをクリア
myCon.Close: Set myCon = Nothing
End Sub
接続成功です。有難うござました。
明日からSQL文をやります
本かってあるのでうれしいです。
つかれたが
No.3
- 回答日時:
そうだね。
フルパスで書くと変なことになりにくい。 前の行に
filename = "C:\Users\...\sample.xls”
などとしてもよい。
あと、SQLの”テーブル名”とかも実際のものに直さないとね。
No.1
- 回答日時:
アクティブxの参照設定にチェックを入れるのが楽です。
https://msdn.microsoft.com/ja-jp/library/cc36407 …
そうでない場合は、createobjectでできます。
https://ateitexe.com/vba-ado-not-reference/
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLServer2000へのリモート接続...
-
AccessからODBC経由でのSQLServ...
-
Oracle8i
-
SQLで同じDBに対し2つのコネク...
-
ACCESS2007OFFICEボタン開発者...
-
SQL2000Serverにアクセスするの...
-
ACCESSをWEB上で使用する
-
PL/SQLのコンパイル
-
SQL Server時間切れについて
-
SQL-Loaderが動かないです。
-
ストアドプロシージャの実行に...
-
AccessのDAO.ExecuteとDoCmd.Ru...
-
ノートパソコンのHDDを同機種へ...
-
SQLServerへのOpen命令でのエラー
-
configure: error: Berkeley DB...
-
ACCESS ADOでupdateが効かない
-
mdfに通信できません
-
4K Video Downloaderのライセン...
-
JAVA ServletでSQL Serverに接...
-
アクションクエリが実行できない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
drop user できない。ORA-01940
-
ACCESSからのODBC接続のみ応答...
-
SQL Serverの移行について
-
Access から SQLserver に接続...
-
SQLで同じDBに対し2つのコネク...
-
DB接続ができなくなって困って...
-
ODBCドライバの再インストール方法
-
OLE DBプロバイダを使ってADOで...
-
SQLServer認証とWIndows認証
-
SQLServerの接続が突然できなく...
-
データベースへ接続できない
-
SQLServer2000へのリモート接続...
-
クライアントでの処理が遅い
-
ASP.NET(C#)からの接続方法
-
ACCESSからSQLServerのデータを...
-
SQLサーバに対してのバッチファ...
-
ホスティングサーバ上のMySQLへ...
-
SQLServer,接続失敗時のエラー...
-
mdbに接続できません
-
LINUXからMS SQL Serverに接続...
おすすめ情報
アクティブxの参照設定にチェックを入れました。
myCon.Open conStr黄色に反転
オブジェクトが必要です。となりました。
どういうことでしょぅか。
FileName もしかしてここに元になる
ファイル名を書くのでしょうか
'SQL接続
' 接続文とその他処理を記述
conStr = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Extended Properties=Excel 8.0;" & _
"Data Source= "C:\Users\......\Desktop\新しいフォルダー (2).\DataBook.xlsx”
....は自分の名前なので....にしました。
'接続
myCon.Open DataBook
うまくいきません。
おねがいします。
conStr = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Extended Properties=Excel 8.0;" & _
"Data Source= "C:\Users\......\Desktop\新しいフォルダー (2).\DataBook.xlsx”
....は自分の名前なので....にしました。
'接続
myCon.Open conStr constrtがdata sourceですね
しかしうまくいかないです