Topへもどる
前へ

Excel からデータベーステーブルの操作

レコードの変更・追加・削除を行う

タイトル一覧へもどる
次へ
■サイト内検索
Google

レコードの内容を変更する

Sub レコード内容変更1()
Dim myCon As New ADODB.Connection, myRS As New ADODB.Recordset
Dim FileName As String, i As Integer

FileName = ThisWorkbook.Path & "\mdb\2-sampleDB.mdb"
myCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FileName
myRS.Open "アルバイト", myCon, adOpenDynamic, adLockPessimistic

'任意のフィールドの値を変更
myRS!時給 = 1500
myRS!所属 = "ホール"
myRS!勤務時間 = 15
myRS!手当 = 15000

'変更を保存
myRS.Update

myRS.Close: Set myRS = Nothing
myCon.Close: Set myCon = Nothing

End Sub
フィールドの値を変更する別の書式
Sub レコード内容変更3()
'別の値変更書式
Dim myCon As New ADODB.Connection, myRS As New ADODB.Recordset
Dim FileName As String, i As Integer

FileName = ThisWorkbook.Path & "\mdb\2-sampleDB.mdb"
myCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FileName
myRS.Open "アルバイト", myCon, adOpenDynamic, adLockPessimistic

'任意のフィールドの値を変更
myRS.Update ("時給"), 2000
myRS.Update (4), "フィールド"
myRS.Update ("勤務時間"), 200
myRS.Update (6), 20000

myRS.Close: Set myRS = Nothing
myCon.Close: Set myCon = Nothing

End Sub
■構文 任意のフィールドの値を変更する
Recordset オブジェクト!フィールド名 = 値

■構文 任意のフィールドの変更を保存する
Recordset オブジェクト.Update

■「アルバイト」テーブル


■実行結果



Fieldsプロパティを使用する

Sub レコード内容変更2()
'Fieldsプロパティを使用する
Dim myCon As New ADODB.Connection, myRS As New ADODB.Recordset
Dim FileName As String, i As Integer

FileName = ThisWorkbook.Path & "\mdb\2-sampleDB.mdb"
myCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FileName
myRS.Open "アルバイト", myCon, adOpenDynamic, adLockPessimistic

'任意のフィールドの値を変更 (Valueは省略可能)
myRS.Fields("時給").Value = 1200
myRS.Fields(4).Value = "キッチン"
myRS.Fields("勤務時間") = 50
myRS.Fields(6) = 0

'変更を保存
myRS.Update

myRS.Close: Set myRS = Nothing
myCon.Close: Set myCon = Nothing

End Sub


保存前に変更をキャンセルする

Sub レコード内容変更4()
'保存前に変更をキャンセルする
Dim myCon As New ADODB.Connection, myRS As New ADODB.Recordset
Dim FileName As String, i As Integer

FileName = ThisWorkbook.Path & "\mdb\2-sampleDB.mdb"
myCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FileName
myRS.Open "アルバイト", myCon, adOpenDynamic, adLockPessimistic

'任意のフィールドの値を変更
myRS!時給 = 1500
myRS!所属 = "ホール"
myRS!勤務時間 = 45
myRS!手当 = 5000

'変更をキャンセル
myRS.CancelUpdate

myRS.Close: Set myRS = Nothing
myCon.Close: Set myCon = Nothing

End Sub
■構文 変更をキャンセルする
Recordset オブジェクト.CancelUpdate


変更内容を配列で指定して保存

Sub レコード内容変更5()
'変更内容を配列で指定して保存
Dim myCon As New ADODB.Connection, myRS As New ADODB.Recordset
Dim FileName As String, i As Integer

FileName = ThisWorkbook.Path & "\mdb\2-sampleDB.mdb"
myCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FileName
myRS.Open "アルバイト", myCon, adOpenDynamic, adLockPessimistic

'変更フィールドをフィールド番号で指定
myRS.Update Array(3, 4, 5, 6), Array(3000, "配列", 30, 3000)
myRS.MoveNext
'変更フィールドをフィールド名で指定
myRS.Update Array("時給", "所属", "勤務時間", "手当"), Array(3000, "配列その2", 30, 3000)

myRS.Close: Set myRS = Nothing
myCon.Close: Set myCon = Nothing

End Sub
■構文 配列を使用してレコードの値を変更する
Recordset オブジェクト.Update Fields, Values

■「アルバイト」テーブル


■実行結果

前へ 次へ
Topへもどる タイトル一覧へもどる