MSDE FunClub 現在までのアクセスカウント数 最終更新日 : 2000/11/24
Microsoft Data Engine FunClub
Since 2000.11.24
SQLServer7.0/MSDE 完全トレーニングテキスト(下巻)
【第23章491p 〜 492p掲載】

【例題10番】
ADOプログラムによる
動的連結フォームの作成
単一のテーブルに連結


医師IDを入力し、『連結/非連結』ボタンを押します
検索により取得したレコードセットに対して連結を行う

ADOプログラムによる連結処理

連結/非連結ボタンが押されたら実行するVBAプログラム

'
'**************************
'【例題02プログラムの移植】
'      連結/非連結
'**************************
'
Private Sub Connect_Click()
    'ADOの接続
    Dim cn As ADODB.Connection
    
    'ADOレコードセットを作成する
    Dim rs As New ADODB.Recordset
    
    '非連結状態ですか?
    If Me.Recordset Is Nothing Then
    
       '現在のAccessプロジェクトの接続を取得する
       Set cn = CurrentProject.Connection
       
       'レコードセットのプロパティを設定する
       '例題02フォームで調査した値と同じ値を設定する
       rs.CursorLocation = adUseServer
       rs.CursorType = adOpenStatic
       rs.LockType = adLockOptimistic
       
       '[医師]テーブルを開く
       rs.Open "医師", cn, , , adCmdTable
    
       'フォームのレコードセットを定義する
       Set Me.Recordset = rs
    
       'テキストボックスの連結先フィールド名の設定
       'テキストボックスの名前が列名に一致している
       Me![医師ID].ControlSource = "医師ID"
       Me![医師名].ControlSource = "医師名"
       Me![医師TEL].ControlSource = "医師TEL"
    
       'クエリーの実行
       Me.Requery
   Else
       '連結を解除する
       Me![医師ID].ControlSource = ""
       Me![医師名].ControlSource = ""
       Me![医師TEL].ControlSource = ""
       
       'レコードセットを閉じる
       '以下の命令で、レコードセットを閉じることができる
       Me.RecordSource = ""
       Exit Sub
       
       '*********************************************
       '下記の命令でもレコードセットを閉じることができる
       'しかし上の命令の方が簡単です
       '*********************************************
       'フォームのレコードセットを取得する
        Set rs = Me.Recordset
        
       'そのレコードセットを閉じる
       rs.Close
       
       'フォームからのレコードセット参照を解除する
       Set Me.Recordset = Nothing
   
   End If
End Sub



技術評論社の書籍ガイドへ
下巻:ISBN4-7741-0966-5

ウィンドウを閉じる


(株)日本技術ソフト開発 責任編集:堀川 明
MSDE FunClubに関するご意見・ご要望等ございましたら、 msdefun@horikawa.ne.jp までご連絡下さい。
HOME: http://www.horikawa.ne.jp/msde/


MSDE FunClubの運営は、マイクロソフト社とは一切の関係はありません