過去の桐井戸端BBS (桐ver.9)
28051 ドロップダウンリストで選択値リストに使用している表の1項目を表示させて選択入力したい くるみ 井上 2004/10/28-08:46
桐9を使用しています。
ドロップダウンリストの設定で選択値リストに使用している表の1項目を表示させて、
その中から選択して入力するということができますでしょうか。
表引き項目で同じようなことが可能のようですが、ドロップダウンリストで1項目を表示させたいと思っています。
フォームはメイン・サブでメインのカード形式の1項目に上記の方法で入力し、
サブにリンクしたデータを表示させて行挿入等をしたいと思っています。
マニュアルに選択値リストに配列変数・・・との記述がありますが、理解できず
お尋ねする次第です。よろしくお願いします。
28052 Re:ドロップダウンリストの設定 うにん 2004/10/29-00:02
記事番号28051へのコメント
>ドロップダウンリストの設定で選択値リストに使用している表の1項目を表示させ
>て、その中から選択して入力するということができますでしょうか。表引き項目で
>同じようなことが可能のようですが、ドロップダウンリストで1項目を表示させた
>いと思っています。

いわゆる「既存値の入力」だと思いますが、変数に入れるのでは値の数が限られるので
このさいドロップダウンリストはあきらめてモーダルフォームでやるのが定石でしょうか。
検索とか並び替えとかできて便利ですし。
出現頻度順に多いものだけリストに入れる、とかも考えられますが。

28053 Re:ドロップダウンリストの設定 佐田 守弘 2004/10/29-00:05
記事番号28051へのコメント
くるみ 井上さん
まず、
 >マニュアルに選択値リストに配列変数・・・との記述がありますが、
の部分から説明します。
テキストボックスの入力支援ボタンで表示させる選択値リストには、
直接値を記述する方法(定数)とリストの値を代入している配列変数名を指定する方法などがあります。
定数とは、「"東京","大阪","名古屋"」の様に、値をカンマで区切って書き並べます。
この値を条件によって変化させたい様な場合には、配列変数名を指定する事もできます。
この場合、&地名[1]="東京"、&地名[2]="大阪"の様に値が代入されていれば、
リストに「&地名」と記述することで、直接記述したのと同じ結果になります。

