Microsoft Access Club >DAO入門講座 >このページ  サイト内検索
 

RecordsetClone メソッド : DAOリファレンス - DAO入門講座



RecordsetCloneプロパティとは、連結されたフォームのレコードソースを元に、Setステートメントを用いてRecordsetオブジェクトを作成 するプロパティです。
なお、連結フォームからRecordsetオブジェクトを作成できる機能は、DAOだけに備わっています。

書式と引数

  • Set recordset = フォーム名.RecordsetClone
引数 解説 その他
recordset Recordset オブジェクトを表すオブジェクト変数を指定します。 省略不可
フォーム名 開いているフォーム名を指定します。Forms!フォーム名、またはMeキーワードを指定することもできます。 省略不可

事例

代表的な事例としては、カレントレコードを削除するのがよく知られています。

Sub CloneShow(frm As Form) ' --- A

    Dim rs As DAO.Recordset
    Dim strMsg As String
        
    Set rs = frm.RecordsetClone ' --- B
    
    strMsg = "カレントレコードを削除します。"
    
    If MsgBox(strMsg, vbCritical + vbOKCancel) = vbOK Then
        rs.Bookmark = frm.Bookmark ' --- C
        rs.Delete
        frm.NavigationButtons = False ' ---D
        frm.NavigationButtons = True
    End If
    
    rs.Clone: Set rs = Nothing

End Sub
解説
  1. RecordsetCloneメソッドは、フォームとセットで利用しますのでフォーム名の明記が必要です。Meキーワードの利用も可能ですが、標準モジュール内ではMeキーワードが利用できないので、代用として引数内にフォームを現すオブジェクトの変数を定義します。
  2. RecordsetCloneを Recordsetのオブジェクト変数rs に代入します。
  3. カレントレコードをブックマークで保存します。
  4. RecordsetCloneプロパティとBookmarkプロパティを利用する場合、フォームの移動ボタンにあるレコード総数の表示が変化しないので、NavigationButtonsプロパティの再表示(False、Trueの切り替え)を行っています。

サンプルテーブルの作成

下記のようなテーブルを作成します。

サンプルフォームの作成

下記のような単票式フォームを作成します。コマンドボタンを新規作成します。フォームのコマンドボタンをクリックすると、フォーム上に表示されているレコードを削除します。

コマンドボタンの更新後処理イベントプロシージャの作成

Private Sub 削除実行_Click()

    Call CloneShow(Me)
    
End Sub
  1. Call関数で標準プロシージャを呼び足します。

  2. CloneShowプロシージャの引数にMeキーワードを指定します。

関連ページ

 

2004/05/08

ページの先頭へ 前ページへ戻る

 


RecordsetClone メソッド : DAOリファレンス - DAO入門講座


 

-Microsoft Access Club-

動画配信(ダウンロード、ストリーミング)対応の専用レンタルサーバー。データセンター設置場所はアメリカ合衆国です。: 動画サーバードットコム
動画配信(ダウンロード、ストリーミング)対応の専用レンタルサーバー。
データセンター設置場所はアメリカ合衆国です。
100Mbps〜1Gbpsまで対応できます。