検索フォームの作成で困っています。アドバイスをください。

このQ&Aのポイント
  • 上司から突然、検索フォームの作成を命じられました。
  • フォーム上で商品名を検索し、商品区分で絞り込むことができるフォームを作りたいです。
  • テキストボックスの商品名にはあいまいな検索も可能にする必要があります。
回答を見る
  • ベストアンサー

検索用フォームを作りたいのですが・・色々と問題が

お忙しい所、ご覧になってくださってありがとうございます。 今働いている会社の管理システムがアクセスで作られたもので、仕事をして初めてアクセスというものに触った超初心者でございます(テーブル、クエリ、フォーム、レポートがわかるくらいです)。 なのですが突然、上司から検索フォームを作るよう命じられました。 テーブル;提出済見積一覧→顧客名 商品名 商品区分 単価 (データは5万件以上あります) テーブル;仕入見積一覧→仕入先 商品名 商品区分 単価 (データは3万件以上あります) 上記の内容を、フォーム上に作成したテキストボックスの「商品名検索」で検索し、尚且つ「商品区分」で絞り込みしたら、それに適した「提出済見積一覧」と「仕入見積一覧」が同時に閲覧できるようなフォームを作成したいです(一件ごとのデータではなく、含まれている条件全てが一覧で見れる)。 あと、テキストボックスの商品名もあいまいな検索で、見積もりと仕入がヒットするように作れと言われております。。 見積もりと仕入をサブフォームで作成し、フォームにサブフォームを埋め込んで、と試してみてはいるのですが、知識も乏しいせいか、どうも上手く行きません。 周りには上司含め、アクセスをわかる人がおりません(T_T) アドバイスがありましたらお願いいたします。

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

  • ベストアンサー
noname#192382
noname#192382
回答No.2

クエリで検索条件とは、それぞれのテーブル(提出見積テーブル、仕入見積テーブル)からクエリを作り抽出条件を入れるような形でよろしいのでしょうか? >>>はい、そのとおりです。クエリの所定欄に抽出条件を記入すればよいです。 商品名のキーワードで、2つのテーブルを同時にヒットさせるなんて・・やはり無理がありますかね(汗) >>>二つのテーブルを一つのテーブルにまとめてから検索することも出来るし、一つのテーブルの検索の後二つ目のテーブルの検索をすることをワンタッチで行うことも出来ます。(と思います。)でもそもそも二つのテーブルは異質なものでそれを一つのテーブルにまとめたらかえって混乱するのではないですか。参考までに。

komakoma283
質問者

お礼

ご回答ありがとうございます。 クエリで無事に検索できました。 これからもっとアクセスの事を覚えて、色んな事をやっていきたいと思います。

その他の回答 (1)

noname#192382
noname#192382
回答No.1

アドバイスですが、いきなりフォームまで作ろうとすると、たいへんなのでまずクェリーで検索条件を書き込みをして実行させてみたらどうでしょうか。

komakoma283
質問者

お礼

お忙しい中、お目に止めて頂きありがとうございます。 クエリで検索条件とは、それぞれのテーブル(提出見積テーブル、仕入見積テーブル)からクエリを作り抽出条件を入れるような形でよろしいのでしょうか? 商品名のキーワードで、2つのテーブルを同時にヒットさせるなんて・・やはり無理がありますかね(汗) もし、お気に留めて頂いたのであれば、引き続きご回答お待ちしております。

