ちょうどその頃、八木くんはマンションで、進捗管理システムの続きに取り組んでいました。
「テーブルのデータをワークシートへ取り込むところまでは、ひとまずオッケーだな。
次は、編集したデータをテーブルに書き込むところを開発しよう」
八木くんは、カタカタとキーボードを叩き、コードを作成していきます。
Sub データ編集()
Dim rs As New ADODB.Recordset
Dim sql As String
Dim i As Long
If DB接続 Then
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
sql = "SELECT * FROM 進捗TBL WHERE 番号='" & Cells(i, 1).Value & "'"
rs.Open sql, CN, adOpenKeyset, adLockOptimistic
If Not rs.BOF Then
rs.Fields("案件").Value = Cells(i, 2).Value
rs.Fields("担当").Value = Cells(i, 3).Value
rs.Fields("進捗").Value = Cells(i, 4).Value
rs.Fields("企業名").Value = Cells(i, 5).Value
rs.Fields("備考").Value = Cells(i, 6).Value
rs.Fields("前回訪問日").Value = Cells(i, 7).Value
rs.Update
End If
rs.Close
Next
MsgBox "データを編集しました"
Call データ取得
End If
End Sub
「ふ~~~~、ひとまずこんなところか。
細かなところは、後から追加するとして……。
For…Nextで、表の最終行までループする。
A列の"番号"で1件ずつレコードセットを取得、
BOFプロパティがFalse、つまりレコードが存在すれば…セルの値で上書き、
"rs.Update"でテーブルに反映する。 いい感じだぞ…」