過去の桐井戸端BBS (桐ver.8)
26961 メインフォームのイベントから、サブフォームで処理対象行になっている項目の値を取得したい よろしく 2004/07/05-10:47
メインフォームのイベントから、サブフォームで処理対象行になっている項目の値を取得したいのですが、上手くいきません。
メインフォーム、サブフォームとも別のイベントファイルを使っています。
桐8SP7です。お願いします
26969 Re:サブフォームの処理対象行の項目の取得方法 うにん 2004/07/05-16:31
記事番号26961へのコメント
>メインフォームのイベントから、サブフォームで処理対象行になっている
>項目の値を取得したいのですが、上手くいきません。

編集対象表を切り替えられるイベントなら問題ないはずですが。

26973 Re:サブフォームの処理対象行の項目の取得方法 bonito 2004/07/05-18:10
記事番号26961へのコメント
よろしくさんに対応 (^^;
(まぁ誤解や人それぞれの感受性の違いもあるとは思いますが)

メソッド呼び出し @%あ%.@%い%.ソース値取得(&%う%,0)

%あ%...サブフォームの親フォーム上でのオブジェクト名
%い%...取得する項目値を表示しているオブジェクト名
%う%...取得した値を格納する変数名

詳しくはメソッド呼び出しのHELPを参照して下さい

#オマケ(オブジェクト名の説明を引用)

>サブフォーム内のオブジェクトを指定する場合は、
>サブフォームのオブジェクト名からはじめます。
>サブフォーム名とオブジェクト名のあいだは、
>ピリオドで区切ります。
>
>(例)オブジェクト操作 @住所一覧.@氏名.前景色="赤"
26975 Re:サブフォームの処理対象行の項目の取得方法 佐田 守弘 2004/07/05-23:58
記事番号26961へのコメント
よろしくさん
 >項目の値を取得したいのですが、上手くいきません。
との事ですが、どの様にしてうまく行かなかったのでしょうか。
処理対象行の項目値と書かれていますが、これは処理対象行の全項目の項目値という意味でしょうか。
サブフォームに移動し、その状態が表示モードになっているのであれば、
 代入 &変数1=[項目1],&変数2=[項目2]
の様な方法でも取得できます。

佐田守弘(KS-00119)
26979 Re:サブフォームの処理対象行の項目の取得方法 ONnoji 2004/07/06-10:30
記事番号26961へのコメント
よろしくさん、こんにちは。

サンプルをアップしました。

よろしければ、ご参考にしてください。

外していたら、すいません。


[補完BBS(文章のみではうまく伝わらないときのために)]
http://www.fuku3.com/~habata/cgi-bin/bbs1/clip.cgi
-------------------------------------------------
[121] 26961 サブフォームの処理対象行の項目の取得方法

よろしくさん江

main.wfm を開いてください。

[サブフォームの項目確認]というコマンドボタンを実行してください。
Alt + V でも実行できますよ。

※ファイルは桐ver.8 です。桐ver.9でも動作しますよ。

121.lzh
-------------------------------------------------



■メインフォームのイベント
*----------------------------------------------*
名札 メイン
 変数宣言 局所,整数{ &mMainFormTblNum, &mSubformTblNum }



手続き定義開始 フォーム::フォーム開始(長整数 &表番号)
 &mMainFormTblNum = &表番号
手続き定義終了

手続き定義開始 cmdサブフォームの項目確認Click( )
 変数宣言 自動,文字列{ &icon, &title = "cmd項目確認Click( )",
&msg }
 変数宣言 自動,文字列{ &fieldName, &dataType, &fieldKind }
 変数宣言 自動,整数 { &fieldNum }

 if ( #表ファイル名( &mSubformTblNum ) )

  編集表 &mSubformTblNum
  &fieldNum = #項目番号( #u )
  &fieldName = #項目属性( &fieldNum, 1 ) /* 項目名を取得 */
  &dataType = #項目属性( &fieldNum, 2 ) /* データ型を取得 */
  &fieldKind = #項目属性( &fieldNum, 6 ) /* 項目種別を取得{基本、計
算、ふりがな} */

  &icon = "i"
  &msg = "表名  :" + #ファイル名( #表ファイル名(
&mSubformTblNum ), 3 ) + "\n\n"
  &msg = &msg + "項目番号:" + #str( &fieldNum ) + "\n\n"
  &msg = &msg + "項目名 :" + &fieldName + "\n\n"
  &msg = &msg + "データ型:" + &dataType + "\n\n"
  &msg = &msg + "項目種別:" + &fieldKind + "\n\n
  手続き実行 prcMsgPause( &icon, &title, &msg )

  編集表 &mMainFormTblNum
 end


手続き定義終了
*----------------------------------------------*


■サブフォームのイベント
*----------------------------------------------*
名札 メイン



手続き定義開始 フォーム::フォーム開始(長整数 &表番号)
 if ( 1 + #配列要素数( "mSubformTblNum" ) )
  &mSubformTblNum = &表番号
 end

手続き定義終了
*----------------------------------------------*


26980 Re:掲示板では半角のカタカナは全角のカタカナに変換されますのでご注意ください。 ONnoji 2004/07/06-10:36
記事番号26979へのコメント
念のために…(^^ゞ

掲示板では半角のカタカナは全角のカタカナに変換されますので、ご注意ください。


例えば、[フォーム開始]イベントハンドラの場合、
半角カタカナの"フォーム"は全角カタカナに変換されています。

(例)

手続き定義開始 フォーム::フォーム開始(長整数 &表番号)
 &mMainFormTblNum = &表番号
手続き定義終了


26981 Re:サブフォームの処理対象行の項目の取得方法 よろしく 2004/07/06-11:14
記事番号26961へのコメント
なんか勘違いをしていたみたいです。解決しました。
どうもありがとうございます。

PS No.26887ももしよろしければお願いします

戻る