
No.2
- 回答日時:
単なる思いつきですが、まず、「@.-_」をSubstitute関数で削除します。
その結果、abcdefghijklmnopqrstuvwxyz0123456789が残ります。
これは、たとえば
vp6o0zerhybt4f8s3umagj2knw5i71cdql9x
と並んでいても1ワードです。
つまり、このワード数が2以上となるときにはあいだに「%$空白#あ」といった文字が含まれていることになります。
ところが、前後に「%$空白#」がある場合にはこの限りでないため、
Length ( LeftWords ( アドレス ; 1 ) ) - Length ( アドレス )
等を用いてチェックします。
大文字の使用はLower関数またはUpper関数を使用して一致不一致でチェックできます。
これらすべてがANDで満たされればOKとなります。
ただし詳細な検証をしておりません。誤りがあったらごめんなさい(単なる思いつきなので誤りがありそうな気がします)。
う~ん、なるほど…。
WordCountによるチェックまでは考えが及びませんでした。
さっそくテストしてみたところ正常に動くようです。
って言うか“Length(LeftWords(アドレス;1))-Length(アドレス)”あたりの関数がサラッと出てくるところを見るとかなりの上級者ですね。
しかしながら上記の方法で私が危惧する点は、
数多ある特殊キャラクタの特性をすべて把握できていないため、
記述した関数が期待どおりに動作するか確信が持てないことです。
例えば“ichiro.s”では“1”の値が返されるにも関わらず、
“ichiro^s”では“2”の値が返ってくるように、
私が予想していない特殊キャラクタを入力された場合は制限を通り抜けてしまう恐れがあるのです。
OS環境による認識方法の違いも完全には否定できませんしね…。
なので可能であるなら入力できないキャラクタをチェックする方法よりも、
入力できるキャラクタをビシッと指定する方法がないものかと苦慮している次第です。
No.1
- 回答日時:
フィールド定義 > オプション > 入力値の制限 > 計算式で制限
Filter ( メールアドレス;"abcdefghijklmnopqrstuvwxyz0123456789@.-_" ) = メールアドレス
でどうですか?他にも手はありそうですけど…
いやいや…。それではダメです…。
その関数では任意の文字列の中から「abcdefghijklmnopqrstuvwxyz0123456789@.-_」と言う文字列だけを取り出すことになります。
私が考えた中で一番実現性があると思ったのは、
別に多数のテキストフィールド(メールアドレス_001~100)を作成して、
メールアドレスの文字列を先頭から一文字ずつ自動入力で取り出す方法です。
この方法でテキストフィールド(メールアドレス_001~100)に値一覧(abcdefghijklmnopqrstuvwxyz0123456789@.-_)の制限をかければ、
上記の40文字以外のテキストが入力できなくなると思ったのですが、
当然多数(あるいは無限?)のテキストフィールドが必要になりデータベースが複雑になってしまいますし、
何より値一覧では“ハイフン”の入力が出来ないので断念しました。
(しかし上記の方法も文字数が少ないテキストフィールドに限れば使えそうですね♪)
やはり「PatternCount」で入力できない文字を全て禁止した方が良いのでしょうか…。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessのテキストボックスの入力文字制限 1 2023/01/18 20:43
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- その他(Microsoft Office) WordやExcelで英数字のみ半角または全角にしたい 6 2022/08/03 08:18
- iOS これは日本語入力の大発明ですか? 7 2022/12/21 07:17
- その他(ソフトウェア) ソースネクストアプリをインストールし、製品登録で半角英数字が入力できない 5 2022/07/03 22:44
- Excel(エクセル) EXCELでの文字・数字入力の基本について教えてください。 2 2023/05/29 23:17
- その他(プログラミング・Web制作) 単純なコマンドプロンプトが動きません。 2 2022/04/19 15:21
- Excel(エクセル) exel 漢字・英数字混在セルの入力規則 5 2022/04/03 11:08
- Word(ワード) Windows11キーボードの調子が悪いので治し方を教えてください。 【症状】 1つ目 キーボードの 5 2022/07/03 14:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Outlookの連絡先の中に項目を増...
-
ファイルメーカーについて
-
ExcelからAccessデータを検索す...
-
ファイルメーカーでの質問
-
ACCESSの型変換(日付型)について
-
Accessについて質問です
-
ファイルメーカーの印刷について
-
エクセルのDSUM関数について教...
-
Access2003で全文検索文書管理...
-
FileMakerで画像をまとめて書き...
-
[Access2003]メイン・サブフォ...
-
分数の入力
-
INSERT INTO table(DATE) VALUE...
-
ACCESS フォームに入力した文字...
-
Wordでの数式の入力
-
LOTUS NOTESについて
-
FileMakerでのテキスト処理
-
フィールド、インスタンス変数...
-
ワードでスペースを保護する方法
-
FileMakerの文字の一括変換につ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「#エラー」の回避
-
アクセスで入力したデータの順...
-
accessのフィールドに10桁の数...
-
ExcelからAccessデータを検索す...
-
差し込み文書のルールで if the...
-
MS-WORDで、あるフィールドに入...
-
ACCESSでデータ変更箇所が分か...
-
WORD差し込み印刷:日付の処理 ...
-
「フィールド更新」が表示されない
-
フィールドの中のテキストを分...
-
FileMakerで特定フィールドを空...
-
Accessでボタンを押すと今日の...
-
Accessで値がnullの場合は計算...
-
FileMakerで画像をまとめて書き...
-
FileMakerで、フィールドの値が...
-
MS-ACCESSで中央値(ME...
-
Access フィールド内の値で、...
-
FileMakerで繰り返しフィールド...
-
access フィールドのサイズ(文...
-
A1、A2、A3・・・とデータを増...
おすすめ情報