7/15/2017

Access。パラメータークエリで入力するデータ型を指定する方法【Parameter】

Access。パラメータークエリで入力するデータ型を指定する方法

<パラメータークエリ>

クエリの抽出条件を固定させるのではなくて、
パラメーターを入力する事によって、
その都度抽出条件を変えられるクエリが【パラメータークエリ】なのですが、
そのパラメーターにデータ型を設定しておくことによって、
パラメーターの入力ミスを抑制することが出来ます。

ということで、
まずは【パラメータークエリ】から確認してみましょう。

このような、「Q顧客東京都」というクエリがあります。

フィールドの都道府県には、47都道府県のデータがあります。

そして、抽出条件には、"東京都"とすることで、
東京都の顧客データのみが抽出することが出来ます。

しかしながら、このような固定されている抽出条件では、
47都道府県分のクエリを作らなければいけなくなります。

となると、当然クエリ数が膨大になります。

高頻度でその47都道府県のクエリを使うならともかく、
一時的だったら、益々クエリを作る必要がありません。

そこで、都道府県を「大阪府」と入力したら「大阪府」のデータが
抽出出来るようになれば、効率も改善されます。

そこで、抽出条件に『パラメーター』を設定することで、可能になります。

クエリを変更してみます。

抽出条件には、[都道府県を入力]
と入力します。

実行すると、
パラメーターの入力ダイアログボックスが表示されますので、
神奈川県と入力してOKボタンをクリックすると、

神奈川県の顧客データのみが抽出してくれました。

なお、[都道府県を入力]のカッコの中身が、
ダイアログボックスのメッセージで表示されます。

ではいよいよ本題。

次のクエリは、入力した期間内を抽出してくれるクエリです。

フィールドの日付の抽出条件は、
Between [開始日] And [終了日]
としてあります。

Between Andとパラメーターの合体ワザですね。
実行してみると

開始日を入力したあとに、終了日の入力を求められますので、
入力してOKボタンをクリックすると、該当した期間のデータが抽出してくれます。

ところが、開始日を次のように入力してしまったとします。

20170601というように、「/」の入力を忘れてしまったので、
数値になってしまい、
結果エラーメッセージが表示されて抽出出来ませんでした。

そこで、今回のように日付型という設定をパラメーターにすることによって、
入力ミスを抑制することが可能になるわけです。

デザインタブの「パラメーター」をクリックします。

クエリパラメーターダイアログボックスが表示されますので、
パラメーター名を入力して、データ型を一覧表から設定します。

そしてOKボタンをクリックします。

では改めて、実行してみましょう。

20160601と入力してみると、
データ型が違うので入力すること出来ないという
エラーメッセージが表示されます。

このように入力ミスを抑制する事ができますよ。

パラメータークエリは多くのテキストで紹介されているのですが、
今回ご紹介したパラメータークエリで入力するデータ型を指定する方法は、
ほとんど紹介されておりませんので、
知っていると現場レベルで使えるテクニックの一つかと思いますので、
機会がありましたら是非。