OLE DB Provider Guide (v11)

データ間の移動およびデータ操作 (OLE DB プロバイダー)

レコードセットを一度開くと、Move x、MoveFirst、MoveNext、MovePrevious および MoveLast を使用してデータ間を移動することができます。Move メソッドでは 1 つのパラメーターが必要です。このパラメーターは移動するレコード数を指します。負の数を指定すると、カーソルはレコードセットの後方に(最初のレコードに向かって)移動します。

レコードの追加

新しいレコードを追加するには、AddNew メソッドを使用します。パラメーターは必要ありませんが、呼び出しの中でフィールドと値を指定することができます。カーソルは新たに追加されるレコードを指すので、移動することなく、直ちにそのフィールドへの更新を行うことができます。


メモ

Update または UpdateBatch を呼び出す前に、ヌル値を許可しないフィールドに対しては値を入れておく必要があります。


即時更新モードでは、空のレコードがデータ ストアに書き込まれ、フィールドへの更新がそのまま保存されます。バッチ更新モードでは、空のレコードを作成しますが、そのレコードは Update または UpdateBatch が呼び出されるまで書き込まれません。

rs.Open "Course", "Provider=PervasiveOLEDB;Data Source=Demodata", adOpenDynamic, 
adLockBatchOptimistic, adCmdTableDirect 
rs.AddNew 
rs!Field1 = 0 
rs!Field2 = "TextValue" 
rs.UpdateBatch 
rs.Close 

または

rs.Open "Course", "Provider=PervasiveOLEDB;Data Source=Demodata", adOpenDynamic, 
adLockBatchOptimistic, adCmdTableDirect 
rs.AddNew Array("Field1", "Field2"), Array(0, "TextValue") 
rs.UpdateBatch 
rs.Close 

レコードの削除

レコードを削除するには、Delete メソッドを使用します。オプション パラメーターが 1 つあります。このパラメーターは削除するレコードを指します。現在、Pervasive プロバイダーでサポートするのはデフォルトの adAffectCurrent のみです。

rs.Open "Course", "Provider=PervasiveOLEDB;Data Source=Demodata", adOpenDynamic, 
adLockOptimistic, adCmdTableDirect 
'削除するレコードへ移動する 
rs.Delete adAffectCurrent 
rs.Close 

レコードの更新

レコードを更新するには、適切なフィールドに、希望する値を割り当てた後で Update または UpdateBatch を呼び出します。

rs.Open "Course", "Provider=PervasiveOLEDB;Data Source=Demodata", adOpenDynamic, 
adLockBatchOptimistic, adCmdTableDirect 
'更新するレコードへ移動する 
rs!Field4 = "Changed text" 
rs.UpdateBatch 
rs.Close 

レコードセットの作成 (OLE DB プロバイダー)

レコードの検索 (OLE DB プロバイダー)