| MSDE FunClub |
|
最終更新日 : 2000/11/24 |
|
Microsoft Data Engine FunClub
|
Since 2000.11.24
|
|
SQLServer7.0/MSDE 完全トレーニングテキスト(下巻) |
|
【第23章493p 〜 494p掲載】 |
【例題11番】
ADOプログラムによる
連結フォームの作成
複数テーブルから構成されたビュー表に連結します
再同期コマンドが必要な例です
『医師患者』ビュー表に連結されたフォーム
レコードセットはADOプログラムによって作成します

Form_Loadイベント処理で、ADOレコードセットを作成します
'
'***************************************************
' フォーム初期化時にレコードセットを作成して連結を行う
'***************************************************
'
Private Sub Form_Load()
'ADOの接続
Dim cn As ADODB.Connection
'ADOレコードセットを作成する
Dim rs As New ADODB.Recordset
'現在のAccessプロジェクトの接続を取得する
Set cn = CurrentProject.Connection
'レコードセットのプロパティを設定する
'例題05フォームで調査した値と同じ値を設定する
rs.CursorLocation = adUseServer
rs.CursorType = adOpenStatic
rs.LockType = adLockOptimistic
'[医師患者]ビュー表を開く
rs.Open "医師患者", cn, , , adCmdTable
'次のSELECT文を実行してもよい
'*** rs.Open "SELECT 患者.患者ID,患者.姓,患者.名,患者.主治医ID,医師.医師名," & _
'*** "医師.医師TEL FROM 患者 INNER JOIN 医師 ON 患者.主治医ID = 医師.医師ID", _
'*** cn, , , adCmdText
'再同期コマンドを定義すること
Me.ResyncCommand = "Resync_医師患者 @no=?"
'フォームのレコードセットを定義する
Set Me.Recordset = rs
'【固有のテーブル】プロパティをセット
'このプロパティの設定は、レコードセットを代入した後で行うこと
'代入前で実行すると、更新可能なフォームにはならない
Me.UniqueTable = "患者"
'念ため再クエリーの実行
Me.Requery
End Sub