Excel内で手軽にSQLの勉強できるようになりますよ^^
■VBAコードサンプルは下記です^^ 適宜アレンジください!
Sub getDataBySQL()
Dim cn As Object, strCn As String, i As Long, row As Long, col As Long
Dim strPath As String, SQL As String, rs As Object, strSQLtype As String
Dim wsMe As Worksheet
Set wsMe = ThisWorkbook.Sheets("SQL①")
row = 6
col = 1
Set cn = CreateObject("ADODB.Connection") '接続オブジェクトを作成する
Set rs = CreateObject("ADODB.Recordset") 'レコードセットオブジェクトを作成
strPath = ThisWorkbook.FullName '自分自身のファイルにアクセスする
strCn = "provider=Microsoft.ACE.OLEDB.12.0;" & _
"extended properties=Excel 12.0 Macro;data source=" & strPath 'マクロブック(.xlsm)の場合
'"extended properties=Excel 12.0 xml;data source=" & strPath 'Excel(.xlsx)の場合
cn.Open strCn 'データベースに接続する
SQL = wsMe.Shapes("SQLTEXT1").TextFrame.Characters.Text 'Excelシート内にテクストボックス作成し、「SQLTEXT1」とオブジェクト名を変えてください。
rs.Open SQL, cn 'SQLを実行してデータを取得する
wsMe.Cells(row, col).CurrentRegion.Clear 'データを削除する
For i = 1 To rs.Fields.Count '■タイトル記載
wsMe.Cells(row, i) = rs.Fields(i - 1).Name
Next
wsMe.Cells(row + 1, col).CopyFromRecordset rs 'レコードセットのデータを貼り付ける
rs.Close
End Sub
コメント
コメントを投稿