• ベストアンサー

アクセス データ条件検索

アクセスは2003 WindowsXP です。 初心者なので、わかりやすく 説明していただけると助かります。 アクセスで、テーブル内のデータを検索したいのです。 項目は10個あります。テーブルは1つです。 10個の項目のうち、わかる部分だけ入力して わからない部分を空白にしても検索できるようなものをイメージしています。 できれば、検索フォーム的なものにしたいです。

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

  • ベストアンサー
  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.3

できますが、初心者じゃちょっと難しいかな フォーム・ヘッダーにコマンドボタンを置きクリック時でフォームを再クエリするようにします フォーム・ヘッダーに10個のテキストボックスをおきます フォームのソースをクエリにし 10個のフィールドの抽出条件欄に フィールド1の場合 =Forms!フォーム名!テキストボックス1 or Forms!フォーム名!テキストボックス1 is null 以下同様に書き込みます このクエリは一度保存し再度開くととんでもないものに書きかえられてしまいますから デバッグは、データシートビューとクエリデザインビューを往復する形で行います デバッグが終わればSQLビューで表示してから保存します このクエリをフォームのソースにします

その他の回答 (2)

  • bonaron
  • ベストアンサー率64% (482/745)
回答No.2

とりあえず結果が欲しいのであれば、 アクセスの機能である 「フォームフィルタ」を使う という手もあります。

noname#60992
noname#60992
回答No.1

SELECT * FROM TABLE 1 WHERE FIELD1 = #2006/8/21# AND FIELD2 = 'BAR' AND ......... 抽出条件をもとに上記のようなSQL文を作成して、ADOなどで抽出するくらいしか思いつきません。 vbaの処理になります。 アクセスやvbaを勉強する気があるなら、office系であったご回答をもとに一から勉強されてはいかがでしょうか? 勉強する気がないなら、テーブルをエクセルにコピーしてフィルタをかけてみるのがよいと思います。 

