過去の桐井戸端BBS (桐ver.9)
22546 姓と名の間にスペースを入れるように入力規制をしたい 二児の父さん 2003/10/02-16:51
桐で住所録を作っていますが、姓と名前の間に全角スペースを必ず入れるような入力規制はできますか?

22547 Re:姓と名の間にスペースを入れる入力規制は? Hiroshi 2003/10/02-17:22
記事番号22546へのコメント
二児の父さんさん

桐に限らず、PCは姓と名を判断する能力はないと思います。
もし、姓と名を分けたいのでしたら、テーブルの項目名を姓と名に分けたらどうでしょうか?


22548 Re:姓と名の間にスペースを入れる入力規制は? 幅田 2003/10/02-18:12
記事番号22547へのコメント
Hiroshiさん
二児の父さん
こんにちは。

>桐に限らず、PCは姓と名を判断する能力はないと思います。

たしかに
「西井三郎」さんは
「西井 三郎」さんなのか
「西 井三郎」さんなのか
どっちかわからないですね。

姓と名の区別はわからないけど、
入力した項目にとにかく一つだけ全角の
スペースを入れなければならないという制約なら、

項目制約式に

#桁数([])-#桁数(#trim([],4))=2

と入れてやることでできます。
この場合、半角のスペース一つはだめだけど、
半角のスペースが離れて2つあれば、
通ってしまいます。

半角でも全角でもいいのなら、

#文字数([])-#文字数(#trim([],4))=1

とすれば、スペース1個のみとなります。

とりあえず、半角でも全角でも1個だけ、
スペースを含めて入力しておいて、後で、
#文字置換などで、半角スペースを全角スペースに
変換してやればいいのかもしれません。

ただし、これだと先頭や末尾にスペースがある場合は通ってしまいます。

その場合は、次のようにするとか・・

#文字数([])-#文字数(#trim([],4))=1 .and #文字数([])-#文字数(#trim([],3))=0

22549 Re:姓と名の間にスペースを入れる入力規制は? 二児の父さん 2003/10/02-18:27
記事番号22547へのコメント
Hiroshiさん

>桐に限らず、PCは姓と名を判断する能力はないと思います。
>もし、姓と名を分けたいのでしたら、テーブルの項目名を姓と名に分けたら
>どうでしょうか?


言葉が足りませんでした。すでに姓と名の間に全角スペースが必ずあるデータが10000件程あります。
この項目にに第3者がスペースを入れないで入力をしようとしたときに、
文字列の間にスペースを作らずに次の項目へ移動できないようにしたいのですが、いかがでしょうか?
22550 Re:姓と名の間にスペースを入れる入力規制は? 二児の父さん 2003/10/02-18:47
記事番号22548へのコメント

幅田さん、ありがとうございました。文字列の間に必ずスペースをいれる制約式を使用してみて気が付きました。
後半の名前の後にも不要なスペースが2つないし、3つあるデータもあり、
この式を使用すると、データが消えてしまいます。
こうすると、文字間のスペースは取らずに、後ろのスペースだけ取る関数を探すか、新たに質問してみます。
22551 Re:姓と名の間にスペースを入れる入力規制は? うにん 2003/10/02-20:30
記事番号22549へのコメント
>文字列の間にスペースを作らずに次の項目へ移動できないようにし
>たいのですが、いかがでしょうか?

項目制約条件に
#文字位置([]," ")>1 .and #文字位置(#文字列反転([])," ")>1
とか、
#文字位置([]," ")>1 .and #文字位置([]," ")<#文字数([])
とか。

22552 Re:姓と名の間にスペースを入れる入力規制は? うにん 2003/10/02-20:34
記事番号22550へのコメント
>後ろのスペースだけ取る関数を探すか、新たに質問してみます。

同じ関数です。ヘルプで#trimを見てください。

22553 Re:姓と名の間にスペースを入れる入力規制は? 幅田 2003/10/02-21:12
記事番号22552へのコメント
うにんさん
こんにちは。いつもお世話になっております。

二児の父さん
実は私も二児の父です。

>>後ろのスペースだけ取る関数を探すか、新たに質問してみます。
>同じ関数です。ヘルプで#trimを見てください。

#trim([],2)
です。
もしくは
#rtrim([])
でもいいです。


22555 Re:姓と名の間にスペースを入れる入力規制は? 二児の父さん 2003/10/02-22:18
記事番号22551へのコメント
>項目制約条件に
>#文字位置([]," ")>1 .and #文字位置(#文字列反転([])," ")>1
>とか、
>#文字位置([]," ")>1 .and #文字位置([]," ")<#文字数([])
>とか。

うにんさんへ
ありがとうございました。何日、考えても解決しなかったのにどうしたらこういう答えがわかるのかを、知りたいものです。
名前の後の余分なスペースは関数で取ることがわかりましたので、早速取りかかります。
挫折するたびにAccessが頭をよぎりますが、やっぱり桐はやめられません。
22556 Re:姓と名の間にスペースを入れる入力規制は? 二児の父さん 2003/10/02-22:28
記事番号22553へのコメント
幅田さんへ、
ありがとうございました。
いろいろな方の助言で、桐がどんどん発展していきます。
独学ですが、桐井戸端BBSのおかげで、自分の勉強不足で悩んでいる問題が解決できると、
ほんとに嬉しくなります。
昔、RPGゲームでイベントをクリアするたびに「さぁ、次へ進めるぞ」と、勇躍した記憶がよみがえりました。

戻る