ACCESS2000を勉強しています。
クエリを作成したときにパラメータの設定をして、たびたびの抽出を簡易にしようというところまできたのですが、疑問が出てきました。

パラメータの入力を求めるダイアログボックスが出てきたときに、そのダイアログボックスに入力する値の制限や、書式の限定をすることはできるのでしょうか?
もし、できるのならどうすればいいのでしょうか?
自分だけが入力するわけではない場合、入力値が制限外のものの場合、alertメッセージが出てくるようなカンジにしてみたいのですが。。。

ご存知でしたら教えて下さい。

A 回答 (1件)

パラメータクエリーでは入力規則制限・メッセージはできないと思います。



ご自身しか使わない場合は、クエリーのパラメーターを使う方法でもいいかと思いますが、他の方も使う場合はフォームで条件を入力させてその値を抽出条件にした方がフォーム上で入力規則のチェックも出来ますし、
操作ミスが少ないのでいいと思いますよ。

クエリーの抽出条件で=Forms![F_条件指定]![条件1]
などと記述するだけです。
    • good
    • 0
この回答へのお礼

ありがとうございました。
もし、どうしてもパラメータで入力の統一をさせたければ、ダイアログボックスに注意の文章を表示させちゃえばいいんですよね?

あと、フォームからの入力で抽出する場合は、メインフォーム/サブフォームとかでやった方がスマートなのかな、と思ったのですが、そういう考え方?もありですよね?

お礼日時:2001/04/08 02:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QAccess パラメータの入力をフォームで入力

いつもお世話になっております。
Accessにて躓いています。宜しくお願い致します。

2万件以上のデータがあります。
データの中から、処理番号(ダブり無し)・年月日・件名の項目のみをクエリで取り出し、処理番号と件名でフォームで検索して表示するという事を行いたいと思います。
以下の手順で一連のものを作成したのですが、検索用フォームに検索したい文字を入れても「パラメータの入力」が出てきてしまい、検索用フォームがうまく働いていない状態です。
理想では「F処理検索」で絞り込みたい文字を各テキストボックスへ入力→検索ボタンをクリック→「処理」で絞り込んだデータを表示
としたいのです。

~現状~
テーブル
・処理メインデータ(2万件のデータが保管されています)

クエリ
・Q処理検索
テーブル「処理メインデータ」を基に左から「処理番号」「年月日」「件名」を充て、抽出条件として、「処理番号」と「件名」にそれぞれ
「Like"*"&[Forms]![F処理検索]![処理番号]&"*"」
「Like"*"&[Forms]![F処理検索]![件名]&"*"」
充てています。

フォーム
・処理(フォームビューで「処理番号・年月日・件名」の結果を出します)
・F処理検索(検索用フォームです。)
処理番号と件名を入力するテキストと、検索を実行する為のボタンを設置しました。
検索ボタンには、
プロパティ内クリック時の対応にマクロを下記の設定でセットしました。
アクション:フォームを開く
フォーム名:処理
ビュー:フォームビュー
フィル為:Q処理検索
Where条件式:空欄
データモード:空欄

以上、宜しくお願い致します。

いつもお世話になっております。
Accessにて躓いています。宜しくお願い致します。

2万件以上のデータがあります。
データの中から、処理番号(ダブり無し)・年月日・件名の項目のみをクエリで取り出し、処理番号と件名でフォームで検索して表示するという事を行いたいと思います。
以下の手順で一連のものを作成したのですが、検索用フォームに検索したい文字を入れても「パラメータの入力」が出てきてしまい、検索用フォームがうまく働いていない状態です。
理想では「F処理検索」で絞り込みたい文字を...続きを読む

Aベストアンサー

私の手に負えるのかが最大のネックなのですが、
(MDBは試験用のものを使ってください)

(1)
「F処理検索」を動かして、検索条件を入力後、直接クエリ「Q処理検索」を開いたらどのような表示になりますか。
OK でしょうか。NG でしょうか。

NGなら
(2)
「F処理検索」のテキストボックス名を変更してみます。
 処理番号 → txt処理番号 、 件名 → txt件名

これに伴い、クエリでの参照も変更します。
[Forms]![F処理検索]![処理番号] → [Forms]![F処理検索]![txt処理番号]
[Forms]![F処理検索]![件名] → [Forms]![F処理検索]![txt件名]

もう1度(1)をやってみます。


OKなら
(3)
「F処理検索」を動かして、検索条件を入力後、直接「処理」フォームを起動したらどうなりますか。


で、結果はどうなりますか。