関連するQ&A

  • Access2003 検索用フォームでの検索がうまくいかない

    Access2003 検索用フォームでの検索がうまくいかない とある、テーブルを参照するフォームを作成。 そしてテキストbokを設けて、各項目毎にキーワードを指定してデータを抽出できるようにしたいのですが、 どうもうまくいきません。 検索は出来ているのですが、全部ひっかからないのです。 例えば ID という項目を検索するbox に"1"を入力して ID=1の全データを抽出しようとすると、一部検索にかかってこないものがある という具合です。 テーブルに入力されている数字や文字が本当に一致しているかどうかも調べましたが確かに一致しています。 実際、テーブルを開いて ctr+f で検索すると全てひっかかります。 何が原因なのでしょうか??? 私の作った手順は以下のとおりです。 テーブル作成(エクセルからインポート) ※空白の欄もあります フォーム新規作成でフォーム作成 フォーム上にテキストbox作成 クエリ作成 (Like "*" & [Forms]![フォーム名]![テキストbox名] & "*" ) マクロ作成⇒フィルタ実行/上の手順で作ったクエリを登録 マクロをフォーム上へドロップ およそこのような手順です。

  • ACCESS97の検索

    ACCESS勉強中での質問です。 ACCESSでユーザー管理表を作成しました。 クエリー“A”をもとに、単票ホームを作りました。 検索機能をつけようと、書籍等を見ていたのですが、通常ある検索ボタンの利用法しか見つけることができませんでした。 理想としては、フォームの多数ある項目の中の、ユーザー名の部分に、検索したいユーザー名を入力すると、そのユーザーに関するデータが、表示される(フォームの中の適所に)様にしたいのです。 初心者なので、HP等で説明されているSQLとか、まったく理解できないのです。 初心者でも分かりやすいように教えていただけないでしょうか? お願い致します。

  • ACCESSあいまい検索から入力まで

    VBAいじり始めて数日の超初心者です。 お知恵をおかしください。 ACCESS2000です あいまい検索をしたデータを選択して入力までできるようにしたいと考えていますが、検索の時点でうまくいきません。 関係のある項目 テーブル1 「入力テーブル」     2 「M_商品」 ……「JANコード」             ……「商品名」 フォーム1 「入力フォーム」→コマンドボタンで商品検索のフォームが開く     2 「商品検索」     3 「検索結果」……「JANコード」             ……「商品名」 入力テーブルとM_商品にはリレーションシップがかけてあります。 「M_商品」の中の「商品名」にフィルタをかけ、入力フォーム内に入力したいです。 商品検索のフォームには 非連結のテキスト「txt商品名」と「一致選択」という名のオプショングループ(3つの選択があり、部分一致と前方一致と後方一致です)、検索用のコマンドボタン(cmd検索)があます。 これで検索を実行してみると、コンパイルエラー;SubまたはFunctionが定義されていません、とでて、VBA側のPrivate Sub cmd検索_Click() が黄色くなって、「TakeOut」がグレーになった状態なります。

  • Access、検索用フォームでのあいまいな検索

    現在、Accessでデータベース作成をしています。 テーブル:  ・テーブルA          ・テーブルB          (A・B間にリレーションシップ設定) クエリ    ・検索クエリ(テーブルA・テーブルBを元に作成) フォーム   ・検索用フォーム(デザインビューでフォーム作成より)          ・検索結果フォーム(検索クエリを元に作成) また、以下のような設定を入力しました。 「検索クエリ」の抽出欄  Like "*" & [Forms]![検索用フォーム]![検索したい名前] & "*"・・(1)  ※検索したい項目、すべての抽出欄に設定済 「検索用フォーム」  検索実行ボタンを作成し、マクロを設定  ・フォームを開く→「検索結果フォーム」  ・フィルタ→「検索クエリ」 上記の設定により、検索用フォームに検索文字を入力することで、その結果を「検索結果フォーム」に反映することができました。 ただ、テーブルAが元になっている項目の抽出欄のみに(1)を入力すると、うまくいくのですが、テーブルBが元になっている項目欄にも (1)を入力しようとすると、検索用フォームからうまく検索することができなくなります。 2つのテーブルを元にしたクエリからは、検索用フォームをつかった複数のOR検索はできないのでしょうか?? ご存知の方、ぜひ教えてください。 よろしくお願いいたします。

  • アクセスのフォーム

    アクセスのフォームで、フォームで何も入力しなかった項目は、テーブルのフォールドが空白になるのでは無く、0になる方法はありますか? 誰か教えて下さい。よろしくお願いします。

  • Accessの検索フォームで。

    Accessを使ってデータベースを作成しています。 「テーブル1」があり、これには 名前ID 名前 入力日 チェック項目1 チェック項目2   : とあります。 これをもとに「検索クエリ」を作成しました。 検索クエリの項目は「テーブル1」とまったく同じですが、 すべてを検索するわけではないので ・名前ID  「検索項目なし」 ・名前  「Like IIf(IsNull([Forms]![検索条件入力フォーム]![名前]),[氏名],'*' & [Forms]![検索条件入力フォーム]![名前] & '*') ・入力日  「検索項目なし」 ・チェック項目1  「Like IIf(IsNull([Forms]![検索条件入力フォーム]![チェック項目1]),[チェック項目1],[Forms]![検索条件入力フォーム]![チェック項目1])」 ・チェック項目2  ※上記と同じ。   : としてあります。 この「検索クエリ」をもとに「検索条件入力フォーム」を作成してあります。 名前の欄に「田中」と入力すれば、「田中」がつく人がすべて検索されるというようなカンジになっています。 「テーブル1」に空欄があり、その場合に、検索がうまくいきません。 「検索クエリ」のところですべてに条件を入れればいいのですが、フォームに全てが入っていないので。。。 やはりフォームに「テーブル1」の項目すべてを含め、クエリで条件を入れるべきでしょうか? これが今考えている中では一番手早いようなカンジがするのですが、どうしてもあまりスマートなやり方ではないような気がして。。。 これしかないのであれば、これでやりますが、他にいい方法があれば、教えていただけないでしょうか? あまり上手な文章ではないので、補足要求があれば補足します。 宜しくお願いします。 Ac2000です。

  • Access 検索フォームの作り方について

    Accessで受付リスト作成しました。 *受付一覧テーブル:データはここに保存 *入力フォーム:データはここから入力 これとは別に、検索フォームを作りたいのです。 フォームのヘッダーにテキスト(氏名を入力)とトグルボタン("検索開始")を作って、 受付一覧テーブルにあるデータを入力フォームと同じ形式で呼び起こしたいのです。 初心者のため、こんな簡単な質問をして申し訳ございません。 ただ、1点気になるのが、テキストには全くの同一人物のデータが複数あります。 (例) 受付日    氏名 2005/11/2   山田 太郎 2006/02/5   山田 太郎 2007/10/1   山田 太郎 この複数のデータを受付日直近のものから順呼び起こすことは可能でしょうか? 難しいの場合は、単純に検索フォームの作り方をお教えいただけますと大変助かります。 何卒よろしくお願いいたします。

  • アクセスでのデータ管理について(長文です。)

    アクセス初心者です。 これからデータの入力、管理、帳票をアクセスで構築しようと思っているのですが、アクセスはデータを入力した時点でデータが保存されてしまうので過去のデータが残りません。またデータの変更及び共有をうまくやりたいのですがよい方法がわかりません。 今回構築したいデータベースは、 1.過去の記録がすぐわかるようにしたい。(更新前のデータがわかるようにしたい。) 2.データの変更及び共有を簡略化したい。(A社で変更したデータをB社のデータベースにいれこみたい。) 【データベースの概略イメージ】  A社      B社 データベース1 データベース2(1と同じもの) テーブル1 → テーブル1 テーブル2 → テーブル2 テーブル3 → テーブル3 クエリ1    クエリ1 クエリ2    クエリ2 フォーム1   フォーム1 フォーム2   フォーム2 *リレーションあり *A社でテーブル1の内容を変更して、B社のテーブル1を新しいものに置き換えたい。 (本を読むとリレーションが崩れると書いてありました。) *B社で変更してA社に戻すこともある。 テーブル1 項目 ID 100 住所 あああ 氏名 △△様 電話番号 111-1111 *例えば、ID100のデータの氏名を変更するとき、変更前がどうだったかわかるようにしたい。(1月時点では△△様、2月時点では□□様とか) 誰かアクセスの操作方法に詳しい方がおられましたら、よい方法又はアクセスに関する詳しい本とかサイト等教えて下さい。よろしくお願いいたします。

  • accessでフリーワード検索が入った検索フォームを作成したいのですが。

    はじめまして。accessド初心者です。 簡単な検索フォームをaccessで作成しようと思い、 4項目ぐらいから検索できる形にしようと作成しているのですが、 そのうちの一項目をフリーワードで検索できるようにしたいのです。 リレーション設定し、各項目のクエリを作成し、 入力用のクエリを作るため選択クエリ画面にて、データ入力を 行なおうとしたところで、疑問がでました。 フリーワード検索をさせたい場合は、このデータ入力の段階で、 考えられうるキーワードを全部入れなければ、 データ未入力の言葉をフリーワード検索した場合、引っかかってこない という認識で合っていますでしょうか? 例えば、考えられうるキーワードがとてつもなく多い場合は、 それこそ1文字ずつ文字を替えたものをすべてデータ入力しないと 使えないということなのでしょうか? もしそうであれば、フリーワード検索の項目ははずそうと思っています。 初心者のため、用語の使い方が正しいのか不安ですが、 ご存知の方がいらっしゃれば、教えてください。

  • ACCESSで質問です。

    ACCESSで質問です。 テーブルA(複数企業)とテーブルB(Aの企業に対する対応状況)があります。 選択クエリにてAとBの2つのテーブルを電話番号でリレーションをもたせ、その企業の対応状況を検索し、結果をフォームに表示できるものを作りました。 しかし、企業(テーブルA)に対して複数の対応状況(テーブルB)があるため、フォームでBの対応状況分と同じ枚数のAレコードが表示されてしまいます。 クエリのプロパティで「固有のレコード」を「はい」にしても表示されてしまいます。 イメージでは、AテーブルとBテーブルの項目どれでも検索ができ、初めに検索結果をフォーム1で企業データを表示させ、コマンドボタンをクリックするとフォーム2で、その企業の対応状況が表示されるようにしたいのです。 現在検索は出来ていますが、フォーム1で同じ企業データレコードが複数表示されないようにしたいのです。 どのようにしたら出来ますでしょうか?アドバイスお願いします。 ・使用バージョンはACCESS2000です。 ・Aテーブルの企業データは重複なしです。 ・Aテーブルの主キーは電話番号です。 ・検索条件はA・Bの項目合わせて10項目で、全てIIFを使用して検索しています。 ACCESSを始めたばかりの初心者です。質問も初心者レベルですが、よろしくお願いします。