ExcelWork.info

Excel(エクセル)のマクロ・VBA・関数・操作などのメモ

レコードの更新(ADO)Update メソッド

   

データベースのレコードを更新する

Update メソッド

カレントレコードの内容を更新します。

【書式】

object.Update [ FieldList, Values ]


引数・戻り値

  • object  ・・・  対象となる Recordset オブジェクトを指定します。
  • FieldList  ・・・  変更するレコードのフィールド名を指定します。複数のフィールド名を指定するには、フィールド名、または位置を表す値の並びを配列として指定します。省略可。
  • Values  ・・・  変更するレコードの値を指定します。複数の値を指定するには配列にします。省略可。

レコードを更新する場合、Recordset オブジェクトのOpen メソッドの引数 LockType には、adLockOptimistic または adLockPessimistic を指定します。(Recordset を開く時に使うロックの種類に関しては、データベース(Access 等)に接続(ADO) を参照して下さい。)

Update メソッドを実行すると実行前に変更したレコード、追加したレコードの内容が保存されます。

Update メソッド実行前後でカレントレコードは移動しません。

Field オブジェクトValue プロパティを使用してレコードの値を設定後、引数なしの Update メソッドを実行してレコードを更新することもできます。

(例)※ rs は、Recordset オブジェクト


Find メソッド

Recordset オブジェクト内を検索します。

【書式】

object.Find ( Criteria, SkipRows, SearchDirection, Start )


引数・戻り値

  • object  ・・・  対象となる Recordset オブジェクトを指定します。
  • Criteria  ・・・  検索する条件式を文字列型(String)で指定します(条件式は、”(二重引用符)で囲みます)。検索できるのは、単一列のみです。比較演算子には、>、<、<=、および like 演算子を使用できます。値には、文字列、浮動小数点数、日付を使用できます。文字列の値は、'(単一引用符)または #(シャープ記号)で囲みます(例:「user = 'Rin'」または「user = #Rin#」)。日付の値は、#(シャープ記号)で囲みます(例:「sdate > #7/22/97#」)。また、like 演算子を使用する場合、「keyword like ‘k*’」、「keyword like ‘*ba*’」のように文字列の末尾または文字列の先頭と末尾にアスタリスク(*)を使用して検索します。ただし「keyword like ‘*ea’」、「keyword like ‘a*c’」のように文字列の先頭や文字列中にアスタリスク(*)を使用することはできません。この場合はエラーが発生します。
  • SkipRows  ・・・  検索を開始する、カレント行または Start ブックマークからの行のオフセットを指定する長整数型(Long)の値を指定します。省略可能です(既定値は 0 。既定では、カレント行から検索が開始されます)。
  • SearchDirection  ・・・  検索する方向を SearchDirectionEnum クラスの定数または値を指定します。省略可能です。
    定数 内容
    adSearchForward
    (既定値)
    1 前方検索をし、Recordset の末尾で終了します。一致するレコードが見つからない場合、レコード ポインタは EOF に移動します。
    adSearchBackward -1 後方検索をし、Recordset の先頭で終了します。一致するレコードが見つからない場合、レコード ポインタは BOF に移動します。

  • Start  ・・・  検索の開始位置として使用するバリアント型(Variant)のブックマークを指定します。省略可能です。

Find メソッドを呼び出す前にカレント行の位置が設定されていない場合は、エラーが発生します。この場合、Find メソッドを呼び出す前に、MoveFirst などの行の位置を設定するメソッドを呼び出す必要があります。

Find メソッドを実行し、条件が一致したレコードがあればそのレコードの位置に移動します。条件を満たすレコードがなかった場合は、カレントの位置は Recordset の最後または最初に設定されます。



Update メソッド・Find メソッド 使用例

サンプルVBAソース


実行結果

Update メソッド(ADO)



 - データベース , , , , , , , , , , , , ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  関連記事

ADOX データベース作成1
データベースを作成する(ADOX)

ADOX を使用してデータベース(Access)を作成 Catalog オブジェ …

Delete メソッド(ADO)
レコードの削除(ADO)Delete メソッド

データベースのレコードを削除する Delete メソッド カレントレコードを削除 …

CopyFromRecordset メソッド
Recordset オブジェクトの内容をワークシートにコピーする(CopyFromRecordset メソッド・ADO)

CopyFromRecordset メソッド ADO の Recordset オ …

データベース(SQLServer)接続
データベース(SQL Server)に接続する(ADO)

データベース(SQL Server)に接続 ODBC または OLE DB で接 …

Excelに接続する(ADO)
Excelファイルに接続(ADO)

ADOでExcelファイルに接続 ADO を使用してExcelファイルを読み込み …

ADOX クエリを作成
クエリの作成・削除(ADOX)

ADOX を使用してクエリを作成・削除 クエリを作成する手順 【書式】 <参照設 …

AddNew メソッド(ADO)
レコードの追加(ADO)AddNew メソッド,Update メソッド

データベースにレコードを追加する AddNew メソッド 新規レコードを追加し、 …

ADO Access (参照設定)
データベース(Access 等)に接続(ADO)

ADO で、データベースに接続 外部データベースを操作する方法のひとつに ADO …

ADOX インデックスを作成する1
インデックス、プロパティの設定(ADOX)

インデックスを作成する index オブジェクト 【書式】 <CreateObj …

DB Class Excel へ接続
Excel VBA のクラスを使ってデータベースへ接続する(ADO)

データベースの処理をクラスモジュールに書く ExcelVBAで、クラス使用する方 …