過去の桐井戸端BBS (桐ver.9)
19618 伝票フォームでレコード単位で項目毎にオブジェクトの属性を変更できないでしょうか? 谷 龍典 2003/03/25-17:43
はじめまして!
最近桐V9を、少しずつ勉強している初心者ですが、緊急に業務ソフトを桐で作らなくてはならなくなり、
こんな事出来ないものかと色々考えてみましたが、もう萎縮しきった頭では考えつきませんでしたので お教えください。

伝票形式のフォームで 条件下でレコード単位でテキストオブジェクトの属性の変更が出来ないでしょうか?
背景色・フォント・色などはオブジェクト属性の表示の中の編集属性式可能でしたが、
画面表示する・しないやフォーカス設定 禁止・自動などはレコード単位で制御出来ないのでしょうか?
イベント処理でオブジェクト操作 @A.画面表示="0", @A.フォーカスの設定 = "禁止"すると、
すべてのテキストオブジェクトが 表示されなくなってしまいました。^^;
何か良い方法がありましたら ご教授ください

19620 Re:伝票フォームでレコード単位で項目毎に設定できないでしょうか? 悲しげ 2003/03/25-18:09
記事番号19618へのコメント
どもっ、谷さん、なんか難しそうですね。

ざっと思いつくところでは、イベントとしては「レコード移動」イベントを使うことになると思います。
「フォーカス禁止」は可能でしょうね。
ただし1行移動ごとに「オブジェクト操作」コマンドを実行するとなると、
移動がむっちゃ遅くなりそうな気がしないではありません。(^^;)

ある行だけ画面表示をオフにはできないのだとすれば、私なら編集属性式で前景色(文字色)と背景色を同じにしてみるとか。
見せてもいいのなら、背景色を編集可能行は白、編集不可行は灰色にするとか辺りが私の好みです。
19622 Re:伝票フォームでレコード単位で項目毎に設定できないでしょうか? 谷 龍典 2003/03/25-20:50
記事番号19620へのコメント
悲しげさんお久しぶりです。桐V5の時はお世話になりました。
現在 多遊さんの勉強会に参加しておりますが、V9はいろいろなことが出来て楽しそうなのですが、
覚えることがありすぎて難しいです。
身体に鞭を打っても言うことがききません。^^;
最初は 見えないように消してしまえばと思い、背景色などを設定したのですが、
テキストオブジェクトにボタンをつけてしまった為、ボタンだけが表示されて不恰好だなぁと思う事
(ボタンを消すことは出来ないものでしょうか?)また、画面上消した次のテキストオブジェクトにカーソルがいってしまうのと
フォーカスも有効なので困ってしまっています。
発想の転換が必要なのでしょうね。

19625 Re:伝票フォームでレコード単位で項目毎に設定できないでしょうか? うにん 2003/03/25-21:03
記事番号19622へのコメント
>最初は 見えないように消してしまえばと思い、背景色などを設定したのですが、
>テキストオブジェクトにボタンをつけてしまった為、ボタンだけが表示されて不恰
>好だなぁと思う事(ボタンを消すことは出来ないものでしょうか?)

ボタンも透明にできますよ。

>消した次のテキストオブジェクトにカーソルがいってしまうのとフォーカスも有効
>なので困ってしまっています。発想の転換が必要なのでしょうね。

ちょっとどういう希望なのか認識できないのですが。
空白として存在してフォーカスも禁止にした場合、そこをクリックしたら
どうなってほしいのでしょうか。
単に訂正禁止にしたいのではなくて?

19626 Re:伝票フォームでレコード単位で項目毎に設定できないでしょうか? 悲しげ 2003/03/25-21:24
記事番号19622へのコメント
どもっ、谷さん

>最初は 見えないように消してしまえばと思い、背景色などを設定したのですが、
>テキストオブジェクトにボタンをつけてしまった為、ボタンだけが表示されて不恰
>好だなぁと思う事(ボタンを消すことは出来ないものでしょうか?)また、画面上
>消した次のテキストオブジェクトにカーソルがいってしまうのとフォーカスも有効
>なので困ってしまっています。

