Access VBA ノート(サンプルコード)

Hide Tamura の Access VBA ノート

Access-VBA ANSIキーを押した時のKeyPressイベント

Private Sub txt1_KeyPress(KeyAscii As Integer)
    
    Select Case KeyAscii
        
        Case 8
            MsgBox "BackSpace"
    
        Case 9
            MsgBox "Tab" 確認できず
    
        Case 13
            MsgBox "Enter" 確認できず
    
        Case 27
            MsgBox "Esc"
    
    End Select
    
    If KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Then MsgBox "0-9"
    
    If KeyAscii >= Asc("A") And KeyAscii <= Asc("Z") Then MsgBox "A-Z"
    
    If KeyAscii >= Asc("a") And KeyAscii <= Asc("z") Then MsgBox "a-z"
    
End Sub


 ↓ facebook のフォローで応援してください。お願いします。



Microsoft Office ブログランキングへ



Access-VBA [イベント発生順] ANSIキーを押した時のイベント発生順

Private Sub txt1_KeyDown(KeyCode As Integer, Shift As Integer)
    MsgBox "KeyDown"
End Sub
 
Private Sub txt1_KeyPress(KeyAscii As Integer)
    MsgBox "KeyPress"
End Sub
 
Private Sub txt1_Change()
    MsgBox "Change"
End Sub
 
Private Sub txt1_KeyUp(KeyCode As Integer, Shift As Integer)
    MsgBox "KeyUp"
End Sub


 ↓ facebook のフォローで応援してください。お願いします。



Microsoft Office ブログランキングへ



Access-VBA [DoCmd] DoCmd.OpenFormのOpenArgs を利用する

Sub Test()
    DoCmd.OpenForm "フォーム名", , , , , , "OpenArgsの内容"
End Sub

Private Sub Form_Open(Cancel As Integer)
    
    If IsNull(Me.OpenArgs) Then
        MsgBox "OpenArgs に何も入っていない"
    End If

End Sub


 ↓ facebook のフォローで応援してください。お願いします。



Microsoft Office ブログランキングへ





 

Access-VBA オプショングループの選択によりサブフォームのレコードにフィルタをかける

Private Sub frm1_AfterUpdate()
    '表示を動かさない
    DoCmd.Echo False
    
    'フィルターを解除
    Me.sub1.Form.FilterOn = False
    
    'オプショングループの選択状態によりフィルター条件を変える
    Select Case Me.frm1.Value
    Case Me.opt1.OptionValue
        Me.sub1.Form.Filter = "担当者コード = '1'"
    Case Me.opt2.OptionValue
        Me.sub1.Form.Filter = "担当者コード = '2'"
    Case Me.opt3.OptionValue
        Me.sub1.Form.Filter = ""
    End Select
    
    'フィルターをかける
    Me.sub1.Form.FilterOn = True
    
    DoCmd.Echo True
End Sub


 ↓ facebook のフォローで応援してください。お願いします。



Microsoft Office ブログランキングへ



Access-VBA フォーム(レポート)、サブフォーム、コントロールの参照

Sub オブジェクト参照TEST()

    DoCmd.OpenForm "main1"
    
    MsgBox Forms!main1.Name
    MsgBox Forms![main1].Name
    MsgBox Forms.main1.Name
    MsgBox Forms("main1").Name
    MsgBox Forms(0).Name

    MsgBox Forms("main1")!btn1.Name
    MsgBox Forms("main1")("btn1").Name
    MsgBox Forms("main1")![btn1].Name
    MsgBox Forms("main1").[btn1].Name 
    MsgBox Forms("main1").btn1.Name
    MsgBox Forms("main1").Controls("btn1").Name
    MsgBox Forms("main1").Controls.Item("btn1").Name
    
    'サブフォーム参照 
    MsgBox Forms("main1")!sub1.Form.Name
    MsgBox Forms("main1")("sub1").Form.Name
    MsgBox Forms("main1").sub1.Form.Name
    MsgBox Forms("main1").Controls("sub1").Form.Name
    MsgBox Forms("main1").Controls.Item("sub1").Form.Name
    
    MsgBox Forms("main1")!sub1.Form!btn1.Name
    MsgBox Forms("main1").sub1.Form("btn1").Name
    MsgBox Forms("main1")("sub1").Form.btn1.Name
    MsgBox Forms("main1").sub1.Form.Controls("btn1").Name
    MsgBox Forms("main1").Controls("sub1").Form.Controls.Item("btn1").Name

End Sub

