• ベストアンサー

Access2002_検索フォームの作り方《初心者》

既存のフォーム上に検索機能を追加させたいと思っております。 現在のフォームは社員の情報を入力していくものです。 既に入力されている社員の情報を変更するときにも使用します。 既存情報の変更はAccessの検索機能を使用して行っておりますが 今後Accessを使えない人でも変更処理が出来るよう、使いやすい検索機能を追加することになりました。 イメージとしては検索したい社員コードを入力し、検索ボタンを押すと該当の情報が表示されるようにしたいと思ってます。 いろいろ調べてみたところ、やりたいことに近いVBAコードをいくつか見かけましたがどうもうまくいきません。 下記のようなオブジェクトがある場合どのようなコードをどこに書けばよろしいでしょうか? 初心者なので出来るだけ手取り足取り教えていただけると助かります。 T_社員マスタ(テーブル) ・社員CD ・氏名 T_社員サブ(テーブル) ・社員CD ・住所 ・生年月日 ・血液型 Q_結合(選択クエリ) ・社員CD ・氏名 ・住所 ・生年月日 ・血液型 ↓このフォームに検索用機能を追加したいです F_検索&入力(フォーム) ・社員CD ・氏名 ・住所 ・生年月日 ・血液型 長々と申し訳ありません。 どうぞよろしくお願い致します。

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

  • ベストアンサー
  • okky0707
  • ベストアンサー率22% (34/154)
回答No.1

手取り足取り書き込むと長くなるので、(根性なくてごめんなさい) 以下のHPを参考にがんばって作ってみてください。 http://www.mahoutsukaino.com/ac/ac2000/ac2000/kensakua/kensaku01.htm http://www.mahoutsukaino.com/ac/ac2002/ac2002/sonota/kensaku/ken01.htm この「魔法使いの開発工房」というHPは、非常に分かりやすく解説してくれているので、初心者の方にはお勧めです。 やたらと小難しいコードばかり教えてもらうよりよっぽど参考になります。

picopico_7
質問者

お礼