失礼ながら、この部分で仰っていることの意味がよく判りません。
19629 フォーカスの件わかりづらい事記載してすみません。 谷 龍典 2003/03/25-23:18
記事番号19622へのコメント
悲しげさん・うにんさんご教授有難う御座います
フォーカスの件ですでややこしいことを記載してすみません。
なぜこの様なことを質問したかと言いますと
例えばですが
沢山の方からのアンケートをデータベース化するとき
項目の質問が あなたの好きな色を1つ選んでください
        テキストボタン には 赤・青・緑 
を選ぶように簡単に作成していたのですが

実際に行ってみると、3種類ではダメだと言うことになり色を調べてみると
全部で30色1つの項目から30色選ぶのは キツイと言うことで

今度は テキスト項目に 寒色・暖色・中間色の 3つの項目にわけることになり
その中から テキストボタンで10色選択してもらえれば
いいのではないかと言うことになりました
入力する時に 暖色系の色を選ぶと 残りの2つ(寒色・中間色)項目は
消えて頂けるほうが有難いのです。(入力が出来ないようにしたいのです)
この2つが残っていると
寒色からも1つ選ばれ 中間色からも選ばれることになってしまいます。

何か良い方法がありましたら
お教え下さい。

19631 Re:フォーカスの件わかりづらい事記載してすみません。 うにん 2003/03/25-23:47
記事番号19629へのコメント
ぱっと思いつくのは、まず「寒色・暖色・中間色」から1つを選び、
それによって色を選ぶ選択肢が変わるようにすることです。

3つのリストがあって1つで選択すると他が消える、のでは
入力しなおしが困難だと思います。

3つのどれかで選択したら、他の2つは未定義に置換する、でもいいかな?

19638 伝票形式のフォームでは無理だと思います。 佐田 守弘 2003/03/26-00:45
記事番号19618へのコメント
谷 龍典さん
●伝票フォームでは
まず今作られている伝票フォームですが、伝票フォームでは難しいと思います。
1レコードのテキストの表示非表示を変更すると、他のレコードも変わるはずです。
せいぜいできる事としては、入力後イベントを使って、入力した値の評価を行い
再入力をうながすしかないでしょう。

●カード型フォームなのでは
やりたい事を書かれていたので、これを呼んでみた結果では、やりたい事は、
アンケート的な入力らしいので、これは伝票フォームではなくて、カードフォームで
作るのが良いような気がしているのですが。
暖色、寒色を選んだ後、その値に応じた選択枝を表示させる方法は可能です。

とはいえ、詳細が解らないので、はずしているかも知れません。

佐田守弘(KS-00119)
19639 Re:伝票形式のフォームでは無理だと思います。 谷 龍典 2003/03/26-07:38
記事番号19638へのコメント
佐田さん ご教授有難うございます
桐V5の書籍 お守りとして大切に持っております。以前オフミでお会いした時、
本にサインしてもらったら良かったと悔しい思いをしました。^^;

やっぱり無理ですか
本当に 一枚ごと入力するアンケートでしたら カード型フォームで作成したほうが
利点があるのですが・・・
今回の与えられた使命としましては、LAN環境下で沢山レコードが
表示された伝票フォームで作成(原案がエクセル作成したもので・・・)
表示属性で色・背景色・フォントサイズなど簡単に変更が出来ましたので、
ひょっとしたらと思ったのですが・・・

条件下で、テキスト項目を タブオーダを設定できないでしょか?
普段は
Aテキスト項目入力後 Bテキスト項目
A項目が未定義の時
Aテキスト項目入力後 Cテキスト項目移動し入力が出来ないものでしょうか

桐V5の一括処理でしたら 簡単に出来るのですが、イベント処理ではマウスが使えて便利なのですが
桐V9では一括処理とイベントの使い方がわかっていないので難しいです。

