過去の桐井戸端BBS (桐ver.9)
24480 計算式を設定したフォームのテキストボックスに編集で入力したい こだま478号東京行き 2004/01/29-15:18
現在、会員名簿をフォームから入力し表へ複写する方法で作成しています。

電話番号の欄を設けており、そのテキストボックスの条件式に

#部分列( [電話] , 1 , #IS記号( [電話] , 0 )-1 )+"-"+#条件選択( #文字数( #部分列( [電話] ,
1 , #IS記号( [電話] , 0 )-1 ) )=4 , #部分列(
[電話] , 6 , 2 ) , #文字数( #部分列( [電話] , 1 , #IS記号( [電話] ,
0 )-1 ) )=3 , #部分列( [電話] , 5 , 3 ) , #文字数( #部分列( [電話] ,
1 , #IS記号( [電話] , 0 )-1 ) )=2 , #部分列( [電話] , 4 , 4 ) )+"-"+#部分列( [電話] , 9 )

と設定しています。

このテキストボックスに、編集時で新規に入力したいのですが、フォーカスが移動されず入力することができません。
どのようにすれば入力できるようになるのでしょうか?

ご教授の方、よろしくお願いします。(桐V9)
24484 計算式がソースでは入力できません 佐田 守弘 2004/01/29-18:08
記事番号24480へのコメント
こだま478号東京行きさん

まず始めに述べておきますと、表の計算項目や、計算項目をソースとするテキストオブジェクト、
または計算式をソースとするテキストオブジェクトの編集はできません。

今行おうとしている方法では、目的を達する事ができないので、一部書かれている中で不明な部分の確認をさせて頂きながら、
どの様な方法が適切であるかを考えて見たいと思います。

>会員名簿をフォームから入力し表へ複写する方法で作成しています。
の「複写する」に何か特別な意味があるのでしょうか。
通常、フォームは表を編集する画面で、フォーム上で編集作業をすれば、
そのまま表に入力されるものなのですが。

>電話番号の欄を設けており、そのテキストボックスの条件式に
これは条件式ではなくて、ソースに計算式を設定する意味で良いですね。

●電話番号の欄(テキストボックス)に設定した計算式による機能
書かれている計算式は、[電話]の項目値を成形している様ですが、テキストボックスのソースに計算式を設定すると、
その計算式を表示するだけの機能になります。
冒頭に述べた様に、ここに値の入力はできません。
もし入力をするとしたら、[電話]をソースとするテキストオブジェクトを作り、
ここで入力と編集をします。その値を成形した文字列が、上記の計算式のテキストオブジェクトに表示されます。

●成形した後で何をしたいのか
要するに「フォームから(電話番号を)入力し、(これを)表へ複写する」の部分に
戻るのですが、この部分で何をどの様にしたいのかをお知らせ下さい。

佐田守弘(KS-00119)
24488 補足:「ソース」とは「ソース値の設定」の意味です 佐田 守弘 2004/01/29-23:17
記事番号24484へのコメント
読み返してみると、語句が不適切な様なので補足訂正します。
全コメントで「ソース」と書いているものの意味は、テキストオブジェクトのソース値の設定の意味です。
「計算式をソースとする」とは、そのテキストオブジェクトのソース値の設定欄に計算式が設定してあるという意味です。
表題も、「計算式がソースでは入力できません」よりも、「ソース値に計算式が設定されているテキストオブジェクトでは
入力編集ができません」と書いた方が正確でした。

佐田守弘(KS-00119)
24560 Re:計算式がソースでは入力できません こだま478号東京行き 2004/02/03-11:34
記事番号24484へのコメント
>要するに「フォームから(電話番号を)入力し、(これを)表へ複写する」の部分に
>戻るのですが、この部分で何をどの様にしたいのかをお知らせ下さい。

返事が遅れて申し訳ありません。m(_ _)m
このことについてですが、簡単に言ってしまうと「ハイフンだけを残したい」ということです。
既に電話番号が入力されているものはいいのですが、まだ入力されていないレコードに
一回一回ハイフンを打たずに数字だけを入力したいという要望が、私の部下からあったため
このような質問をさせていただきました。
複写に関しては、新規入力のものを元となる表へ追加ということです。

あまりうまく説明できませんが、少しでもご理解いただければ幸いです。
24583 Re:計算式がソースでは入力できません 佐田 守弘 2004/02/04-22:07
記事番号24560へのコメント
こだま478号東京行きさん
まだ一部理解できない部分があります。以下の2点です
@ >簡単に言ってしまうと「ハイフンだけを残したい」ということです。
と書かれていますが、ハイフォンを残したいとはどういう意味なのでしょうか。
A >複写に関しては、新規入力のものを元となる表へ追加ということです。
これは元となる表に直接入力するのではなくて、何か別のワーク表に入力してから、
それを「元となる表」に複写するという意味なのでしょうか。

以上はさておき、質問の主旨は、電話番号入力で、区切りのハイフォンを
キー入力するのが面倒だから、ハイフォンを入れずに、数字だけで入力したいという
意味である事だけは解りました。

郵便番号であれば、3桁と4桁の間にハイフォンが入る事が決まってますから、
ハイフォンを抜いて連続した7桁の数字を入力し、途中にハイフォンを自動で入力する事が簡単にできます。
具体的にはソース値更新イベントで値を書き換えます。

しかし電話番号の場合には、区切る桁位置が一定ではありません。
実現するには、全国の市外局番と市内局番の全データの表を作って、
ハイフォンなしの局番の数字をハイフォン有に書き換える事が必要になります。

これはとても大変なので、私はハイフォンの代りにスペースを入力しています。
右手でテンキーの数字を、左手で区切りのスペースを入力します。
入力後にソース値更新イベントを使って、文字列置換関数でスペースをハイフォンに書き換えます。

佐田守弘(KS-00119)

戻る