• 締切済み

access保存時にVBAを実行

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

みんなの回答

  • chayamati
  • ベストアンサー率41% (255/609)
回答No.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
全文を見る
すると、全ての回答が全文表示されます。
  • chayamati
  • ベストアンサー率41% (255/609)
回答No.3

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

全文を見る
すると、全ての回答が全文表示されます。
  • kkkkkm
  • ベストアンサー率65% (1624/2466)
回答No.2

> テーブルを更新した時と言った方が正確かもしれません フォームで処理しているのでしたらフォームの更新後処理のイベントプロシージャにすればいかがでしょう。

全文を見る
すると、全ての回答が全文表示されます。
  • kkkkkm
  • ベストアンサー率65% (1624/2466)
回答No.1

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

noname#249145
質問者

補足

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

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VBAでのマクロの削除方法について教えてください。

    ACCESS2000のVBAから、excelのThisWorkbookに書かれたVBAマクロ「Sub Workbook_BeforeSave」を削除したいのですが、うまくいきません。どなたか方法を教えてください。よろしくお願いいたします。

  • accessでexcelのVBAを実行

    excelのファイルにはVBAは一切入れないで、accessにexcelで使いたいVBA入力しておき実行したいのです。 理由はCSVファイルをVBAにて加工したいからです。 よろしくお願い致します。

  • Excelで保存を中止する方法

    エクセルで教えてください。 Excelで上書き保存をクリックすると保存されます。 これを中止させたい場合どうしたらいいでしょうか。 VBAでWorkbook_BeforeSaveでCancel = Trueにして保存できないようにしました。 これで保存は出来なくなりました。 でも、閉じるをクリックすると「保存しますか」とのメッセージが出て「はい」をクリックすると、なんどでも同じメッセージが出ます。 「いいえ」をクリックすれば閉じますが、メッセージを出さないとか、「はい」をクリックしても閉じる方法はないでしょうか。 宜しくお願いします。

  • Access2000のVBAでエクセルマクロ実行

    お世話になります。 Access2000のVBAでエクセルのマクロとアクセルのマクロを 交互に実行したいと思っております。 (1)エクセルのマクロ1を実行 (2)アクセスのマクロAを実行 (3)エクセルのマクロ2を実行 と交互に実行したいのです。 下記のサイトなどを参考に試みたのですが、 http://www.nurs.or.jp/~ppoy/access/access/acX005.html (1)を実行している途中に (2)が進んでしまいます。 どのようにすれば、(1)が終わってから(2)と、前の処理が 終わってから次の処理に進むことが出来るのでしょうか? Access2000のVBAから指示をかけたいので、 Access2000のVBAのコードで教えて頂ければと 思います。

  • AccessでVBAって何に使えるんでしょうか?

    僕はExcelのVBAで長年仕事してきましたが、AccessでもVBAが使えるのは知っていますが、どんなことに使うのかがイメージ湧きません。 AccessってExcelだとVBAでマクロ組まないとできないような機能をデフォルトで持っているような感じじゃないですか? レポートみたいな画面も出せるし、Excelデータから普通に取り込むこともできるし、これ以上、何を自動化するのかな?と。 求人情報などでたまにAccessのVBAを使える人というのが条件にあったりするんですが、こういった仕事って何ができることを期待してるのでしょうか?

  • Excel VBAからAccessマクロを実行したい

    Excel VBAからAccessマクロを実行する方法を知っている人がいましたら 教えてください。 よろしくおねがいしまっす!

  • エクセルVBAのイベント処理のタイミングについて

    エクセルのイベント処理にWorkbook_BeforeClose、Workbook_BeforeSaveってのがありますが、セルに変更を加えてウィンドウの×印をクリックすると、BeforeCloseが先に割り込まれ、次に”変更を保存しますか?”となりはいと答えると、最後にBeforeSaveが割り込まれ、保存して終わります。最後の最後の保存が終わったあとに処理がしたい場合行うことは不可能なのでしょうか?それとも、一番最後の保存という行為を強制中止させる方法ってあるのでしょうか? どなたか?詳しい方教えていただけませんでしょうか?宜しくお願い致します。

  • エクセルVBAでアクセスの更新クエリを実行

    エクセルVBAでアクセスの更新クエリを実行する方法はありますか? アクセスもエクセルも常に起動している状態です。 エクセルからアクセスの更新クエリを実行するコードを教えてください。 アクセスで実行するとしたら Sub test1() DoCmd.OpenQuery "更新クエリ" End Sub というコードになります。 できれば、ADODBを使ったやり方がいいのですが、 エクセルからアクセスのプロシージャーのtest1を呼ぶしかないのでしょうか?

  • Access2000で最適化をVBAで実行できますか?

    Access2000のメニューから操作する「最適化」をVBAで実行できませんか? データ(レコード)を削除したときなど、終了時に自動実行させたいのですが。 (オプションで設定すると、常に実行されるので) よろしくお願いいたします。

  • アクセス2003・VBA

    アクセス2003を使っています。 アクセスのVBAを使って下記のやり方を教えて下さい。 (1)ファイル名を指定して、エクセルファイルを開く。 (VBA構文上でファイル名を入力し、固定するのではなく、そのVBAを実行すると、ファイルをダイアログで選択する方法です。) (2)その開いたファイルで2行目からデータが入っている行までをコピーし、そのVBAを実行しているアクセスファイルの特定のテーブルに貼り付ける。 上記の方法がお分かりの方、是非教えて下さい。 よろしくお願いします。

専門家に質問してみよう