関連するQ&A

  • Access 複数フォームを別フォームに反映させたい

    初めての投稿です。 よろしくお願い致します。 Accessにて店舗ごとの在庫管理をしたいのですが、T_入庫をフォームに作成しようとした所で詰まってしまいました。 以下、作成済みの3つのフォームと連結し、作成したF_入庫に反映させたいと思っています。 どうかご教授の下さいます様よろしくお願い致します。 連結したい3つのフォーム(作成済)です。 3つのフォームを連結させています。 T_商品マスター (メインフォーム) 商品ID 年度ID 商品区分 商品名 包装内容 包装量 単位 単価 適用チェック T_仕入マスター  (サブフォーム1) 仕入ID 商品ID 問屋ID メーカーID T_価格マスター (サブフォーム2) 価格ID 仕入ID 納入価格 価格登録日 適用チェック これから作成するフォーム T_入庫 入庫ID 仕入区分ID 店舗ID 入庫日 商品ID 入庫数 金額相違チェック 相違金額 とあります。 T__入庫でクエリを組み、演算子にて実行してみようと思いましたが、 それどころかT_入庫のテーブルとそのIDのフィールドを入れて組んでも表示されません。リレーションが悪いのかそれとも、テーブル設計そのものが悪いのか悩んでいます。 この様な場合、SQL文などわかっていないとダメでしょうか? どうかアドバイスお願い致します。m(__)m

  • Access DB 商品名の扱いについて

    (テーブル名):(フィールド名) 商品テーブル:商品名。 単価数量テーブル:商品単価、数量、仕入番号、商品名。 仕入テーブル:仕入番号、仕入日、注文日、手数料、輸送費など。 売上テーブル:売上、販売日付、仕入番号、商品名。 リレーションシップ:一対多 商品テーブル商品名-単価数量テーブル商品名 商品テーブル商品名-売上テーブル商品名 仕入テーブル仕入番号-売上テーブル仕入番号 仕入テーブル仕入番号-単価数量テーブル仕入番号 このように作成しました。 ここで問題なのが、商品名の入力です。 仕入テーブルをメイン、単価数量テーブルをサブフォームにしてフォームを作成しました。 さて、商品名を単価数量テーブル商品名フィールドのサブフォームから入力・・・と思ったら、商品テーブル商品名フィールドに名前がないためエラーが出ます。(参照整合性をしているため) サブフォームの入力フィールドを商品テーブル商品名に変更すれば入力できます。 しかし、重複した商品名を入力できません(重複しないに設定しているため) 何故このようなことをするか?ですが、同じ商品でも購入日が違えば単価が違う場合があります。 ですので単価数量テーブルでは同じ商品名を使用する必要があります。 しかし、商品テーブルでは同じ商品名は必要ありません。 もちろん先に商品テーブルに商品名を入力すれば問題ありませんが、入力効率から言って問題あります。 さてここで質問なのですが、一対多の多から商品名を入力して一側に反映できないでしょうか? 一側にすでに同じ商品名がある場合は反映してはいけません。 ちないにVBAやSQLはコピペぐらいはできますが、書けませんのでご了承を。

  • アクセスのフォーム上でのルックアップについて

    お世話になります。 素人が初心者向け参考書を片手に、顧客管理のデーターベースを作ってます。 下記は作ったテーブルの簡単な図です。 【商品区分】→【商品マスタ】→【会社別単価】←【顧客マスタ】    【仕入先】↑ :テーブルのフィールド: 【商品区分】(区分ID)(区分名) 【仕入先】(仕入ID)(仕入先名) 【商品マスタ】(商品ID)(商品名)(区分ID)(仕入ID) 【顧客マスタ】(顧客ID)(会社名)(会社名の頭文字)(住所)(電話&FAX)(取引開始年月日) 【会社別単価】(単価ID)(顧客ID)(見積日時)(商品ID)(数量)(単価)(備考) 主キーはIDでオートナンバーにし、各々のIDでリレーションをしています。 また、【商品マスタ】と【会社別単価】のIDをルックアップ設定しています。 で、【会社別単価】以外は入力が終了して、【会社別単価】をフォームを作り入力しようとしています。 ※問題となっていること※ フォーム上から入力していますが、如何せん会社数が400社近く、商品数も10の区分があり、 各々に小物も合わせ30商品(合計10×30=300商品)あり、ちょっと入力が 面倒なことになっています。(フォームはウィザードを使用して作りました) ※やりたいこと※ 【会社別単価】のフォームで、会社名を(頭文字)で抽出して(あ、い、う…で入力しています)、 コンボボックスを2つ使用して、「あ」を選ぶと頭文字「あ」の会社が出てくるようにしたいです。 同じように商品名の方も、商品区分で選んで、それに対応する商品群を表示したいです。 同じような質問があり、参考にしてやってみてますが、さっぱり分かりませんw また、何か補足が必要であれば、補足しますので、すみませんが力を貸してください。

  • アクセスの検索フォームを作りたい

    アクセス初心者です。 今、商品別納入先リストを作成しています。 例えば、商品Aに対してのテーブル1、商品Bに対してのテーブル2があるとします。 それぞれのテーブルに商品名、納入先、納入日、を入力してあるのですが、納入先だけ分かっていて商品名が分からない場合、両方のテーブルから併せて検索するフォームを作成する場合は、どうすればよいのでしょうか? 宜しくお願いします

  • Access フォームのデータがテーブルに反映されない

    こんにちは。 現在、アクセスを使って簡単なデータベースを 作っていたのですが、ひとつわからないことがございます。 テーブルを二つリレーションを組んで、 フォームを作ったのですが、 うまく二つのテーブルにデータが 保存できません。 フォーム:顧客ID、名前、電話番号 サブフォーム:商品ID、商品名、納期、など。。。 こういった二つのテーブルで、サブフォームの方のテーブルに 顧客のデータも保存したいんですが、できるものなのでしょうか? 初心者でわかりづらくて、 大変申し訳ございませんが、よろしくお願い致します。

  • ACCESS フォームにデータ入力できません

    まず支払一覧と発注一覧のテーブルを作成後、そのフォームを作成し、そこからデータを入力できるようにと考えていたのですが、入力しようとしても上書きできません。各一覧には、既にリレーションシップおよび内訳金額と摘要が書けるサブフォームと、それらの合計金額のサブフォームが付けてあります。何をどうすれば、フォーム上にデータを上書きすることができるでしょうか。簡単なことで申し訳ございませんが、どなたか教えてください。。宜しくお願いします。

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

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

  • アクセスでフォームからサブフォームへの検索について

    アクセスを勉強中の初心者です。是非教えて下さい。 請求書入力フォームを作成したので、別のフォームで請求書一覧を作成しています。その請求書一覧は、サブフォームにデータシート形式で[請求No.]、[年]、[月][社名]、[金額]が一覧にでるようになっています。その元になっているクエリの条件のところに、[年]→Like [Forms]![請求一覧]![年検索] & "*" [月]→Like "*" & [Forms]![請求一覧]![月検索] & "*" [社名]→Like "*" & [Forms]![請求一覧]![社名検索] & "*" を入力しています。 ここからですが、サブフォームの上に[年検索][月検索][社名検索]のコンボボックスと[検索ボタン]があって、それぞれコンボボックスから選択後、ボタンを押したら、その対象の年や月、もしくは社名に沿ったデータがサブフォームに出るようにしたいのです。検索ボタンのクリックイベント後のところにどういう命令文を書けばいいのでしょうか。マクロの再クリエなどで設定してもどうにもなりません。マクロもVBAがまだ理解できていないので、教えていただければ幸いです。よろしくお願い致します。

  • Access:検索フォーム

    Access:検索フォーム クエリを基に作成したフォームで「日付2」が変動する検索フォームを作りたいのですが上手く動作しません。 不足などを教えてください; Access2007/WinXP クエリ名 q_出席一覧絞込 1)フィールド名 日付1  クエリ条件 >#2010/01/01#       (2010/1/1以降) 2)フィールド名 日付2  クエリ条件 ([Forms]![出席者絞込]![検索日]に入力した日付以降の日付) フォーム名:出席者絞込 帳票フォーム 1)テキストボックス名:検索日   定型入力: 0000/00/00;0;*   非連結 2)ボタン名:検索ボタン1   クリック時イベントプロシージャ:   Private Sub 検索ボタン1_Click() Me.Requery   End Sub また、フォーム上で元テーブル「出席一覧」のフィールド「単価」の修正機能を加えたい状態です。 (クエリにも「単価」は呼び込んであります) クエリ元のフォーム上で修正>ボタンクリック時にRequeryを記入、という考えでいいのでしょうか? 参考になるサイトなどあればご紹介ください。

  • AC2000でフォームから入力したデータをサブフォームに表示

    ID 商品名 単位 単価で商品マスタフォームを作っています。このフォーム内にサブフォームを作っておいて データが入力するたびにサブフォームへ表示させたいのですが、このときの条件としてID(オートナンバー)を降順(最新のデータが一番上になる)・データシート形式にしたいと思います。 T_商品(テーブル名) Q_商品(IDを降順としたクエリ) MF_商品(各入力テキストボックスがあるフォーム) SF_商品(MF_商品に貼り付けるサブフォーム) 降順にすると一番若いIDのデータだけがサブフォームに 表示されるのです。 requeryは必要なのでしょうか? よろしくお願い致します。

専門家に質問してみよう