- 締切済み
ACCESS 入力規制について
サブフォームの入力規制を行いたいのですが、テーブルのフィールドの一覧を使い規制することは出来るでしょうか? 普通に =a or b or c ・・・・ とすると規制する内容が多いので手間がかかります。 リレーショナルシップの参照結合でもいいのですが、エクセルでのリンクテーブルなので出来ません。 方法があれば回答のほどお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- mshr1962
- ベストアンサー率39% (7417/18945)
回答No.2
DCount("*","テーブル名","[フィールド名]='" & [テキストボックス名] & "'") > 0 http://office.microsoft.com/ja-jp/access/HA012288171041.aspx
- mitarashi
- ベストアンサー率59% (574/965)
回答No.1
フィールドの一覧とありますが、レコードの一覧ですね? 下記の裏返しで出来ないでしょうか。他の方の回答(No.2)ですが、Is Nullのところを、Is Not Nullに変更して、フィールド名等をsskjさんの環境に合わせてみたらどうでしょう。検証してありませんので、ご参考まで。 >入力規則 DLookup("電話番号","テーブル名","電話番号='" & [電話番号] & "'") Is Null http://okwave.jp/qa5014399.html
質問者
補足
レコード?フィールドだと思います。 テーブル 略字_正式名 a_アメリカ b_ブラジル c_カナダ d_ドイツ e_エリマキ f_フランス g_グッチ雄三 これ以外の入力を規制する。 ということですが、御答えられた関数では出来ませんでした。
補足
テキストボックスを作らなければならないのですか? D系の関数に関しては、SQLでの条件の記述方法を知らないので 呼んでもさっぱりです。 今回の関数でも DCount("*","テーブル名","[フィールド名]='" & [テキストボックス名] & "'") > 0 部分の役割は分かるのですが、抽出条件の"[フィールド名]='" & [テキストボックス名] & "'") どこをどう""='などで囲って抽出しているのかが分かりません。 普通の関数では""は文字の部分に使いますよね? なぜ""の中に=が付いているのかも良く分かりませんし 私が持っている辞典を読んでもSQL式のWHERE句としか書かれていないためどのように記述してよいか分かりません。 良ければご教授ください。