Accessで氏名と日付でレポート内容を検索する方法

このQ&Aのポイント
  • Access2002で、「氏名」と「日付」を利用したレポート内容の検索機能を作成しています。
  • フォームには氏名一覧、日付入力、検索ボタン、最新データの取り込みボタンを配置しています。
  • 「最新データ取り込み」ボタンを押すと、テーブルの一部を更新しようとするとエラーメッセージが表示されますが、フォームを閉じずに最新データを取り込む方法はありますか?
回答を見る
  • ベストアンサー

Accessのマクロ

Access2002で、「氏名(テーブル名:name)」と「日付<○月○日~○月○日>(テーブル名:date)」でレポート内容が検索できるのを作っています。 フォームに 氏名一覧、日付入力、検索ボタン、最新データの取り込みボタン を作っています。 「検索」の方は出来たのですが、「最新データ取り込み」をしようとすると、 『テーブル'name'は現在ほかのユーザまたはプロセスで使用されているので、ロックできませんでした』というエラーメッセージがでてきます。 「最新データ取り込み」ボタンに対してのマクロのアクションは、 オブジェクトの削除…テーブル/report テキスト変換…reportインポート定義 オブジェクトの削除…テーブル/name クエリを開く…name作成(テーブル作成クエリ) としています。 (「マクロの実行」で指定) フォームに表示されている氏名(name)を削除しようとしているために、このようなエラーメッセージが出ているのかとも思っていますが…。 フォームを閉じずに、「最新データ取り込み」ができないものでしょうか? ご教示の程、よろしくお願いします。

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

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.1

> フォームに表示されている氏名(name)を削除しようとしているために、 > このようなエラーメッセージが出ている その通りだと思います。 > フォームを閉じずに、「最新データ取り込み」ができないものでしょうか? 一時的に、フォームのテキストボックスの表示が「#Name?」となってもよければ、 フォームのレコードソースを一旦解除し、テーブル作成終了後に再度設定、 という方法もあるかと思います。 <現在> オブジェクトの削除…テーブル/report テキスト変換…reportインポート定義 オブジェクトの削除…テーブル/name クエリを開く…name作成(テーブル作成クエリ) <修正後> オブジェクトの削除…テーブル/report テキスト変換…reportインポート定義 値の代入…アイテム「Forms!フォーム名.RecordSource」、式「""」 オブジェクトの削除…テーブル/name 値の代入…アイテム「Forms!フォーム名.RecordSource」、式「"name"」 クエリを開く…name作成(テーブル作成クエリ) ・・・以上です。 「Forms!フォーム名.RecordSource」というのは、実際のフォーム名が「フォーム1」で あれば Forms!フォーム1.RecordSource になります。 なお、もしも「name」テーブルをレコードソースにしているのがサブフォームの場合は、 アイテムへの入力はそれぞれ「Forms!フォーム名!サブフォーム名.RecordSource」と して下さい。 (「サブフォーム名」には、表示に使用しているフォームの名前ではなく、コントロール  としてのサブフォームの名前を指定します)

ayane007
質問者

お礼

DexMachinaさん、ありがとうございました。 まだまだ、試行錯誤で勉強中で、このようなやり方があるとは勉強になりました。 ありがとうございました。

関連するQ&A

  • アクセスのマクロについて教えて下さい

    当方アクセスは素人です。 1つのテーブルを基に作ったクエリとフォームがあります。 このフォームの中にボタンを作り、1つの操作で クエリの条件指定をしたり、その抽出したデータをエクセルに出力したりできるようにしたいのですが どうすればいいのかわかりません。レポートにして出力、程度ならできるんですが…。 自分ひとりなら、クエリの画面で条件指定をして開き、ツール→エクセルに出力、とするところなんですが、 もっとド素人のおじさんに「誰でもボタンひとつでできるようにしておいてほしい」と言われて困っています。 助けてください。よろしくお願いします。m(__)m

  • Accessのマクロ。

    Access(テーブル クエリーのみ フォーム、レポートは持ってません) のデータベース(入力は別ソフトから行っています)で、 テーブルの内容が更新時にテキストファイルを書き出すようにしたく、 マクロを使ってどうにかならないか考えているのですが、 「条件」がうまくつけられません。別にマクロでなくAccessVBAでも いいのですが・・・・。 ご存知でしたら是非お教えください。

  • Access、マクロの最後に最適化を入れられる?

    Access2003を使用しています。 マクロの最後に最適化を組み込むことは可能でしょうか? マクロの内容は、 1、昨日のデータ抽出に使用した作業用テーブル内のデータを削除する 2、本日のデータをインポートしてくる 3、1で空にしたテーブルに、2のデータを追加クエリで流し込む 4、2でインポートしてきたデータ(テーブル)を削除する です。 この後、「5、データベースを最適化する」を入れてマクロを終わらせたいのです。 インポートしてくるテーブルは8個あり、1テーブルに20万を超すデータが入っているため、インポート、追加をやっているうちに、データベースの大きさが1,126,528KBにもなってしまいます。 この後、この大容量のテーブルを使って、大容量のテーブルを作成しているうちに・・・・データベースは更に大きくなってしまい困っています。 マクロの最後に「ここで一旦最適化」を入れられないでしょうか? このデータベースを使用するのは自分で使用するものでないため、「マクロ終了後ツールボタンで最適化する」ということが出来ません。 また、VBAはわからないので・・・出来ればマクロなどで対応できると助かります。 どなたか詳しい方、教えてください!

  • ACCESS 不要なオブジェクトの削除

    お尋ねします。 ACCESS初心者です。 OSはXPのPRO、ACCESSは2003を使っています。 いろいろ試行錯誤しながらDBを作成しているうち、テーブルやクエリなどのオブジェクトがかなりたまってしまいました。 パフィーマンスを上げるため、DBを整理して不要なオブジェクトを削除したいのですが、分析方法がわかりません。 テーブルとクエリはリレーションを見ればつながりがわかるのですが、フォームやレポートなどはひとつひとつデータソースを調べるしかないのでしょうか? どなたか教えてください。

  • ACCESS97 レポート。フォームが作れません

    ACCESS97で作成されたファイルのレポート。フォームが編集、新規作成ができません。 テーブル、クエリ、マクロはできます。 データベースウィンドゥのフォーム、レポートから 新規作成、編集ボタンが押せない状態になってます。 権限やセキュリティで引っかかっているのかと思って、【ツール】下の機能を見たのですが。 関係なさそうな気がします・・・・。 仕方ないので、必要なテーブルやクエリを別ファイルにインポートして、そちらで レポートを作成しています。 元データのファイルに組み込みたいのですが、やり方を教えてください・・・。

  • Access2003でコンボボックスからデータを抽出したい

    自己啓発でAccess2003を勉強しています。 Access2003でコンボボックスで名前を選択して、データ(住所)を抽出したものをリストボックスに表示させたいのですがどこがまちがっているかわかりません。こんなことで3週間ぐらい悩んでいます。 回答またはアドバイスをお願いします。 もしくはもっと簡単なやりかたがあればお願いします。 (1)「氏名」、「住所」のテーブルを作成。テーブル名は「01データ」 (2)「氏名」、「住所」のクエリを作成。クエリ名は「クエリ1」 (3)フォームでコンボボックスとリストを作成。フォーム名は「印刷」 ⇒コンボボックスの名前は「検索」。 ⇒値集合ソースはSELECT [01データ].ID, [01データ].氏名 FROM 01データ; これで「氏名」が選択できた。 (4)クエリの「氏名」抽出条件にLike [forms]![印刷]![検索] (5)検索するマクロを作成。マクロ名「M検索」 アクションは 全レコードの表示 フィルタの実行 ⇒Where条件は[Forms]![印刷]![検索]=[クエリ1]![氏名] (6)マクロ「M検索」をコンボボックスのプロパティ「イベント」タブから変更時に設定する。 (7)フォーム「印刷」を開き、コンボボックスで氏名を選択すると『クエリ1!氏名』と表示されてしまいます。 (8)フォーム「印刷」のリストボックスは全レコードが表示されている。

  • Access2010についての質問です。

    アクセス「超」初心者です。 あるクエリ上のデータを検索(抽出?)して、フォームに反映させたいのですが、基本的なところで躓いております。 クエリ【Q基本データ】にあるフィールドは [階] [場所] [物] です。 [階][場所]は、別にテーブルがあり、そこから選ぶようになっています。 (→【T階テーブル】【T場所テーブル】) このクエリを基に作成したフォーム【F基本データ】上で、検索を行いたいのです。 フォーム【F基本データ】のヘッダー部分に、 テキストボックスを2つ[階検索][場所検索]と ボタンを1つ[検索] それぞれ配置し検索を行えるようにしたいのですが・・・ (テキストボックスはそれぞれ【T階テーブル】【T場所テーブル】からコンボボックスで選ぶようにしています) [検索]ボタン > プロパティシート > イベント > クリック時 の埋め込みマクロにアクション「フォームを開く」を入力していけば良いのでしょうか??? テキストボックスが2つだとマクロでは無理とか??? テキストボックス1つにつき、ボタンを1つ配置したら良いのか??? ご教授いただけましたら幸いです。

  • マクロを使ってコマンドボタンを実行するには

    お世話になります。 OSは、Windows 98 Second Edition アプリケーションは、Access 2000 です 下記作業の一連を簡素化したいのですが マクロを使うのが良いかと考えています。 1.データをインポート 2.レポート印刷 3.追加クエリ実行 4.削除クエリ実行 インポートはフォームのコマンドボタンから 実行できるようにして有ります。 追加、削除クエリも別のフォームのコマンドボタンから 実行できるようにして有ります。 マクロでフォームを開く、閉じるはできるのですが コマンドボタンの実行方法がわかりません。 どのアクションを選べばよろしいのでしょうか? よろしくお願い致します。

  • ACCESS内の検索

    お世話になります。できるのどうかわからないのですが宜しくお願いします。 ACCESSを利用し在庫管理などを行っているのですがその際、例えばクエリ名「A」というクエリをレコードソースとしフォームを作るとします。さらに同じクエリをレコードソースとしレポートを作ります。こういったように同じクエリやテーブルを使用する場合、システムの規模が大きくなるとクエリやテーブルがどこでどのように使用しているか把握しきれなく、また時がたつにつれ忘れていってしまいます。そこで、クエリやテーブルがどこで(クエリ、フォーム、レポート、マクロ、モジュールなど)使用されているか検索できるようにするにはどうしたらよいでしょうか? 宜しくお願いします。

  • アクセスのクエリを開く前にマクロを実行できますか?

    フォームやレポートを開く前にマクロを実行できますが、同様のことをクエリを開く前にもする方法はないでしょうか? 具体的には、いくつかのテーブル作成クエリと追加クエリをまとめて行うマクロを実行してから、選択クエリを開きたいのです。 「SQLビューで1行加えるだけ」みたいなのができると助かります。 よろしくお願いします。

専門家に質問してみよう