みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

access保存時にVBAを実行

Accessを保存するときにVBAを実行することはできるのでしょうか?
調べてもAccessは情報が少なくてこれといったものがありません
ExcelのWorkbook_BeforeSaveみたいなイメージです

投稿日時 - 2019-07-02 17:53:10

QNo.9631252

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

>Accessを保存するときに動作をVBAに組み込みたいですか
 強制的にレコードをcsv等に出力するようなことをしたいです。
〇VBAでは色々なボックスでコマンドボックスと同じようにイベントを
 発生させる事が出来ます。
 例えばコンボボックスのChangeイベントでフォームを
  条件付きで開くことも可能です
  -------------------------------------------------------------------------
   Private Sub 食品登録コンボ_Change()
   DoCmd.OpenForm "食品名登録", , , "forms!メニュー![食品登録コンボ]=[食品分類ID] "
   End Sub
  --------------------------------------------------------------------
 ラベルボックスの「閉じる」からです
  ------------------------------------------------------------
   Private Sub 閉じる_Click()
    DoCmd.SetWarnings True
    DoCmd.TransferSpreadsheet acExport, , "XLS朝食", エクセル名, True, "朝食"
    DoCmd.TransferSpreadsheet acExport, , "XLS昼食", エクセル名, True, "昼食"
    DoCmd.TransferSpreadsheet acExport, , "XLS夕食", エクセル名, True, "夕食"
   DoCmd.Close
   End Sub
 ------------------------------------------------------------
 上記は食事履歴テーブルより抽出クエリの
 XLS朝食、XLS夕食、XLS昼食 3つのクエリより
 Excelファイルに、sheet名が朝食、昼食、夕食にエクスポートします
 ・エクセル名はドライブ名からフルルートです。
 ・シート名は最初用意する必要がありませんが
  2度目からは同じsheetに上書されますが
 ・最初に作成されたSheetのA1より入りますが、
  ここで数式等の挿入、削除はダメです
  列または行の挿入で2度目からの書き込み位置を変更します

 DoCmd メソッド (Access)は参考URLをご覧ください

参考URL:https://docs.microsoft.com/ja-jp/office/vba/api/access.docmd

投稿日時 - 2019-07-13 13:46:46

ANo.3

こんにちは
>Accessを保存するときにVBA
 もし可能なら保存するときどのような動作をVBAに組み込みたいですか?
 Excelなら閉じるときに上書保存するかどうかに答えなければなりません
 これが煩わしく、「保存せずに閉じる」のVBAで閉じています。

投稿日時 - 2019-07-09 07:24:56

ANo.2

> テーブルを更新した時と言った方が正確かもしれません

フォームで処理しているのでしたらフォームの更新後処理のイベントプロシージャにすればいかがでしょう。

投稿日時 - 2019-07-02 20:07:11

ANo.1

> Accessを保存するときに

通常使用時に保存するということはしないと思いますが、どのような場面でしょう。

投稿日時 - 2019-07-02 18:46:07

補足

Accessのファイルそのものを保存した際に強制的にレコードをcsv等に出力するようなことをしたいです。
テーブルを更新した時と言った方が正確かもしれません

投稿日時 - 2019-07-02 19:21:18

あなたにオススメの質問