メインフォームからサブフォームの参照
Private Sub btn1_Click()
    MsgBox Me.sub1.Form.btn1.Name
End Sub

サブフォームからメインフォームの参照
Private Sub btn1_Click()
    MsgBox Me.Parent.btn1.Name
End Sub
 

 ↓ facebook のフォローで応援してください。お願いします。



Microsoft Office ブログランキングへ



 

Access-VBA オブジェクトへの参照と解除 Set, Nothing, Is Nothing

Sub ObjTest()
    Dim MyForm As Form
    Dim strForm As String
    
    strForm = "frmTest"

    '先にフォームをオープンしないとエラー
    DoCmd.OpenForm strForm
    Set MyForm = Forms(strForm)
    
    '【MyFormについての処理】
    
    DoCmd.Close acForm, strForm
    
    If MyForm Is Nothing Then
        MsgBox "オブジェクト参照なし", vbCritical
    Else
        MsgBox "オブジェクト参照あり", vbInformation
    End If
    
    Set MyForm = Nothing
    
    If MyForm Is Nothing Then
        MsgBox "オブジェクト参照なし", vbCritical
    Else
        MsgBox "オブジェクト参照あり", vbInformation
    End If

End Sub

 ↓ facebook のフォローで応援してください。お願いします。



Microsoft Office ブログランキングへ




 

Access-VBA モジュールのエクスポート 拡張子 bas cls

モジュールのエクスポート 拡張子
bas ・・・ 標準モジュール
cls ・・・ フォームモジュール レポートモジュール クラスモジュール

 ↓ facebook のフォローで応援してください。お願いします。



Microsoft Office ブログランキングへ



Access-VBA [OLEオートメーション] Excel連携

実行時バインディング
Sub Test()
    Dim MyExcel As Object
    Set MyExcel = CreateObject("Excel.Application")

    MyExcel.Visible = True
    MyExcel.workbooks.Add
    MyExcel.ActiveWorkbook.Sheets(2).select
    MyExcel.Quit
    
    Set MyExcel = Nothing

End Sub

事前バインディング Microsoft Excel XX.X Object Library
Sub Test()
    Dim MyExcel As New Excel.Application

    MyExcel.Visible = True
    MyExcel.workbooks.Add
    MyExcel.ActiveWorkbook.Sheets(2).select
    MyExcel.Quit
    
    Set MyExcel = Nothing

End Sub

 ↓ facebook のフォローで応援してください。お願いします。



Microsoft Office ブログランキングへ



Access-VBA [FileSystemObject] フォルダ削除 DeleteFolder

Sub Sample()
    Dim FSO As New FileSystemObject
    Dim MyPath As String
    
    MyPath = CurrentProject.Path & "\sample"
    
    If FSO.FolderExists(MyPath) = True Then
        MsgBox "フォルダが存在します"
        FSO.DeleteFolder MyPath
    Else
        MsgBox "ファイルが存在しません"
    End If
    
    Set FSO = Nothing

End Sub

 ↓ facebook のフォローで応援してください。お願いします。



Microsoft Office ブログランキングへ



 

Access-VBA [FileSystemObject] テキストファイル削除 DeleteFile

Sub Sample()
    Dim FSO As New FileSystemObject
    Dim MyPath As String
    
    MyPath = CurrentProject.Path & "\sample2\Sample.txt"

    If FSO.FileExists(MyPath) Then
        MsgBox "ファイルが存在します"
        FSO.DeleteFile MyPath
    Else
        MsgBox "ファイルが存在しません"
    End If
    
    Set FSO = Nothing

End Sub

 ↓ facebook のフォローで応援してください。お願いします。



Microsoft Office ブログランキングへ


 




記事検索
Access VBA 担当 Hide Tamura
■VBA Expert
VBA Expert Standard Crown
ExcelVBA Standard
Access VBA Standard
Excel2002 VBA Standard
■MICROSOFT OFFICE USER SPECIALIST
Microsoft Excel version2002 Expert
Microsoft Excel version2002


最新記事
Excelで作る経営計画
Excelで利益計画を立てましょう!会社にいくらの利益が必要で、その為の売上高は?

Excelで作る経営計画
Excel 関数 ノート
Excel関数を中心に、Excelの便利機能や、意外としらない使い方など書いていきます。

Excel 関数 ノート
Excel VBAノート
Hide Tamura の個人的なVBAノートです。

頻繁に使うVBAコードなどを記録しコピペして使う為に作りました。お役に立てるようでしたら、お使いください。

アクセスカウンター

    • ライブドアブログ