MS Access

テーブル/クエリのデータシートビューでイベントを処理する方法

投稿日:2013年4月9日 更新日:

参考:テーブル/クエリのデータシートビューでイベントを処理する方法 | YU-TANG’s MS-Access Discovery

え、そうなの?
クエリを閉じた際のイベントをセットできるの?
知らなかった~。
Accessは、ホント、隠れた技がたくさんあるよね~。

自分の場合、上記を参考に、

Private Sub cmdクエリ表示はがき用_Click()
    DoCmd.OpenQuery "新規顧客はがき用", acViewNormal
    Screen.ActiveDatasheet.OnClose = "=はがきチェック更新()"
End Sub

とフォームモジュールに書いて、さらに標準モジュールに、

Public Function はがきチェック更新()
Dim SQL As String

    If MsgBox("表示中のデータについて「はがき作成済み」とします(データ更新)", vbOKCancel) = vbOK Then
        DoCmd.SetWarnings False
        SQL = "UPDATE master SET はがき = True WHERE 顧客ID = " & Me.txt廃番 & ";"
        DoCmd.RunSQL SQL
        DoCmd.SetWarnings True
        MsgBox "顧客IDを更新しました。"
    End If
    
End Function
 

・・・なんていう風にして使った。
便利・便利。

-MS Access

執筆者:

関連記事

no image

Accessで、見積書のような「サブフォームつきフォームを丸々コピー」する方法・・・見つけるのに、四苦八苦。

最初、複雑でかつ読み取り専用のクエリを元にしたフォームをコピーしようとしていたために、 acCmdPasteAppendのラインで「コマンドまたはアクション”追加貼り付け”は無効です」のエラーが出て、 …

no image

Accessでレコードコピー(オートナンバー除く)の決定版のコード!

Accessで、レコードのオートナンバーを除くフィールドを1行、複製(コピー)したくって、Google検索したのだけどなかなか出てこず、しかしやっと見つけた、黄金のソース・・・・。 [VBA] ADO …

no image

AccessやExcelで作ったハイパーリンクではChromeブラウザ上のGmailの受信トレイを検索できんかった・・・がShellならできた

Accessのフォームにつくったボタンをクリックしたら、ハイパーリンクに変数がセットされ、その変数でGmailの受信トレイを検索する・・・・といった仕組みを作りたかった。 Private Sub cm …

no image

Accessの再クエリーでデータが移動してしまうのを解消

仕事メモ。 メイン・明細フォームのときは、 http://www.sanryu.net/acc/tips/tips323.htm を参考に、 Dim m_offset As Long ‘レ …

no image

Accessで DoCmd.RunSQL を CurrentDb.Executeにしたら、1秒高速化した

処理が遅いので速くして欲しいとの要望があったので、コードを調査。 DoCmd.RunSQL を CurrentDb.Execute に置き換えると非同期で実行されるとの情報を得たので、試す。 結果、6 …