Q文字列の入っているString値、何も入力されていないString値、Null値の全てを表示されるには?

access2003です。
フォーム1とクエリ1とテーブル1があります。
クエリ1の「テーブル1の番号フィールド」の抽出条件に
「Like "*" & [Forms]![フォーム1]![番号テキスト] & "*"」と入力しています。

フォーム1の番号テキストに「1」を入力しコマンドホ゛タンを押すと
「1」を含むレコードを表示され

フォーム1の番号テキストに「*」を入力しコマンドホ゛タンを押すと
何かしらの文字列が入力されているレコート゛が表示されます。

しかし
テーブル1番号フィールドには、
Null値と何も入力されていないString値(""←が入っている)も含まれています。
(見た目は空白どちらも空白です)
(String値がある理由はADOを使って何も入力されてない値もまとめてレコードに追加している為)

ここで質問なのですが

フォーム1のコマンドホ゛タンを押したときに
文字列の入っているString値、何も入力されていないString値、Null値の全てを表示されるには
どうすればいいのでしょうか?

よろしくお願い致します。

access2003です。
フォーム1とクエリ1とテーブル1があります。
クエリ1の「テーブル1の番号フィールド」の抽出条件に
「Like "*" & [Forms]![フォーム1]![番号テキスト] & "*"」と入力しています。

フォーム1の番号テキストに「1」を入力しコマンドホ゛タンを押すと
「1」を含むレコードを表示され

フォーム1の番号テキストに「*」を入力しコマンドホ゛タンを押すと
何かしらの文字列が入力されているレコート゛が表示されます。

しかし
テーブル1番号フィールドには、
Null値と何も入力...続きを読む

Aベストアンサー

> 何も入力されていないString値、Null値
は、
Len(Nz([フィールド名],"")) = 0 で得られます。

全てということであれば、
Len(Nz([フィールド名],"")) >= 0 になると思います。

Qパラメータで同じ値を入れたいとき。

【テーブルA】
日付 名前    会員番号
0101  山田一郎  0001
0102  山田次郎  0002

【テーブルB】
日付 名前    会員番号
0101  山田三郎  0011
0102  山田四郎  0012

次のようなテーブル2つがあり、2つのテーブルの
中から、1月1日のものだけを抽出したいとします。

やり方として、
クエリAでテーブルAの日付の項目をパラメータで0101と指定しました。
クエリBでテーブルBの日付の項目をパラメータで0101と指定しました。
二つのテーブルをマージする。

という方法をとりたい。

上記の作業がやりたい場合に、いちいち、クエリAとクエリBで
同じ値を入れるのがめんどくさいので、
クエリAで数値を指定すれば、自動的にクエリBでも同じ値を入れるように
できないものでしょうか。

Aベストアンサー

1.と2.は別の方法です。
どちでもできます。

1.新規にパラメーター用のテーブルを作成し、
 それぞれのクエリで、そのテーブルをリンクさせる。
2.フォームを作成し、テキストボックスを配置します。
 そこに日付を入力しておき
 クエリーの検索条件に設定する。

Qアクセスのパラメータ入力画面をリストまたはコンボボックスにする方法

いつも大変お世話になっております。
Microsoft Accessについて質問させてください。

パラメータクエリを作成し、実行すると
「値を入力してください」というようなダイアログボックスが表示されます。
このボックスの中で値を指定するテキストボックスをリストボックスまたはコンボボックスにし、値を選択するようにできるでしょうか?
(あまり難しい方法ではなく、できるだけ簡単な方法をお願いします)

良い方法がありましたらぜひご伝授ください。
m(_ _)m

Aベストアンサー

直接の変更は出来ないのでフォームを使います。
1.フォームにコンボボックス又はリストボックスを設定して値を選択できるようにする。
2.コマンドボタンを作成しクエリを開く設定をする。
(クエリをデータソースにしたフォーム・レポートでも可)
3.クエリの抽出条件に、1のフォームのコンボボックスを指定する。

Qアクセスのパラメータに既定値を表示することはできないでしょうか

アクセスのパラメータに既定値を表示することはできないでしょうか
アクセス2000です。クエリで[伝票日]から、年:Year[伝票日]のフィールドにパラメータ[何年ですか]をつけています。
それに既定値で今年が表示されるようにしたいのです。書式はyyyyになっています。
たまに2009のときもあるので、そのときは入力したいのです。
どうぞよろしくお願いします。

Aベストアンサー

No1 です。

かっこが合っていない ...
Nz([何年ですか],Year(Date()))


人気Q&Aランキング

おすすめ情報