過去の桐井戸端BBS (桐ver.8)
13853 一括処理でボタンを使わずに検索したい とと 2001/11/05-10:42
一括処理で、普段はボタンを使って検索などをしているのですが、
入力した後、ボタンを使用せずに実行することは可能でしょうか。

入力した後、別の表を開いて、検索を行いたいと思います。
イベントを使ってみましたが、定義の仕方が悪いのかうまくいきません。

よろしくお願いします。

13858 Re:別表を検索するイベント例 アックン 2001/11/05-15:59
記事番号13853へのコメント
ととさん、こんにちは。
実はこういう処理は、イベントの方が融通が利くと思います。
もう一度トライしてみませんか。
たとえば、"1.tbl"の[1_A]に 11 と入力してEnterを押すと、[1_B]に い と入力するようなイベント例です。
実際には、現在コマンドボタン(?)で処理している内容を記述することになります。
それによっては、他のイベントを使ったり、組み合わせたりします。

・用意する表
表"1.tbl"  項目[1_A](データ型:整数), [1_B](文字列)
表"2.tbl"  項目[2_A](整数),      [2_B](文字列)

・"2.tbl"にはあらかじめデータを入れておきます。
[2_A]  [2_B]
 10    あ
 11    い
 12    う

・以下がイベントの記述です。
名札 メイン
  var 数値{ &n }
  表 "2.tbl"

手続き定義開始 t1_A::ソース値更新()
  &n = [1_A]
  編集表 "2.tbl"
  検索 [2_A]=&n
  &STR = [2_B]
  編集表 "1.tbl"
  項目値代入 [1_B]=&STR
手続き定義終了


アックン(=^・^=)
13859 ありがとうございます。でも、実は・・・ とと 2001/11/05-17:16
記事番号13858へのコメント
アックンさんありがとうございます。

実は、検索するだけでなく、検索結果を別のフォームで表示させたいのです。
また、その結果が表示されているフォームで、一致するレコードを選び Enter でもとのフォームに戻りたいと思います。

分かりづらい説明で申し訳ありませんが、よろしくお願いします。
13860 Re:ありがとうございます。でも、実は・・・ アックン 2001/11/05-19:29
記事番号13859へのコメント
ととさん、こんばんは。
およその動作の流れはこんな感じでいいでしょうか。

・元の一覧表フォーム:1.wfm (編集対象表:1.tbl)

名札 メイン
  var 共通, 数値{ &n[2] }
  var 共通,文字列{ &str }

手続き定義開始 t1_A::ソース値更新()
  &n[1] = [1_A]
  フォーム呼び出し "2.wfm", ボタン=&STR , 終了状態=&分
  項目値代入 [1_B]=&str
手続き定義終了


・別の一覧表フォーム:2.wfm (編集対象表:2.tbl)

名札 メイン

手続き定義開始 フォーム::フォーム開始(長整数 &表番号)
  var 整数{ &i }
  検索 [2_A]=&n[1]
  繰り返し &i=1,10000  /* 1.tblのEnterが影響しないようにするため、遅延させる。 */
  繰り返し終了
手続き定義終了

手続き定義開始 フォーム::キーアップ(長整数 &仮想キーコード)
  if( &仮想キーコード=13 )
    &n[2] = #行番号 ,\
    &str = [2_B]
    method 戻り値 = &秒 , @b_1.実行()  /* このフォームを閉じる。 */
  end
手続き定義終了

・補足:2.wfmのワークスペースにコマンドボタン(b_1)を追加し、下記設定をしてください。
   機能名   機能パラメータリスト
   閉じる   破棄する



13863 私の「名刺管理」を参考にしてみて下さい 佐田 守弘 2001/11/05-21:02
記事番号13853へのコメント
ととさん
検索の部分ですが、私はこの様な場合、次の様なイメージで作ります。
通常はカード型フォームで1件データが表示してありますが、
このフォーム上で検索したい項目の場所に検索値を入力すれば、
それだけで検索(実際には絞り込み)を行うといった方法です。

この方法は、通常のフォームのテキストオブジェクトの上に、検索用のオブジェクトを重ねて作っておきます。
この検索用のオブジェクトは通常非表示にしておき、「検索を行いたい」の指示を出した時(ESCキーを押すなり、コマンドボタンを押すなりします)
に、検索用のオブジェクトを表示し、入力を終えたら絞り込みを実行する方法です。

