- 締切済み
access保存時にVBAを実行
Accessを保存するときにVBAを実行することはできるのでしょうか? 調べてもAccessは情報が少なくてこれといったものがありません ExcelのWorkbook_BeforeSaveみたいなイメージです
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- chayamati
- ベストアンサー率41% (260/624)
>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をご覧ください
- chayamati
- ベストアンサー率41% (260/624)
こんにちは >Accessを保存するときにVBA もし可能なら保存するときどのような動作をVBAに組み込みたいですか? Excelなら閉じるときに上書保存するかどうかに答えなければなりません これが煩わしく、「保存せずに閉じる」のVBAで閉じています。
- kkkkkm
- ベストアンサー率66% (1733/2603)
> テーブルを更新した時と言った方が正確かもしれません フォームで処理しているのでしたらフォームの更新後処理のイベントプロシージャにすればいかがでしょう。
- kkkkkm
- ベストアンサー率66% (1733/2603)
> Accessを保存するときに 通常使用時に保存するということはしないと思いますが、どのような場面でしょう。
補足
Accessのファイルそのものを保存した際に強制的にレコードをcsv等に出力するようなことをしたいです。 テーブルを更新した時と言った方が正確かもしれません