ACCESS2010の検索結果表示フォームの条件設定について

このQ&Aのポイント
  • ACCESS2010を利用して検索結果を表示するフォームの条件設定方法について教えてください。検索結果によってフォームを開かないようにしたいのですが、具体的な手順がわかりません。
  • IDを入力して検索する際、フォームに表示される結果のうち、電話番号が入っていない場合はフォームを開かないようにしたいのですが、どのようにすれば実現できますか?
  • ACCESS2010を使って検索結果を表示するフォームを作成していますが、結果の中に特定のフィールドが存在するかどうかによってフォームを開くかどうかを判断したいです。どのように設定すればよいでしょうか?
回答を見る
  • ベストアンサー

ACCESS2010についてお伺い致します。

お世話になっております。 ご存知の方がいらっしゃいましたら、是非、ご教授ください。 ACCESS2010を利用しています。 検索結果を基に、フォームを開くのですが、検索の結果、あるフィールドに何も入っていなければ、検索結果を表示するフォームを開かない為にはどのようにしたら良いでしょうか。 具体的には・・・ 検索フォームにIDを入力すると、クエリを使って検索をします。 その際、クエリにIDの他、住所、電話番号が結果として出ます。 結果は、コントロールソースを検索しているクエリに指定しているフォームに表示させます。 ただし、その結果のうち、住所が入っていても、電話番号が入っていなければフォームを立ち上げないようにしたいと思います。 他の条件としましては、検索結果が表示されるフォーム以外にも別のフォームが立ち上げっており、こちらは検索結果の如何にかかわらず、立ち上げたいと思っております。 色々と調べてみたのですが、上手くいきませんでした。 ご存知の方がいらっしゃいましたら、是非、宜しく、お願い致します。

  • Fujjy
  • お礼率77% (203/262)

質問者が選んだベストアンサー

  • ベストアンサー
  • naoto0216
  • ベストアンサー率46% (183/391)
回答No.1