メインサブフォームで作成したほうがいいのか? 
モーダルフォームを使ったほうがいいのか?
カード型と伝票型を切り替えたほうがいいのか?

考えれば考えるだけ 難しいです
何かいい方法がありましたら ご教授ください
                         谷 龍典 

19640 Re:フォーカスの件わかりづらい事記載してすみません。 谷 龍典 2003/03/26-07:48
記事番号19631へのコメント
うにんさん色々とご指導有難うございます

テキストでボタン付加したものを 透明に変更する為には 編集属性式にどのように記載したらよろしいのでしょうか?

>3つのどれかで選択したら、他の2つは未定義に置換する、でもいいかな?

選択入力後どのようなイベントを作成したらいいのでしょうか

わからない事ばかりで 少しヒントをください
宜しくお願いします。

                           谷 龍典
19645 Re:フォーカスの件わかりづらい事記載してすみません。 うにん 2003/03/26-14:51
記事番号19640へのコメント
>テキストでボタン付加したものを 透明に変更する為には
コマンドボタンかと思っていました。これは、入力支援ボタンでしょうか?
そうだと、他のオブジェクトと同じ操作で透明にできます。
前景色をボタンの表面色にすると、かなり薄い表示になりますね。
でも、入力不可にするんでしたら透明にしなくてもいいかもしれません。

値集合が設定されている項目で自動的に出てくるボタンは、変更できないみたいですね。

>>3つのどれかで選択したら、他の2つは未定義に置換する、でもいいか
>な?
>
>選択入力後どのようなイベントを作成したらいいのでしょうか

例えば、ソースが[A]のテキストオブジェクトに
手続き定義開始 テキスト_2::ソース値更新()
if ([A]<>"")
項目値代入 [B]=""
項目値代入 [C]=""
end
手続き定義終了
のようにすると、[A]に入力確定すると、他は未入力状態になります。
ただ、お話によるとこれはアンケート調査の入力ということなので、
項目をわけてしまうのは集計が面倒になると思います。
例えば「好きな色は?」という問いの答えを入力するのであれば、
項目を1つにする方向で考えた方がいいような。
(まあ、どっちかというと集計より入力の方が大変なのですけどね。)

19646 Re:フォーカスの件わかりづらい事記載してすみません。 谷 龍典 2003/03/26-18:56
記事番号19645へのコメント
うにんさん 悲しげさん 佐田さん どうも有り難う御座います

たいへん参考になりました。
また、色々と考えながら 頑張っていきますので
またわからないことがありましたら
ご教授ください
よろしくお願いします m(_ _)m          

19648 値によって移動する事であれば可能です 佐田 守弘 2003/03/26-22:23
記事番号19639へのコメント
谷 龍典さん
やりたい事がはっきりとしたイメージで理解できてないのですが、
解る範囲でコメントします。
 >条件下で、テキスト項目を タブオーダを設定できないでしょか?
 >普段は
 >Aテキスト項目入力後 Bテキスト項目
 >A項目が未定義の時
 >Aテキスト項目入力後 Cテキスト項目移動し入力が出来ないものでしょうか

この様な、入力順序や次にどこに入力させるかと言った制御であれば、
簡単にできます。
方法としては、ソース値更新イベントを使い、入力された値に応じて、
「メソッド呼び出し フォーカス設定」コマンドを使って、目的のオブジェクト
にフォーカスを移動します。

 >桐V5の一括処理でしたら 簡単に出来るのですが、
桐ver.5でできる事は、大抵の場合可能だと思います。ただし、各種の場面で
考え方や作り方が違うので、その点がおそらく難しいのだろうと思います。

佐田守弘(KS-00119)
19650 Re:値によって移動する事であれば可能です 谷 龍典 2003/03/27-11:10
記事番号19648へのコメント
佐田 守弘さん
わかりやすいコメントいただき本当に有難う御座います
うにんさんの項目値代入 [B]=""で入力不必要なものを未定義にし
フォーカスを移動で対応したいと思います。
ご教授有難う御座いました
今後とも宜しくお願いします。

戻る