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

【例題9番】
レコード範囲を絞り込んで取得したビュー表に対する
動的連結フォームの作成
この機能により、[VB+RDO]の世界とはサヨナラできる!


レコードを取得するストアドプロシージャ
検索条件を与えてレコードを絞り込む


    CREATE PROCEDURE PROC_医師患者2
            @st int  ,   --検索開始
            @ed int      --検索終了
    AS
       SELECT 患者.患者ID     AS 患者番号 ,
              患者.姓         AS 患者姓   ,
              患者.名         AS 患者名   ,
              患者.主治医ID   AS 医師番号 ,
              医師.医師名     AS 医師氏名 ,
              医師.医師TEL    AS 医師電話
      FROM 患者 INNER JOIN 医師
      ON 患者.主治医ID = 医師.医師ID
      WHERE( 患者.患者ID BETWEEN @st AND @ed )


患者番号の検索範囲を入力する
検索連結ボタンにより、取得したレコードセットに対して連結を行う

患者番号を入力して、検索ボタンを押します

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

'
'************************************************************
'                      【検索の実行】
'  レコード検索を行うストアドプロシージャをレコードソースとする
'************************************************************
'
Private Sub Search_Click()
    
    '入力パラメータの定義
    Me.InputParameters = "@st int = Forms![例題09 PROC]![st]," & _
                         "@ed int = Forms![例題09 PROC]![ed]"
       
    '再同期コマンドの定義
    Me.ResyncCommand = "Resync_医師患者 @no = ?"
       
    '固有のテーブルの定義
    Me.UniqueTable = "患者"
       
    'レコードソースの定義(ストアドプロシージャ)
    Me.RecordSource = "PROC_医師患者2"
    
    'テキストボックスの連結先フィールド名の設定
    'テキストボックスの名前が列名に一致している
    Me![患者番号].ControlSource = "患者番号"
    Me![患者姓].ControlSource = "患者姓"
    Me![患者名].ControlSource = "患者名"
    Me![医師番号].ControlSource = "医師番号"
    Me![医師氏名].ControlSource = "医師氏名"
    Me![医師電話].ControlSource = "医師電話"
       
    'クエリーの実行
    Me.Requery
   
   '連結を解除する
   If (Me.Recordset.RecordCount = 0) Then
       MsgBox "レコードの検索に失敗しました", , "失敗です"
       Me![患者番号].ControlSource = ""
       Me![患者姓].ControlSource = ""
       Me![患者名].ControlSource = ""
       Me![医師番号].ControlSource = ""
       Me![医師氏名].ControlSource = ""
       Me![医師電話].ControlSource = ""
       Me.RecordSource = ""
   End If
End Sub



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

ウィンドウを閉じる


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


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