「検索したい値を検索したい場所に入力すればよい」といった操作性になりますので、結構使いやすいと思います。

なお、この方法で検索を行うものとして、私のサイトにシェアウエア「桐で作る名刺管理」を掲載しております。
宜しければ試してみて下さい。

検索結果を別フォームで表示して、その中から選ぶ方法については、
カード型と一覧表型のフォームを同時に表示しておき、それを連動させれば、
画面を切り換えずにもできるかも知れませんね。

佐田守弘(KS-00119)
13874 う〜ん。むずかしいです。 とと 2001/11/06-15:20
記事番号13860へのコメント
アックンさんありがとうございます。

せっかく丁寧に教えていただいたのですが、何せ、イベントを使うのが初めてなので...

>・元の一覧表フォーム:1.wfm (編集対象表:1.tbl)
>
>名札 メイン
>  var 共通, 数値{ &n[2] }
>  var 共通,文字列{ &str }
>*
>手続き定義開始 t1_A::ソース値更新()
>  &n[1] = [1_A]

   うまく値が入ってくれず、検索ができないのです。

>  フォーム呼び出し "2.wfm", ボタン=&STR , 終了状態=&分
>  項目値代入 [1_B]=&str
 
   ↑これはどういうことなのでしょうか?


>手続き定義終了
>

  
やはりこういった検索については、ボタンを使用せずに直接Enterで実行した方が使い勝手がいいんですよね?

13881 Re:う〜ん。むずかしいです。 アックン 2001/11/06-17:35
記事番号13874へのコメント
ととさん、こんばんは。
私の前回のイベントは、表引きみたいなもんです。

「イベントを使うのが初めてなので...」とのことなので、LZHファイルを送りますから、私宛にメールください。
(支障ないメールアドレスで結構です。)

それを動かせば、どのようなものかだいたいわかってもらえると思いますので、それから再度質問していただければ、
お互い理解が早いかと。

>やはりこういった検索については、ボタンを使用せずに直接Enterで実行した方が使い勝手がいいんですよ
>ね?
現状はボタンでどのようにされているのか知らないので、なんとも言えませんが。
もしかしてボタンというのは、コマンドボタンではなくて、何か他のものでしょうか?

アックン(=^・^=)

13890 ありがとうございました。 とと 2001/11/07-14:04
記事番号13881へのコメント
アックンさん、なにかとありがとうございました。
だいたいのイメージはつかめてきました。

そこで新たな問題に遭遇したのですが、
オブジェクト操作でタブオーダーの設定で、一番はじめに設定してある項目
(&○○がせっていしてあります。)のタブストップをOFFにしようをするのですが、上手くできません。
2番目以降に設定してある項目についてはできるのですが・・・

ここで一緒に質問して良いかわかりませんが、よろしくおねがいします。
13891 Re:ありがとうございました。 アックン 2001/11/07-15:01
記事番号13890へのコメント
ととさん>
これはまったく別の質問ですけど、ここで続けましょうか。

オブジェクト操作でタブストップをoffできないとのことですが。
表示モードでTabまたはShift+Tabキーを押すと、タブストップのon/off設定がわかります。
訂正モードのときは、タブストップのon/offにかかわりなく、そのテキストオブジェクトに文字カーソルが位置して編集できます。
もしかして、この状態を混同されて錯覚したということはないでしょうか?

アックン(=^・^=)
13892 タブストップ・値集合について とと 2001/11/07-17:40
記事番号13891へのコメント
アックンさんありがとうございます。

一括処理の中でオブジェクト操作を使っているのですが、
行追加、行訂正の時にタブストップをOFFにしたいと思っています。

オブジェクト操作で背景色を変えたりはできるのですか、
どうしても、タブストップだけは変えられません。
それもタブオーダーの設定を一番最初に設定してある項目だけです。

なにか混同しているのでしょうか。

それからもう一つ、項目属性変更2で値集合を変更させる場合は、
数字は設定できないのでしょうか?(5・15・20の3つをを設定させるなど)
13894 Re:タブストップ・値集合について アックン 2001/11/07-18:54
記事番号13892へのコメント
ととさん>

・項目属性変更2で値項目に数字を設定する件

こういう書式です。(オプションで 011 を付加してます。)

項目属性変更2 変更, [A],{,,,,,,,,,"{""5"",""15"",""20""}011"}

