プログラミング入門 (桐s-2024LT:リボン編)


Chapter3:ティータイム、テストデータの作成
改定版 /更新日:2024年10月2日

1 レッスンに使うサンプルデータを作成します。まずは履歴を活用してみたいと思います。
"住所録.tbx" に " 郵便番号簿.tbx " から郵便番号を読み込みます。履歴に登録することを考えながら丁寧に桐を操作してください。
 
2
” 住所録.tbx と 郵便番号簿.tbx ” を編集画面で開きます。


2-1
"住所録.tbx" のタブを選択して("住所録.tbx"が履歴の起点となります)、Shiftキーを押して 履歴ボタンをクリックして開始します。
※データが未入力の場合、1項目でよいので何か入力しておいてください。


[履歴] → [登録開始] → [新規作成](もしくは[再登録]) → [履歴の新規作成] → [OK]

2-2
" 住所録.tbx " のデータを削除します。

 
2-3
" 郵便番号簿.tbx " に切り替えてデータを適当な分量まで絞り込みます(ここでは 東京都 → 千代田区 と絞り込んでみました)


2-4
" 住所録.tbx "に切り替えて、" 郵便番号簿.tbx " から {郵便番号}項目 を読み込みます。

履歴登録を終了します


2-5
[東京都] → [千代田区] の条件で絞り込んで読み込んだ郵便番号は、485件となりました。テスト用のデータとしては手ごろな件数でしょう。

なお履歴が登録されているファイル( ここでは "first___.CMX" ) を、定義画面で開くと次のような内容となりました。


 
3 それでは履歴も活用しながら フォーム"住所録.wfx" に郵便番号を読み込むボタンを追加していきましょう。
※必ず [桐-ヘルプ] → [一括処理・履歴・イベント] → [リファレンス] を開いて、履歴で書かれたコマンドの詳細を確かめてください。
  決して、履歴をそのままコピペするようなことがないように!!!
   
3-1 フォーム"住所録.wfx" に コマンドボタンを追加します。
   
3-1-1
フォーム"住所録.wfx" を定義画面で開いて、[表示・印刷]タブ → [フッタ] にチェックを入れる

   
3-1-2 フッタ 部分に [テストデータ読み込み] のコマンドボタンを設定します。
 
ヒント "cmdテストデータ読み込みClick" の名づけルールについて
"cmd" は コマンドボタンの印としています。 "Click" は コマンドボタンを 押した際に実行する という印としています。
この書き方ルールはある方が編み出した方法ですが、あとあとの見やすさ(思考の節約にもなる)を考えるとおすすめの手法です。
 
3-2 ソースコードを作成します
参考にする [履歴] です


実際に入力したソースコードは以下のようになります
※ [桐-ヘルプ] → [一括処理・履歴・イベント] → [リファレンス] を開いて、コマンドの詳細を確かめてください。

 
3-2-1 "住所録.tbx" (コマンドボタンを押したフォームの編集対象表)の処理
 
81 &myTblNum = &hwindow /* &hwindowには現在のフォームの編集対象表番号が収納されています */
82 解除 * /* 表が絞り込み状態にある場合解除します */
83 行削除 * , 圧縮 /* すでにあるデータ行を削除します。ここでは表整理もしています */
   
3-2-2 表 "郵便番号簿.tbx" の処理
  東京都 で絞り込んだあと(絞り込みを解除せず)、さらに千代田区 で絞り込んでいます。
 
85 表 "郵便番号簿.tbx" /* 郵便番号簿を開きます */
86 &importTblNum = #IS表  /* 郵便番号簿.tbxの表番号を取得します */
87 絞り込み [住所1]{*"東京都"*}  
88 絞り込み [住所2]{*"千代田区"*}  
 
ヒント
値を含む   絞り込み [住所1]{*"東京都"*}
値に一致   絞り込み [住所1]{"東京都"}
値を含まない   絞り込み [住所1]{≠*"東京都"*}
前方一致   絞り込み [住所1]{"東京都"*}
後方一致   絞り込み [住所1]{*"東京都"}

3-2-3 "住所録.tbx" (コマンドボタンを押したフォームの編集対象表)の処理
  "郵便番号簿.tbx" を絞り込んだあと、"住所録.tbx" に切り替えて "郵便番号簿.tbx" から郵便番号を読み込みます。
 
90 編集表 &myTblNum  /* 住所録に戻る */
91 読み込み 表,"郵便番号簿.tbx",{[郵便番号][郵便番号]}  
3-2-4 データの更新が終わったので、"郵便番号簿.tbx" を閉じてデータ更新が完了した旨のメッセージを表示させます。
 
93 終了 表 &importTblNum /* 郵便番号簿を閉じる */
94 確認 "完了しました"  /* 終わりの目印ですね */

完成したら コマンドボタン [テストデータ読み込み] をクリックして動作を確認してください。


Chapter 3 終わり、お疲れ様でした (^_^)ノ
  Special Thanks ONnojiさん、AKさん

参考) ※行番号は参考としてください
  サンプルコードをコピペしてうまく動作しないときには、一旦削除して手入力してください。プロシージャ(手続き)ごとに処理すれば作業がしやすいでしょう。

 
79  手続き定義開始 cmdテストデータ読み込みClick()
80   変数宣言 自動,整数  { &myTblNum , &importTblNum }
81   &myTblNum = &hwindow   /* &hwindowには現在のフォームの編集対象表番号が収納されています。 */
82   解除 * 
83   行削除 * , 圧縮
84  
85   表 "郵便番号簿.tbx"
86   &importTblNum = #IS表
87   絞り込み [住所1]{*"東京都"*}
88   絞り込み [住所2]{*"千代田区"*}
89
90   編集表 &myTblNum     /* 住所録に戻る */
91   読み込み 表,"郵便番号簿.tbx",{[郵便番号][郵便番号]}
92  
93   終了 表 &importTblNum    /* 郵便番号簿を閉じる */
94   確認 "完了しました"     /* 終わりの目印ですね */
95 手続き定義終了