過去の桐井戸端BBS (桐ver.8)
11816 表編集でカーソルのあたっている項目名を取り出す関数はありますか pokopon 2001/06/22-14:11
みなさん、こんにちは

表を開いて「対話形式」で編集しているとき、別のフォームから「現在、カーソルのあたっている項目の項目名(あるいは項目番号)」を
取り出す関数はありますでしょうか?
いろいろ探しましたが見つかりません。

利用目的は、
対話型で表を編集しているとき、置換や絞り込みなどで、項目名の省略形が使えますよね。
例えば、
[]="あ" あるいは 単に ="あ" というように
これは、項目名を具体的に指定しなくてもカーソルがあたっている項目に有効です。
しかし、イベントやら一括では項目名の省略形は使えません。
表形式で編集中の表において、「現在カーソルのあたっている項目」に対して、イベントで処理をかけたいと思っています。
そのためには、上記の関数(あるいは、同様の結果が得られるイベント処理)が必要となります。

分かる方がいらっしゃいましたら、よろしくお願いします。


11822 Re:表編集でカーソルのあたっている項目名を取り出す関数 ケント 2001/06/22-18:44
記事番号11816へのコメント
pokoponさん こんにちは

#項目番号(str)では?
項目名 str の項目番号を返す。
str が未定義の場合は現在の項目番号を返す。
存在しない項目名を指定すると未定義値を返す。

#項目番号("")で現在の項目番号を返します。
11823 Re:表編集でカーソルのあたっている項目名を取り出す関数 MSF 2001/06/22-18:47
記事番号11816へのコメント
pokoponさん、はじめまして。

#項目番号(#U)でよいのではないでしょうか。
(試してませんが・・)

関数の説明によると・・
書式・・ #項目番号(str)
説明・・ 項目名strの項目番号を返す。
     strが未定義の場合は現在の項目番号を返す。・・ここがミソ!
     存在しない項目名を指定すると未定義値を返す。

                    とありました。
なんとなく、ご希望に添えるかなっと
それでは。

11824 Re:表編集でカーソルのあたっている項目名を取り出す関数 MSF 2001/06/22-18:50
記事番号11823へのコメント
ケントさんに先を越されました(^^)

ところで、私は、未定義の表示を律儀に#Uとしましたが、
""でもよかったんですね。勉強になりました。

それでは、それでは。
11827 Re:解決しました pokopon 2001/06/22-23:05
記事番号11816へのコメント
KENTさん MSF さん どうもありがとうございました。
目的が達成されました。

#項目番号(#U)
で現在カーソルが当たっている項目の項目番号を取り出せました。
これさえ分かれば....、
#項目属性( n , f ) 関数と組み合わせると、項目名だけではなく、その項目値まで取り出せます。
例えばこんな使い方....(関数HELPから)
#項目属性(#項目番号(#U),f)  取り出す属性を番号で指定します。
値 戻り値
0  項目値(データ型は項目と同じ)
1  項目名(文字列)
2  データ型(文字列)
6  項目種別(文字列)
7  被ふりがな項目名(文字列)
8  項目計算式(文字列)
12  自動複写(文字列)
13  更新(文字列)
14  値集合条件(文字列)
15  表引き条件(文字列)
16  字種条件(文字列)
17  項目制約式(文字列)
18  行制約式(文字列)
19  重複値(文字列)
20  未定義値(文字列)
21  挿入初期値式(文字列)
22  編集初期値式(文字列)

という事で、これは使えます(当初は、項目名だけでよかったのですが、それ以外も求められました)。
半分あきらめていましたので....助かりました。
#項目番号(#U) という使い方....、ちょっと「邪道」のような、「裏技」のような感じがありますが、結果オーライです。
ちなみに、#項目番号("")でも同様の結果が得られます。 

(HELPには、未定義の場合のことが記載されていなかったので、見逃しました。
やっぱりきちんとマニュアルで確かめておく必要がありますね。)

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

戻る