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でのテーブルのエクスポート定義

Access2007のテーブルをcsv保存したいのだが、結果ファイルにダブルコーテーションを付けたくない・・・。 ダブルクォーテーションつきであれば、例えば、 DoCmd.TransferText a …

no image

SqlServer 2008 Express R2 をインストールしようとしているのだが、最後の最後でうまくいかない

前回、試しに自分の普段のPCでSqlServer2008をインストールしたのだが、今回はサーバ(といってもXP)を対象に同様のことをしてみた。 しかしインストールの最後で「there was an e …

no image

Accessのフォームでテキストボックスに入れた値を次回オープン時の既定値として自身に保存するには

ちょっとだけ苦労した。 次回もきっと使うことがあるだろうから、メモメモ。 現在の値を変数に入れておく(これをしておかないと、次の処理でデザインビューに切り替わるために入力した値も消える)。 フォームを …

Access「実行時エラー3061 パラメータが少なすぎます。2を指定してください」で意外な決着

クロス集計クエリをVBAで読むときで、かつパラメータクエリを使う場合には、クエリのパラメータパネルで、別途、パラメータを指定しなくてはならない(VBAで使わないなら不要) 本日のトラブルは、その後、W …

no image

Accessで指定テーブル内を全文検索

今まで、特定のフィールド内でしか検索できないものだと思っていた・・・。 Accessのリボンの検索ボタンをクリックして表示されるダイアログボックス内の「探す場所」で特定のテーブル/クエリ/フォーム名か …