質問の件をこの方法で行うなら、「選択値リストにしようとしている表」の値を順に全て代入しておけば、可能になります。
フォームのイベントのメイン部で、以下の様に行えば良いでしょう。
 表 "地域リスト.TBL"
 代入 &i=1
 繰り返し (.NOT #終端行)
  代入 &地名[&i]=[地域名]
  代入 &i=&i+1
 繰り返し終了
 終了 表 "地域リスト.TBL"

しかし質問の主旨はリスト値の表を表引きの様に表示したいとの事なので、
入力支援ボタンはドロップダウンリストではなくて、表引きに設定するのだと思います。
この場合にはどこかの項目、たとえば[地域]という項目があって、
東京、大阪といった地域名が入力されている表(これが選択値リストにしようしている表ですが)を表引き設定しておきます。
そしてドロップダウンリストのリストの種別に表引きを、選択値リストに表引きを設定している項目名である[地域]を設定します。
この設定で、入力支援ボタンをクリックすれば表引きのパネルが開きます。

佐田守弘(KS-00119)

質問文の
>フォームはメイン・サブでメインのカード形式の1項目に上記の方法で入力し、サ
>ブにリンクしたデータを表示させて行挿入等をしたいと思っています。
の部分を見ると、もう1つ別の質問が出て来そうな気がしていますが。
28054 Re:ドロップダウンリストの設定 くるみ 井上 2004/10/29-07:45
記事番号28051へのコメント
うにん さん
佐田 守弘 さん
早速ありがとうございます。
変数を使った方法と、表引きの方法と両方をやってみます。
(変数の方はいまだにイベントが理解していないのでどうかわかりませんが)
またご質問させていただくと思います。よろしくお願いします。

28055 Re:ドロップダウンリストの設定 くるみ 井上 2004/10/29-08:59
記事番号28053へのコメント
佐田 守弘さん

お世話になります。
イベントに書き込んでやってみましたが、変数宣言?でしょうか、うまくいきません。
(いろいろやってみましたが)
&地名 &i はどのように変数宣言すればいいのでしょうか、よろしくお願いします。

28059 Re:ドロップダウンリストの設定 幅田 2004/10/29-13:45
記事番号28055へのコメント
くるみ 井上さん
こんにちは。

>&地名 &i はどのように変数宣言すればいいのでしょうか、よろしくお願いします。

変数宣言 文字列{&地名[10]}
変数宣言 数値{&i}

のように書きます。
配列変数 &地名[10]
の中の10という数字は要素数の最大値です。

28062 Re:ドロップダウンリストの設定 くるみ 井上 2004/10/29-17:05
記事番号28059へのコメント
幅田さん ありがとうございます。
イベントにかきこんでみましたが、
つぎのようなエラーがでます。

U1156:配列型変数の添字が定義の範囲を超えています

環境設定とツールのマニュアルをみながらいろいろやってみましたが、
同じようにエラーがでます。
どこなんでしょうか。

28063 配列変数の添字のエラー 佐田 守弘 2004/10/29-18:24
記事番号28062へのコメント
くるみ 井上さん
 >つぎのようなエラーがでます。
 >U1156:配列型変数の添字が定義の範囲を超えています

配列変数の添字の値は1から始まって、宣言した時の最大値までです。
このエラーが出るのは、おそらく、配列変数の添字の値が0になっているのではないかと思います。
添字を指定している変数に代入されている値を確認して下さい。

佐田守弘(KS-00119)
28064 Re:ドロップダウンリストの設定 悲しげ 2004/10/29-20:22
記事番号28062へのコメント
やろうとしていることから推すに、「ドロップダウンリスト」ではなく
「表引き項目」を指定した方がはるかに簡単なような気がするのですが、
今回はあえてドロップダウンリストのお勉強をしたいと云うことなのでしょうか? (^^;)

>U1156:配列型変数の添字が定義の範囲を超えています

これはおそらく、配列変数を &地名[10] のように設定したのだが、
要素(この場合はレコード数)が11以上であったと云うことではないでしょうか?
とすれば、今回は配列要素数の最大値=レコード総件数のようですから、

 変数宣言 文字列{&地名[#総件数]}

とすればよいように思えます(但し、対象表が既に開かれている前提で)。


28065 Re:ドロップダウンリストの設定 悲しげ 2004/10/29-20:50
記事番号28051へのコメント

>表引き項目で同じようなことが可能のようですが、
>ドロップダウンリストで1項目を表示させたいと思っています。

もしも、表引き項目では多項目が表示されてしまう(1項目のみの表示ができない)ので、
1項目表示のためだけにドロップダウンリストを使いたいと云うことであるのならば、
実は表引き項目でも1項目のみ表示は可能です。
表定義の項目属性/表引きタブの設定において、「検索項目」と
「値項目」ともに、表示させたい1項目のみを指定する。
なお、この時、左側の「比較項目」は空でも構いません。
あ、いえ、必要な項目があるのなら入れるのは当然ですけど。(^^;)

以上、外している可能性70%ながら。


28066 Re:配列変数の添字のエラー くるみ 井上 2004/10/29-22:03
記事番号28063へのコメント
佐田 守弘さん

ありがとうございます。添字の値も1とか10とかやってみたのですが、
同じエラーがでて、実際にフォームのボタンを押すとドロップダウンリストには同じ文字がずらっと表示されます。
もっといろいろやってみます。
28067 Re:ドロップダウンリストの設定 くるみ 井上 2004/10/29-22:14
記事番号28065へのコメント
悲しげさん ありがとうございます。
表引きでやってみますと、いくぶん慣れているせいか一発でうまくいきました。

実はアクセスのフォーム?でドロップダウンリストのようなものがあり、
桐でもできるはずと今回やってみようと思った次第です。アクセスのMDBといいますかプログラムといいますか、
すべて業者に作ってもらったやつで、ちょっとの変更もままならず、少しはわかる?
桐でやってみようかと思った次第です。


28068 Re:配列変数の添字のエラー くるみ 井上 2004/10/29-22:35
記事番号28066へのコメント
イベントは下記のようにしていますが、
8行目の代入 &現場名[&i]=[現場名]で
U1156:配列型変数の添字が定義の範囲を超えています
との表示がでます。

名札 メイン

変数宣言 文字列{&現場名[10]}
変数宣言 数値{&i}
 表 "原価工事名.TBL"
 代入 &i=1
 繰り返し (.NOT #終端行)
 代入 &現場名[&i]=[現場名]
 代入 &i=&i+1
 繰り返し終了
 終了 表 "原価工事名.TBL"


もっといろいろやってみます。

28069 Re:配列変数の添字のエラー 悲しげ 2004/10/29-23:01
記事番号28068へのコメント
No.28067によれば、既にドロップダウンリストではなく表引き項目
を使うことで解決済のようですが、

>名札 メイン
>*
>変数宣言 文字列{&現場名[10]}
>変数宣言 数値{&i}
> 表 "原価工事名.TBL"
> 代入 &i=1
> 繰り返し (.NOT #終端行)
> 代入 &現場名[&i]=[現場名]
> 代入 &i=&i+1
> 繰り返し終了
> 終了 表 "原価工事名.TBL"
>*

の記述は(もしコピペ時のミスでなければ)二重に間違っています。
ひとつは懸案の配列要素数のエラー関連(多分)、もうひとつはそれを
クリアしたとしてもこのままでは無限ループとなります。(^^;)

No.28064で書いたことも含めて添削(^^;)しますと
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
名札 メイン

 表 "原価工事名.TBL"
 変数宣言 文字列{&現場名[#総件数]}
 繰り返し (.NOT #終端行)
  &現場名[#行番号]=[現場名] /*★*/
  ジャンプ 行番号=+1
 繰り返し終了
 終了 表 編集対象表


〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
但し挙動未確認。
もしうまく行かなければ★印行を次のようにするとか?

 &i=#行番号,&現場名[&i]=[現場名]

あ、そのためには 変数宣言 数値{&i} は復活ですね。


ps.管理者さま江

最近、ここ凄く遅くなっているような・・・・(?_?)


28070 Re:配列変数の添字のエラー くるみ 井上 2004/10/29-23:43
記事番号28069へのコメント
悲しげさん こんばんは
動きました。ありがとうございます。
表引きのやり方とこのドロップダウンリストのやり方と2つフォームを作ってみましたが、
表引きの方が他の項目も見れることからデータの確認もやりやすく、
表引きでやろうと思います。
始めの考えとはまったく逆になりました。
また、いろいろとお尋ねすると思います。
よろしくお願いします。

皆様ありがとうございました。

戻る