[サポートFAQ] |
![]() |
他の表のデータを画面帳票で参照する |
![]() |
![]() |
マクロを使用すると、他の表のデータを簡単に参照することができます。すでに他の表に入力されているデータを利用したいときに便利です。
これらの処理、すなわち上の図のように「社員名検索」フォームの「社員ID」項目枠に社員IDを入力し、[氏名表示]をクリックすると、表「東京社員」の「社員ID」項目を参照して、表「東京社員」の「氏名」項目のデータを「社員名検索」フォームの「氏名」項目枠に表示されるようにするには、次のように操作します。
■ 操作手順 ■
1.五郎を起動し、データベースを開く。 2.[マクロ]シートの[新規作成(N)]をクリックして、[新規作成]ダイアログボックスを開く。 3.任意のマクロ名を付けて「手続き」を選択し、Mainのマクロウィンドウを開く。 4.Mainのマクロウィンドウにマクロを記述する。 5.[プロジェクト(P)-フォームの追加(F)]でフォームを追加し、「社員名検索」フォームを作成する。 6.コマンドボタンオブジェクトのClickイベントとFormオブジェクトのUnloadイベントにマクロを記述する。 7.マクロを保存し、マクロウィンドウを閉じる。 8.[マクロ]シートのマクロを選択し、[実行(G)]をクリックする。
!!Main FormWindows.Add("Form1") !!(1) Goro.OpenTable("東京社員",,0) !!(2) %result = Application.Workplace.Revolve() !!(3)
!!コマンドボタンオブジェクトのClickイベント event Click() %id = @EditText1.Text !!(4) %rec = Tables("東京社員").RecordSet.Reference({.社員ID=%id}) !!(5) if IsArray(%rec) then !!(6) @EditText2.Text = %rec("氏名") !!(7) end if !!(8) end event
!!Form1のUnloadイベント event Unload() Goro.CloseTable() !!(9) end event
(1)FormWindows.Add("Form1") 「Form1」ウィンドウを追加します。
(2)Goro.OpenTable("東京社員",,0) 「東京社員」テーブルを非表示で開きます。
(3)%result = Application.Workplace.Revolve() これは、五郎でフォームを開くために必要な記述です。マクロの内容に関わらず、修正、削除等を行わないでください。
(4)%id = @EditText1.Text 変数%idに、EditText1オブジェクトに入力されたデータを格納します。
(5)%rec = Tables("東京社員").RecordSet.Reference({.社員ID=%id}) 「東京社員」テーブルの「社員ID」項目で、変数%idと一致するデータを検索します。
(6),(7),(8) if IsArray(%rec) then @EditText2.Text = %rec("氏名") end if 「東京社員」テーブルの「氏名」項目のデータをEditText2オブジェクトに表示します。
(9)Goro.CloseTable() 「東京社員」テーブルを閉じます。 |