>行追加、行訂正の時にタブストップをOFFにしたいと思っています。

・タブオーダーの件
当然、行追加や行訂正に入る前にオブジェクト操作してますよね。
カーソルが位置しているオブジェクトはタブストップが操作できないのかな。
テストするには、カーソルをいったん他の項目に移しておいてから、
最初の項目のタブストップをオブジェクト操作してみて、
それで変更できれば、今度は他のカーソルがある項目でオブジェクト操作して変更できるかどうかを試すというのはどうでしょう。
どうもこれは試してないので、わかりません。どなたか>ALL

アックン(=^・^=)
13901 タブストップ・値集合について とと 2001/11/08-08:43
記事番号13891へのコメント
アックンさん ありがとうございます。

行追加、行訂正をしたあと、タブストップをoffにしたいのですが、うまくいきません。
背景色などは変えられますが、タブストップ、画面表示がoffになりません。
タブオーダーの設定で2番目以降に設定した項目については実行されます。


あと、新しい疑問なのですがよろしいでしょうか?

一括処理の中で項目属性変更2を使用して値集合を設定したいと思います。
ところが、あ・いなどの文字列は設定できるのですが、15・20などの
数字については設定できません。文字列に変更してもできませんが、
これは英数字の設定はできないのでしょうか?

13903 値集合はできました。 とと 2001/11/08-09:16
記事番号13894へのコメント
アックンさん何度もありがとうございます。

>・項目属性変更2で値項目に数字を設定する件
>
>こういう書式です。(オプションで 011 を付加してます。)
>
>項目属性変更2 変更, [A],{,,,,,,,,,"{""5"",""15"",""20""}011"}

できました。ありがとうございました。

>・タブオーダーの件
>テストするには、カーソルをいったん他の項目に移しておいてから、
>最初の項目のタブストップをオブジェクト操作してみて、
>それで変更できれば、今度は他のカーソルがある項目でオブジェクト操作して
>変更できるかどうかを試すというのはどうでしょう。

他の項目に移しておいてもやっぱりダメみたいです。


タブオーダーの設定で最初の項目[A]を二番目以降に設定すると、上手くできますが、これを一番目にするとだめです。
やっぱりできないのでしょうか。


13904 Re:タブストップ・値集合について アックン 2001/11/08-09:26
記事番号13901へのコメント
ととさん> 前回とほぼ同じような内容だから投稿ミスかもしれませんけど。

>背景色などは変えられますが、タブストップ、画面表示がoffになりません。
画面表示もOFFにならない。
一括処理は試してないので、思いつくことだけ。
そのセルがグループ項目だからとか?
変数がソースでしたね。
今まさにそのセルにフォーカスがあたっているからとか?
最初にタブが位置するオブジェクトだからとか?
よくわからないです。

項目属性変更2の件はすでに解答を書いているので、ご覧になってください。
数字以外の文字列のときは、たんに{a,b,c}とすれば通りますから簡単なんですが、
数字のときは難しい書式になりますね。(^^;

この書式はマニュアル本に具体例をあげてもらえると助かります。>K3さん

アックン(=^・^=)
13905 Re:タブストップ・値集合について アックン 2001/11/08-09:29
記事番号13901へのコメント
ととさん>
タブストップの件については、具体的なフォーム例と一括処理例をアップされた方が解答がつきやすいと思います。
(ここを読んでいる人が再現できるように確かめてから、アップしてくださいね。)

アックン(=^・^=)

13907 Re:タブストップ・値集合について とと 2001/11/08-13:00
記事番号13904へのコメント
アックンさんありがとうございます。

タブストップの件は、どうしても分からないので、あきらめようと思います。
いろいろアドバイスいただいたのにすみません。



>項目属性変更2の件はすでに解答を書いているので、ご覧になってください。
>数字以外の文字列のときは、たんに{a,b,c}とすれば通りますから簡単なんで
>すが、数字のときは難しい書式になりますね。(^^;

そうですね。今までは、文字列だけを設定していたので戸惑いました。

ありがとうございました

13909 Re:タブストップ・値集合について 【多遊】 2001/11/08-20:23
記事番号13907へのコメント
>タブストップの件は、どうしても分からないので、あきらめようと思います。
>いろいろアドバイスいただいたのにすみません。
横からすみません。
最初からoffにしておき、必要なときonにするのは
いかがでしょうか?

戻る