現在現在VBAでディレクトリ内にある複数のエクセルブック(内容は履歴書のようなもの)をVBAで抽出しSQLServerに格納するプログラミングを作成しています。
しかし今回VBAを初めて触るということと、あまりプログラミング経験がないことも手伝って、DBに接続程度のプログラムしか作れていない状況です。(データの抽出?どうやって?という状況)
そこで前回質問をし下記のサンプルを頂きある程度の解決ができましたが、追加機能でディレクトリ内のエクセルブックからデータを抽出をしなければいけなくなりました。
なにとぞ知恵をお貸しください。
追記
データに関しては一名一ファイルで形式は基本的な履歴書、内容は基本情報、資格、履歴という感じ。
サンプル
Sub Mysql_連続insert()
'ExcelでADO・ADODBへの参照設定で下記をチェック(古いバージョンでも可)
'Microsoft ActiveX 'Data Objects 6.1 Library
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim connectionString As String
Dim sqlStr As String
Dim id As String
Dim name As String
Dim password As String
Dim section As String
'接続文字列
connectionString = "Driver={MySQL ODBC 8.0 ANSI Driver};" _
& " SERVER=localhost;" _
& " DATABASE=db_users;" _
& " USER=root;" _
& " PASSWORD=test;"
'ADODB.Connection生成
Set cn = New ADODB.Connection
On Error GoTo Err
'MySQLに接続
cn.Open connectionString
For i = 2 To 6000
With Sheets("data1") id = .Range("A" & i).Value name = .Range("B" & i).Value password = .Range("C" & i).Value section = .Range("D" & i).Value End With sqlStr = "insert into t_users (id,name,password,section) values ('" & id & "','" & name & "','" & password & "','" & section & "')" Set rs = cn.Execute(sqlStr)
Next
cn.Close
Set rs = Nothing
Set cn = Nothing
MsgBox "データの登録がおわりました"
Exit Sub
Err:
Set rs = Nothing
Set cn = Nothing
MsgBox (Err.Description)
End Sub
回答2件
あなたの回答
tips
プレビュー