アドバイスありがとうございました。 「魔法使いの開発工房」は調べている時にも見つけましたが 教えてくださったURLのページまでたどり着くことが出来ませんでした(^^; 1つ目のURLに書かれていたものを参考にしてみたらとりあえず考えていた検索機能を作ることが出来ました。 楽しく分かりやすいHPですね。 教えてくださりありがとうございました。 私の質問に目をとめてくださり感謝します。

その他の回答 (1)

  • noah7150
  • ベストアンサー率46% (116/251)
回答No.2

>初心者なので出来るだけ手取り足取り教えていただけると助かります。 それが簡単に出来るようになればソフトハウスは仕事が無くなります(笑) 参考までに。 既存にVBAを記述しなくてもすむ方法の1つです。 空のフォームを作成します、参照テーブルなし コンボボックスを1つ取ります。レコードソースを社員テーブル その下にサブフォームを作り現在ある入力画面を貼り付けます サブフォームのリンクで親にこの画面のコンボ、子に入力画面の社員IDコントロール名を指定すれば考えに近い形の画面が出来ると思いますが

picopico_7
質問者

お礼

>それが簡単に出来るようになればソフトハウスは仕事が無くなります(笑) 確かに(#^.^#) アドバイスありがとうございました。 サブフォームの作り方がいまいちわかっておらず教えていただいた手順では試せませんでした。 でも非常に参考になりました。 今後Accessに携わっていくことになりそうなので教えていただいた方法でも試してみようと思います。 私の質問に目をとめてくださり感謝いたします。

関連するQ&A

  • VBAユーザーフォーム上での検索がしたい

    ユーザーフォームを作成したのですが、コードが分かりません教えて下さい。 ・ユーザーフォームは氏名を入力欄とし以下住所、電話番号等、個人情報が氏名を入力することによって、出てくるようにしたいのですが、可能ですか?個人情報はEXCELシート上にあり、随時追加されていきます。

  • アクセス2003 フォーム検索

    アクセス2003でフォームで、以下の条件で入力し、検索ボタンを押下し、検索したいのですが、超初心者ですので、優しく教えていただけますでしょうか? よろしくお願いいたします。 IDコード(完全一致) 氏名(前方一致)

  • ACCESSのフォームの作り方について

    ACCESSのフォームについてお尋ねします。 『会員ナンバー』を主キーに設定しているテーブル(顧客データ。会員ナンバー・住所・氏名等のデータが入ってます)を元にACCESSで入力フォームを作っているのですが、会員ナンバーを入力したら住所・氏名のテキストボックスに自動的に入力されるにはどのようにしたらいいですか? 現在データが1番から自動的に表示されていて、例えば1番の人が表示されているときに会員ナンバーのテキストボックスに番号を入力すると、そのまま1番の人が上書きされてしまいます。 会員番号を検索して住所などのデータが出てくるイメージにしたいのですが。。。 本当はすでに入力されている住所等のデータはこのフォームでは上書きされないようにしたいのです。 ちなみにこのレポートは会員を新規追加するためではなくどんな修理をしたかという項目を追加させるため物です。

  • Access2002 フォームからのレコード入力の成功/不成功

    いつもお世話になっております。 早速ですが、従業員マスタテーブルがあり、それを元に従業員の情報を入力するフォームを作成しました。 従業員マスタテーブルは、「社員番号」だけをキーにしています。 例えば、新入社員のデータを、完全に新規に入力する場合、うまく行きます。 また、すでにいる社員の、「社員番号以外」のフィールドを更新することもできます。 しかし、社員番号が既存のものとかぶるような新規登録、あるいは情報変更に関しては、入力用フォーム上では正常終了したように見えますが、実際の従業員マスタテーブルをチェックしてみると、変更はされていません。 ですので、フォームしか触れないユーザは、自分の変更、新規追加がうまく行ったのかどうか、テーブルが見られないのでわからない、という状況になっています。 仕様要求としては、新規であれ、情報変更であれ、既存の社員番号に重なる場合はメッセージボックスで「更新失敗」を表示したいのです。 If Exist・・・のような分岐を情報を入力するフォームの「閉じる」ボタンの裏に設けたいのですが、やり方がイマイチわかっておりません。 ご存知の方がいらっしゃれば、ご教授、よろしくお願いします。 --------------------------------------------------------------- <従業員マスタ> ・社員番号・・・テキスト ・氏名・・・テキスト <仕様要求> 社員番号「0001」と「0002」の社員が存在する場合・・・ ・情報入力画面で、「0001」の社員の社員番号を「0002」に変更しようとすると、エラーメッセージ表示 ・新規情報入力(新入社員など)の際、社員番号が「0001」や「0002」の社員として登録しようとすると、エラーメッセージ表示 以上、お時間のあるときによろしくお願いします。

  • Accessでフォームの検索について教えてください

    契約書情報の管理をしています。 (1)契約書TBL [契約書No][契約書名][契約社名][担当部署名][グループ名][社員名] (2)社員情報TBL [部署名][グループ名][社員名] (それぞれ入力用のフォームあり。) やりたいこと: ・契約書フォームで契約書名、社員名を検索すると、該当した情報が表示され、その中から選択して契約書情報の修正がしたい。 ・新規で契約書フォームに入力する場合、社員名を検索し、自動的に部署名、グループ名がフォームに表示されるようにしたい。 お手数ですがご回答頂ければと思います。 宜しくお願いします。

  • Accessでフィールドを追加したい

    Accessであるシステムを作成しているのですが、いくつか不明な点があるのでアドバイスをお願いします。 「社員情報」をいうテーブルがあり、初期の状態で「社員番号」「氏名」「入社年月日」「年齢」とフィールドがあります。 このテーブルを基にフォーム「社員情報入力」も作ってあります。 ここで新たに、社員情報テーブルに「生年月日」「連絡先」など、フィールドを追加したいのですが・・・以下のような条件があるので、どうしていいのかわからず困っています。 【条件】 ・フィールド追加用のフォーム(新規フィールド名を入力させる)を作り、そこからフィールドを追加させる。(直接テーブルはいじらせないため) ・追加したフィールドを社員情報入力フォームに反映(表示)させたい ・追加したフィールドをレポートにも反映(表示)させたい このような条件でフィールドの追加は無理なのでしょうか? アドバイスや参考になるページを教えてください。 よろしくお願いします。

  • フォームで検索画面を作成しましたがうまくいきません。

    社員マスタ(社員NO,社員氏名、生年月日、・・・)を元に、 社員の情報を検索できるフォームを作成したいと思い、本を片手に以下のように作成してみました。 (1)社員マスタを元に選択クエリ(Q_社員検索)を作成。 社員番号の抽出条件 [Forms]![Q社員検索]![社員番号検索]  または(抽出条件は二段に分けてます) 社員氏名の抽出条件 Like [Forms]![Q社員検索]![社員氏名検索] & "" & "*" フォーム(F_社員検索)には、社員番号検索と社員氏名検索のテキストボックスを配置し、コマンドボタン(検索ボタン)をテキストボックスの横に配置。 マクロ(M_社員検索)はアクションがフィルタの実行、フィルタはQ社員検索としています。 コマンドボタンのクリック時イベントにこのM_社員検索を指定。 F_社員検索からは、「社員番号」または「氏名」から社員の情報を表示させたいと思っています。 が、、実際に作成してみると下記のような不備が発生しています。 (1)社員氏名を社員氏名検索のテキストボックスに入力して、検索ボタンを押す→正しく結果が表示される。 (2)社員番号を社員番号検索のテキストボックスに入力して、検索ボタンを押す→結果が正しく表示されない (3)(1)の後に、続けて(2)を実行した場合、フォームには、2レコード表示されてくる。 になってしまいます。 原因がよく分からず、四苦八苦しています。 当方アクセス初心者レベルですので、簡単な解決があれば教えていただきたく思います。

  • アクセスでの検索回数and 検索日付を出す方法

    どうしてもわからないので教えてください。 アクセス2002 XP フィールド名 ID氏名 生年月日 電話番号 住所 などの情報データがあり、フォームで検索できるように検索条件を氏名生年月日が一致するデーターを抽出できるようにしています。 そこに追加で検索結果表示ボタンクリック時に 例:Aさん検索後、抽出結果→検索回数+検索した日付表示。 あとでこのAさんは何回検索したか?何日に検索したという形で一覧表示させたいのです。 どのようにすればできますか? お力アドバイスおねがいします。

  • Accessのフォームで

    教えてください。下のようなテーブルがあり、これを元にフォームを作成したいのですがいい方法が見つかりません。 【テーブル】  品物テーブル(品物ID、品物、製作所)  社員テーブル(品物ID、社員コード、氏名) このテーブルを元にして下のようなフォームを作りたいのです。 【フォーム】  品物ID [テキストボックス]  品物 [テキストボックス]  製作所 [テキストボックス]  社員コード [テキストボックス]  氏名 [テキストボックス]  社員コード [テキストボックス]  氏名 [テキストボックス]  社員コード [テキストボックス]  氏名 [テキストボックス] ※社員コード、氏名が3つあるのは、同じ品物を3人が作成することがあるため。(この部分で悩んでいます) このようなフォームを作ることは可能でしょうか? また参考になるようなサイトなどあれば教えてください。 よろしくお願いします。

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

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

専門家に質問してみよう