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

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

ADOX テーブル名・クエリ名を取得
テーブル名、クエリ名の取得(ADOX)

テーブル名の取得 Table.Type プロパティ 【書式】 <取得> obje …

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

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

SQL実行結果
データベース(Oracle)に接続する(ODBC を使用)

ODBC接続(ADO) ADOで、ODBC(Open Database Conn …

ADOX テーブルの作成
テーブルの作成・削除/フィールドの作成・削除(ADOX)

ADOX を使用してテーブル・フィールド(列)を作成・削除 Table オブジェ …

CSVフィアルに接続(ADO)
CSVファイルに接続(ADO)

ADOでCSVファイルに接続 ADO を使用してCSVファイルを読み込みます。C …

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

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

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

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

Command.Execute Insert Into 文
SQL文を実行する(ADO)Execute メソッド

Command オブジェクトの Execute メソッドで、SQL文を実行 Co …

ado Field オブジェクト
フィールド名(ADO)Field オブジェクト

Field オブジェクト Recordset オブジェクト内の列(フィールド)を …

ADO Fields コレクション
フィールド名(ADO)Fields コレクション

Fields コレクション Recordset オブジェクト内の1つ以上の列(フ …