フォームを開く前に、そのクエリで1件以上抽出された?かを判定すれば よいかと思います。 既にクエリは検索フォームに入力されるIDを参照するようなっているかと 思いますので、下記が実行されると、入力されたIDで、かつ電話番号が 空白じゃないもので抽出し、その結果が1以上であればフォームを開く ようにすればよいかと思います。 ※もっとよい方法があるかもしれません。 If DCount("*", "クエリ", "[電話番号]<>null") > 0 Then MsgBox "フォームを開く" Else MsgBox "フォームを開かない" End If もしくは、クエリの方に条件を追加(電話番号の条件を「Is Not Null」)して、 If DCount("*", "クエリ)> 0 Then でもよいかもしれません。

Fujjy
質問者

お礼

ありがとうございます。 できました!!! 大変助かりました。

関連するQ&A

  • Access サブフォームでの表示フィールド選択

    Accessでアドレス帳を作成しています。 データシートには名前、ヨミ、TEL番号、FAX番号、メールアドレス、郵便番号、住所、メモ等のフィールドが存在します。 フォーム上タブコントロールでヨミより「あ・か・さ・た・な」検索できるようにクエリ抽出条件を作成しました。 フォーム上に設置したサブフォームにクエリの抽出結果が表示されます。 ここで、フォーム上に連絡先、住所、メモのオプションボタンを作成し、連絡先にチェックした時にはTEL及びFAX、住所にチェックした場合は郵便番号及び住所・・・のところだけを表示することは可能でしょうか? つまりはクエリの表示項目をフォーム上のオプションボタンでコントロールできるのでしょうか? よろしくお願いします。

  • パラメータクエリを一つにまとめたい

    クエリ1を基にフォーム1を作成、 クエリ2を基にフォーム2を作成、 クエリ1も2もパラメータクエリを使用していて フィールド名は「番号」データ型はテキスト型です。 そして新規にフォーム3を作成しフォーム1とフォーム2をドラッグしました。 この状態でフォーム3をダブルクリックすると パラメータの入力を2回求められますがどちらも同じ番号を入力しています。 (「001」などを2回入力) これを1回にすることは可能でしょうか? ・番号フィールドの基テーブルはクエリ1と2は違うテーブルです。 ・クエリ1と2は一つにまとめたくありません。 フォーム3上に別々に表示させたいです。 ・クエリ1には全ての番号がありますがクエリ2には抜けている番号があります。 「クエリ1の全レコードとクエリ2の同じ結合フィールドのレコードだけを含める。」で全ての番号を表示できる状態です。 説明が下手ですいません。 アドバイスお願い致します。

  • (続き)accessでの2段階クエリの作り方

    お世話になります。 accessで下記の質問を立てましたが、解決できなかったので再度質問いたします。 (http://okwave.jp/qa/q6890851.html) 下記に説明をしています、分かりにくいかもしれません。。 どうぞご指導をお願い致します。 ◆DBの構成◆ 1)テーブル名:名簿(フィールドは下記の通り)  ID,名前1、名前2(担当者名)、ふりがな、住所、電話、住所1、住所2(マンション名等)、備考等) 2)フォーム名:検索フォーム  デザインビューで初めから作成して、テキストボックスを1つ作っています。  名前は『キーワード検索ボックス1』です。  またテキストボックスの下に検索をしてヒットした名簿を表示するサブフォームを入れています。 3)サブフォームのクエリ ・元データ   ⇒名簿のテーブル。全フィールドを挿入して作成。     メインフォーム内のサブフォーム名は『(sub)キーワード検索』  ・抽出条件   ⇒フィールドの『名前1』、『名前2』、『ふりがな』、『住所1』、『住所2』、『備考』の抽出条件欄に    1行ごとずらして、『Like & "*" & [Forms]![検索フォーム]![キーワード検索ボックス1] & "*"    とした。  ・マクロ   ⇒メインフォームのテキストボックスの隣に検索という名前をつけたボタンを配置。    マクロは再クエリでコントロール名を『(sub)キーワード検索』とした。    ボタンのプロパティのイベントタブでクリック時に上記のマクロが実行されるように登録した。 ◆やりたい事◆  accessで会社の顧客名簿を作成しました。  今の状態は1個のキーワードだと検索結果がサブフォームに表示されます。  それを、2段階で絞りこんでいく方法を探しています。  テキストボックスをもう一個作り、2個のキーワードで絞りこみたいです。   まず、1個のキーワードで『名前1』、『名前2』、『ふりがな』、『住所1』、『住所2』、『備考』のフィールドを検索してヒットしたものをサブフォームで表示させる。さらにそこから、また任意のキーワードを 『キーワード検索ボックス2』に入力してボタンをクリックすると、同じサブフォーム(または別のフォームに)絞りこみ検索結果が表示されるようにしたい。またVBAは苦手なので、クエリで解決をしたいです。   ◆出来たこと、出来なかった事◆ ・質問NO(6890851)で指導を頂いた、chuparkさんのある一つのフィールドに 『Like "*" & [Forms]![検索フォーム]![名前検索1] & "*" And Like "*" & [Forms]![検索フォーム]![名前検索2] & "*"』と入れると、そのフィールドに対しては2個のキーワードがヒットするとサブフォームに表示される事が出来た。 ⇒これだと1つのフィールドに対してなので、やりたい事ではない。  1つのフィールドだけでなく、検索したいフィールド全てに対してまず1個のキーワードで  検索されたものを表示させ、そこから更にキーワードを検索して表示させたい。   ・クエリに新しいフィールドを作りました。そこは全てのフィールドを『&』で結び、 抽出条件にchuparkさんの条件を入れてました。 ⇒これだと一度に2個のキーワードを検索してしまう。1回目と2回目を比較もしたいので、一度ではなく、段階を踏んで検索が出来ない。また、フォーム自体を開いた時にサブフォームが真っ白になり メッセージも出て見辛い。。(どんなメッセージが忘れました…)                                                        以上

  • Access 2段階のクエリの作り方

    お世話になります。 Access2000での標記について質問です。 会社で顧客名簿を改良しています。 『名簿一覧』というメインテーブルがあり、名前、住所、電話、住所等のフィールドがあります。 検索が簡単に出来るように任意のフォームにテキストボックスを1個作成して、 そのボックスにキーワードを入力すると名前、ふりがな等のほぼ全てのフィールドで あいまい検索されるクエリを作成しています。 そして、その結果はテキストボックスの下にサブフォームで検索結果が表示されます。 上記のキーワード検索した後、更に検索をかけるにはどうすればいいのでしょうか。 検索はまたキーワードでの検索をしたいです。 またVBAの知識がないので、クエリで解決したいです。 よろしくお願いします!!

  • Accessでの電話番号下4桁での検索について

    Access初心者です。 今Accessで顧客管理を作成しています。 フォームで電話番号の下4桁で検索し、該当の顧客の情報がフォームで見れるようにしたいのですが、クエリでの取り込むべきフィールドや抽出条件などがよくわかりません。 今現在はクエリに「電話番号」フィールドだけを取り込み、抽出条件に Right([Forms]![電話番号検索]![電話番号],4) というのを入れてます。 今の段階で作成しているものは、 ・ユーザーテーブル ・検索実行クエリ ・ユーザーフォーム ・書き込みフォーム ・電話番号検索フォーム ・開くマクロ ・閉じるマクロ ・最後のレコードへ移動するマクロ ・新しいレコードへ移動するマクロ ・書き込みマクロ ・終了マクロ 以上になります。 電話番号検索フォームで下4桁を入力し、検索ボタンを押すとユーザーフォームの該当の顧客の情報が表示されるようにしたいというのが目的です。 何卒ご指導の程よろしくお願い致します。

  • クエリ作成(Access)

    フォームからの検索で、とあるIDを入力したときに、そのIDに関するすべてのデータを表示させようと思っています。 検索については http://support.microsoft.com/kb/879535/ja を参照しました。 デザイングリッドでクエリに含めるフィールドを決めると思うのですが、含めることができるフィールドの数に制限があります。 大量のフィールドを呼び出すにはどうすればよいでしょうか?アドバイスください。

  • Accessコンボボックスについて

    Accessコンボボックスで選択した番号に連動する名前を他のフィールドへ表示する方法 Access初心者です。 どなたか方法をご存知の方がいらっしゃいましたら、お手数ですがご教授願います。 何分初心者なので、お手数ですが、噛み砕いてお教え頂けると助かります。 請求書の作成フォームを作っています。 フォーム上に[取引先名」という、コンボボックスを配置しています。 そのコンボボックス上から名前を選択できるようにしています。 作成済の請求書を名前別に検索できるようにパラメータクエリを作成して、あいまい検索?(Like検索)で 検索した名前に該当する請求書を抽出できるようにしたいと思っています。 実際にパラメータクエリを作成してみましたが検索結果0件で表示されてしまいます。 その際に作成したものは、「取引先名」フィールドの抽出条件に、Like"*"&[取引先名を入力して下さい]&"*" です。 これで駄目だったので、次に Like"*"& &"*"を削除して、[取引先名を入力して下さい」だけで作成してみましたが 取引先名で検索すると、検索結果は0件でした。 取引先IDで検索すると検索できましたが、何が駄目だったのかがさっぱり分かりませんでした。 説明下手で申し訳ありませんが、どなたかご存知の方がいらっしゃいましたら教えて下さい。

  • Accessのリレーションのことについて

    すいません、お世話になります。 次のようなテーブルがあります。 テーブル 【営業所データ】 フィールド  営業所ID(キー)        営業所名        住所 デーブル 【社員データ】 フィールド  社員ID(キー)        営業所ID        社員名 デーブル 【社員写真】 フィールド  社員写真ID        社員ID        店舗ID        社員写真 【営業所データ】の営業所IDと【社員データ】の営業所IDがリレーションで、同じく 【社員データ】の社員IDと【社員写真】の社員IDがリレーションで結んであります。 【社員データ】を基にしたクエリがあり   社員ID   営業所ID   営業所名   社員名 となっているので、営業所名は営業所IDを入力することによって、フォームにおいては自動表示されます。 さて、次が質問になるのですが、 【社員写真】を基にしたクエリがあります。   社員写真ID   社員ID   社員名   営業所ID   営業所名   社員写真 社員IDを入力することで、フォームにおいては社員名・営業所IDが自動表示されるのですが、営業所名を表示することができないで困っています。 基本的な事項だとは思いますが、わからなくなってしまいました。よろしくお願いいたします。        

  • アクセスでのデータ管理について。

    アクセスで検査データをIDや依頼日などで検索した場合、クエリの一覧で検索結果を表示させるようにしているのですが、この一覧から一つのレコードをクリックすると、そのレコードの入力フォーム(そこに詳細が表示されているので見るときに便利なので)が開くようにしたいのですが可能でしょうか?検索結果がクエリ表示しか考えられないのですが、他によい方法があったら教えてください。よろしくお願いいたします。

  • [Access]検索データの表示 など

    (1)テーブルがA、Bと2つあります。 Aのフィールドは店舗ID、店舗名、支店名、店舗住所、店舗電話番号です。 Bは案件ID、店舗名、支店名、店舗住所、店舗電話番号、それ以外に20ほどフィールドがあります。 Bをフォームを使って入力するのですが、Bのフォームの電話番号欄に電話番号を入力し、コマンドボタンを押すとAの該当する店舗データがBのそのレコードの各対応するフィールドに反映されるようにしたいのですが、どのようにすればいいかわかりません。 また、該当する電話番号がなかった場合は該当なしのメッセージを表示させたいです。 (2)Bのフォームで新規レコードを作成したときに、自動で日付フィールドに現在の日付を、時刻フィールドに現在の時刻を入れたいです。 どなたか教えてください。

専門家に質問してみよう