(現在 過去ログ19 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■2774 / inTopicNo.1)  項目の入力内容を制御
  
□投稿者/ masa -(2007/07/20(Fri) 14:34:33)
    お世話になります。

    表に項目1、2,3,4があります。3の項目に○印があれば、4の項目に[1]+[2]の文字列を表示し、無ければ[4]の項目に入力を受け付けるようにしたいのですがどのようにすればいいでしょうか?
    ご教授よろしくお願いいたします。

    サンプル添付しています。


    環境は桐2007  OSWINXP

1184909740.zip
/6KB
引用返信 [メール受信/OFF] 削除キー/
■2775 / inTopicNo.2)  Re[1]: 項目の入力内容を制御
□投稿者/ ONnoji -(2007/07/20(Fri) 15:38:27)
    > 表に項目1、2,3,4があります。
    > 3の項目に○印があれば、4の項目に[1]+[2]の文字列を表示し、
    > 無ければ[4]の項目に入力を受け付けるようにしたいのですがどのようにすればいいでしょうか?

    ひょっとして、表定義の[項目計算式]で行うのでしょうか???

    表定義の[項目計算式]に計算式を指定した項目は、どうやっても手入力することは出来ませんよ。
    つまり、項目計算式とは手入力できない項目と割り切ってしまうしか仕方がありません。

    以下が参考になるかも…

    過去の桐井戸端BBS (桐ver.9)
    21579 項目計算式で計算された値をある場合だけ強制的に手入力したい
    http://www.fuku3.com/~habata/kbbs/kakov9/21579.htm


引用返信 [メール受信/OFF] 削除キー/
■2792 / inTopicNo.3)  Re[1]: 項目の入力内容を制御
□投稿者/ ひろ -(2007/07/23(Mon) 09:06:51)
    No2774に返信(masaさんの記事)
    > お世話になります。
    >
    > 表に項目1、2,3,4があります。3の項目に○印があれば、4の項目に[1]+[2]の文字列を表示し、無ければ[4]の項目に入力を受け付けるようにしたいのですがどのようにすればいいでしょうか?

    [4]の項目の編集初期値式で

    #条件選択([3]="○",[1]+[2],1,"")

    で出来るのでは

    ただし[4]の項目は常時編集可能ですので、[3]の項目が"○"でないときだけ編集出来るようにするとすれば、フォームでイベントを使うしかないかも

引用返信 [メール受信/OFF] 削除キー/
■2797 / inTopicNo.4)  Re[1]: 項目の入力内容を制御
□投稿者/ 通りすがり -(2007/07/24(Tue) 12:17:34)
    無理だよ
引用返信 [メール受信/OFF] 削除キー/
■2799 / inTopicNo.5)  Re[1]: 項目の入力内容を制御
□投稿者/ 今村 誠 -(2007/07/24(Tue) 17:29:48)
    サンプルは見ていませんが、ソース値更新イベントを使い入力を飛ばすよう
    にしてはいかがでしょうか?
    但し表で訂正した場合、ご入力を防ぐ手だてはありません。
    イベントのサンプルをアップしてみます。
    ファミリーを使っています。

1185265788.lzh
/7KB
引用返信 [メール受信/OFF] 削除キー/
■2800 / inTopicNo.6)  Re[1]: 項目の入力内容を制御
□投稿者/ アックン -(2007/07/24(Tue) 17:33:40)
    フォームの一覧表オブジェクトを使ってみてはどうですか。
    イベントは、下の2例のうちどちらかひとつを使えばいいですよ。

    ・[3]をソース値とするテキストオブジェクト t3 に 入力後 イベントを使う例
    手続き定義開始 t3::入力後(参照 文字列 &編集文字列,・・(省略)
     if( &編集文字列="○" )
       項目値代入 [4] = [1]+[2]
     else
       項目値代入 [4] = ""
     end
    手続き定義終了

    ・[4]をソース値とするテキストオブジェクト t4 に 入力前 イベントを使う例
    手続き定義開始 t4::入力前(参照 文字列 &編集文字列)
     if( [3]="○" )
       &編集文字列 = [1]+[2]
     else
       &編集文字列 = ""
     end
    手続き定義終了
    アックン(=^・^=)

引用返信 [メール受信/OFF] 削除キー/
■2802 / inTopicNo.7)  Re[2]: 項目の入力内容を制御
□投稿者/ masa -(2007/07/24(Tue) 19:37:51)
    みなさま いろいろありがとうございます。
    まだ試していないのですが、今村さまの方法が合っているように思います。
    入力にフォームを使っていますので、設定してやってみます。
    ありがとうございます。


引用返信 [メール受信/OFF] 削除キー/
■2803 / inTopicNo.8)  Re[1]: 項目の入力内容を制御
□投稿者/ 通りすがり -(2007/07/24(Tue) 20:09:12)
    なんだ、フォーム使って良い質問なのー
    だったらテーブル構造でフィールドが1つ冗長だぞ、って余計なお世話か
引用返信 [メール受信/OFF] 削除キー/
■2804 / inTopicNo.9)  Re[3]: 項目の入力内容を制御
□投稿者/ 今村 誠 -(2007/07/24(Tue) 21:18:19)
    masaさんサンプルを作るに当たって下記の記述に誤りがありました。
    >  メソッド呼び出し @テキスト_2.ソース値取得(&Stext1)………×

     メソッド呼び出し @テキスト_2.ソース値取得(&Stext1,0)………○
    ソース値取得の場合どの様に値を取り出すかの指定が必要です。
    今回は文字列でしたので正しく動作しましたが、数値の場合
    オプションの指定が「0」「1」「2」で結果が変わることがあります。
    番号 取得モード
     0 オブジェクトの[ソース]に指定した値と同じデータ型のまま取得する。
     1 編集文字列として取得する。
     2 表示文字列として取得する。

    普通は、「0」が一般的です。
    できれば正しい書式に直して下さい。
引用返信 [メール受信/OFF] 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -