プロが教える店舗&オフィスのセキュリティ対策術

ACCESS2003を使用してます。
アクションマクロで、テキストをインポート後、「インポートしました」とメッセージ設定をしてますが、インポート件数も表示したいのですが、どうすればいいでしょうか。
どうぞよろしくお願い致します。

A 回答 (1件)

> インポート件数も表示したい



レコードの件数、ということでよろしければ、インポートの前後で
それぞれDCount関数を使用してレコード件数を確認し、
その差数を表示、とすることで、目的は果たせるかと思います。


Access2003のマクロを使用ということであれば、それぞれの件数
の記録には、フォームに(非表示の)テキストボックスを設置し、
それを使用してやるのが簡単です。
(Access2010のマクロや、Access2003でもVBAであれば、
 件数を保持するのに「変数」を使えますが)

また、マクロを直接ダブルクリックするなどして実行している場合は、
新たにフォームを作成してそこにテキストボックスを設置すると共に、
同じマクロの先頭などでそのフォームを非表示で開いてやれば
Okです。

【非表示テキストボックスの作成方法】
 1)フォームのデザインビューで、通常と同様にテキストボックスを
  設置
 2)当該テキストボックスをダブルクリックするなどしてプロパティ
  シートを開く
 3)『書式』タブの中に『可視』の項目があるので、その値を
  「いいえ」に設定

【フォームを非表示で開く方法】
 1)マクロのデザインビューで、『アクション』に「フォームを開く」を
  指定
 2)画面左下に設定項目が表示されるので、『ウィンドウ モード』
  で「非表示」を指定

【メッセージボックスでの件数の表示方法】
 1)マクロのデザインビューで、『アクション』に「メッセージボックス」
  を指定
 2)画面左下の『メッセージ』の項目に、以下の式を入力:
  ="インポートしたのは " & ([Forms]![MF1]![実行後]-[Forms]![MF1]![実行前]) & " 件です。"

※フォーム名が「MF1」、インポート前後の件数記録用のテキスト
 ボックス名がそれぞれ「実行前/実行後」の想定。
※先頭に「=」がついているのが重要なポイントです。
 (Excelのセルと違い、「&」の前後にはSpaceが必要なので注意)


なお、非表示のフォームはそのままだとAccessが終了するまで
開いたままになってしまうので、インポートの後に「閉じる」アクション
を追加して、当該フォームを閉じるようにした方が無難です。
(画面左下の設定項目で、『オブジェクトの種類』に「フォーム」を、
 『オブジェクト名』に当該フォーム名を、それぞれ指定)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています