過去の桐井戸端BBS (桐ver.9)
30962 項目名を変数に置き換えフォーム上にその項目名のデータを表記させるには? ルパン 2006/01/18-22:04
まずは、復活ありがとうございます。この日を待ち望んでおりました。
過去ログでいろいろと検索して調べたのですが、意図に合うものがなかなか見つからず、質問させていただきます。
もし、過去ログに同様の質問がありましたならばご容赦いただき、
お手数ですがログ番号等をお教えいただきますようお願いいたします。
さて、表ファイル 出欠表.tbl の生徒個人の出欠数の計算を次のように設定しました。
@項目名[氏名]、[4月授業日数]、[4月欠席日数]、[4月出席日数]、[5月授業日数]、[5月欠席日数]、[5月出席日数]、・・・のように、
3つの項目「授業日数」、「欠席日数」、「出席日数」が4月から翌年の3月までの1年間月別に設けてあります。
各日数の項目のデータ型は整数です。
Aこの入力フォーム画面を作ろうとしましたが、画面からは み出てしまうため、
ひと月ごとのフォーム一覧表形式(月別入力.wfm)を作成し、「t授業日数」、「t欠席日数」、「t出席日数」の3つの
テキストオブジェクトを作って、その中のオブジェクトの属性設定のソース値に
それぞれ変数&授業日数、&欠席日 数、&出席日数と設定しました。
もちろん、対象表は、出欠表.tblです。
B月別入力.wfmの前に入力月選択フォーム(月選択.wfm)にて、入力月を選択させ変数&選択月に
4月なら"4"、5月なら"5"を代入させた後、月別入力.wfmを開くよう設定しました。
Cイベント処理に合わせて、月別入力.kevを作成し、名札 メイン の後に、 
  変数宣言 共有 , 文字列 {&授業日数=#CAT( &選択月 ,"月授業日数")}
  変数宣言 共有 , 文字列 {&欠席日数=#CAT( &選択月 ,"月欠席日数")}
  変数宣言 共有 , 文字列 {&出席日数=#CAT( &選択月 ,"月出席日数")}
 と、変数宣言を入力しました。
Dその結果、月選択.wfmから開き、4月のコマンドボタンをクリックすると、
月別入力.wfmが開き、生徒氏名は表示されますが、残りの3つのオブジェクトの表示が、
[4月授業日数]、[4月欠席日数]、[4月出席日数]のデータではなく、"4月授業日数"、"4月欠席日数"、"4月出席日数"の 
 項目名そのものが表示されてしまいます。

どのようにすれば、項目名の変数場所に、所定の月の3つのデータが表示されるようにできるでしょうか?

分かりづらい文面でしょうが、よろしくご教授ください。お願いします。


30964 Re:画面からはみ出てしまうため ONnoji 2006/01/19-10:54
記事番号30962へのコメント
>項目名[氏名]、[4月授業日数]、[4月欠席日数]、[4月出席日数]…のように、
>4月から翌年の3月までの1年間月別に設けてあります。
>Aこの入力フォーム画面を作ろうとしましたが、画面からはみ出てしまうため、

ルパンさん、こんにちは。

少なくとも1+36=37項目が存在する表( .tbl )ですね。

手前味噌ですが、以下のページから「拙作:わんたっち表形式」がダウンロード出来ます。
もしも、よろしければお試しください。(^^ゞ

事前の準備は一切不要です。( It's automatic. )
ただフォームを開くだけです最大100項目に対応できます。

【多遊】さんのホームページ
 ↓
http://www2u.biglobe.ne.jp/~s_tanaka/
 ↓
観験桐
 ↓
158 桐v8以降「わんたっち表形式 第1.0版 for 桐ver.8 / 桐ver.9」

■ソフトの内容
桐ver.9 から「ワンタッチフォーム」という機能で「カード形式」のフォームがボタンひとつで作れます。
しかし、「表形式」のワンタッチフォームが欲しい場合もあります。
「わんたっち表形式」はそれを実現します。 ・・・・

<蛇足>

詳しくは以下のページをご参照下さい。

コラム12 わんたっち表形式 第1.0版 for 桐ver.8 / 桐ver.9
 ↓
http://www.geocities.jp/siliconvalley_bay_7565/one_touch_form/one_touch_form_framepage.htm

30965 Re:項目名を変数に置き換え、フォーム上にその項目名のデータを表記させるには? アックン 2006/01/19-15:36
記事番号30962へのコメント
ルパンさん、こんにちは。
「オブジェクト操作 設定」コマンド(object)で、オブジェクト属性を一時的に変更します。
このコマンドは元のソースを一時的に変更するだけです。元の設定は変わりません。
元のソースは、変数・計算式・項目名・空白のままなど、なんであってもかまいません。

下記の3例とも、"月別入力.wfm"の「フォーム開始」イベントに設定します。
( ハンドル=&hwindow, は省略可 )

例1: メインまたはフォーム開始イベント内で変数に項目名を代入済の場合です。
 object ハンドル=&hwindow, @t授業日数.ソース = &授業日数
 object ハンドル=&hwindow, @t欠席日数.ソース = &欠席日数
 object ハンドル=&hwindow, @t出席日数.ソース = &出席日数

例2: この場で変数に項目名を代入することもできます。
 object ハンドル=&hwindow, @t授業日数.ソース = #set(授業日数,"["+&選択月+"月授業日数"+"]")
 object ハンドル=&hwindow, @t欠席日数.ソース = #set(欠席日数,"["+&選択月+"月欠席日数"+"]")
 object ハンドル=&hwindow, @t出席日数.ソース = #set(出席日数,"["+&選択月+"月出席日数"+"]")

例3: 変数に項目名を代入しないでも、ソースにできます。
 object ハンドル=&hwindow, @t授業日数.ソース = "["+&選択月+"月授業日数"+"]"
 object ハンドル=&hwindow, @t欠席日数.ソース = "["+&選択月+"月欠席日数"+"]"
 object ハンドル=&hwindow, @t出席日数.ソース = "["+&選択月+"月出席日数"+"]"

ご自分の用途に合いそうなのを使ってください。

アックン(=^・^=)

30966 Re:項目名を変数に置き換え、フォーム上にその項目名のデータを表記させるには? アックン 2006/01/19-15:40
記事番号30965へのコメント
補足
例1の場合、あらかじめ変数に項目名を代入するときは、項目名の前後にカギかっこを付けます。

&授業日数="["+&選択月+"月授業日数"+"]"
&欠席日数="["+&選択月+"月欠席日数"+"]"
&出席日数="["+&選択月+"月出席日数"+"]"

30972 ありがとうございます。できました。 ルパン 2006/01/20-11:44
記事番号30964へのコメント
ONnojiさん,アックンさん、ご教授ありがとうございました。

アックンさんの例1を参考にイベント処理実行してみたら、なんとデータが表示され、入力変更も可能になりました。
長期間あれこれ悩んだ後ですので感動致しております。

またONnojiさんからのご紹介ソフト「わんたっち表形式」も活用できそうです。

お二人ともに感謝申し上げます。
30973 改めまして・・・ ルパン 2006/01/20-11:46
記事番号30965へのコメント
すみません、ツリーの置き場を間違えました。

改めて

ONnojiさん,アックンさん、ご教授ありがとうございました。

アックンさんの例1を参考にイベント処理実行してみたら、なんとデータが表示され、入力変更も可能になりました。
長期間あれこれ悩んだ後ですので感動致しております。

またONnojiさんからのご紹介ソフト「わんたっち表形式」も活用できそうです。

お二人ともに感謝申し上げます

戻る