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

Hide Tamura の Access VBA ノート

Access-VBA アクティブフォーム名 Screen.ActiveForm.Name

Sub FormsSample()
        
    '現在のアクティブフォーム名
    MsgBox Screen.ActiveForm.Name
    
End Sub

Screen.ActiveReport 現在アクティブなレポート
Screen.ActiveControl 現在アクティブなコントロール


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



Microsoft Office ブログランキングへ


 

Access-VBA フォームがロードされているかチェック!IsLoaded

Sub FormsSample()
    
    'フォームがロードされいるかのチェック
    If CurrentProject.AllForms!frmデータ入力.IsLoaded Then
        MsgBox "ロードされています"
    End If
        
End Sub

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



Microsoft Office ブログランキングへ



Access-VBA 開いているフォームを参照。全てのフォームを参照 Forms, CurrentProject.AllForms

Sub FormsSample()
    Dim myObject As AccessObject
    Dim myForm As Form
    Dim myStr As String
    Dim i As Long
    
    myStr = ""
    
    '開いているフォームを参照
    For Each myForm In Forms
    
        myStr = myStr & myForm.Name & vbCr
        
    Next
    
    MsgBox myStr
    
    myStr = ""
    
    '開いているフォームを参照
    For i = Forms.Count - 1 To 0 Step -1
    
        myStr = myStr & Forms(i).Name & vbCr
    
    Next i
    
    MsgBox myStr
    
    Forms!frmデータ表示.SetFocus
    
    '開いていないフォームも全て参照
    For Each myObject In CurrentProject.AllForms
    
        myStr = myStr & myObject.Name & vbCr
        
    Next
    
    MsgBox myStr
    
End Sub


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



Microsoft Office ブログランキングへ


Access-VBA [SQL] テーブル定義 ALTER TABLE (ADD DROP ALTER)

Sub ALTER_TABLE_ADD()
    Dim StrSQL As String
    StrSQL = "ALTER TABLE 商品テーブル ADD COLUMN 料金 MONEY;"
    CurrentDb.QueryDefs("Qクエリ").SQL = StrSQL
    DoCmd.SetWarnings False
    DoCmd.OpenQuery "Qクエリ"
    DoCmd.SetWarnings True
End Sub

Sub ALTER_TABLE_DROP()
    Dim StrSQL As String
    StrSQL = "ALTER TABLE 商品テーブル DROP COLUMN 料金;"
    CurrentDb.QueryDefs("Qクエリ").SQL = StrSQL
    DoCmd.SetWarnings False
    DoCmd.OpenQuery "Qクエリ"
    DoCmd.SetWarnings True
End Sub

Sub ALTER_TABLE_ALTER()
    Dim StrSQL As String
    StrSQL = "ALTER TABLE 商品テーブル ALTER COLUMN 料金 TEXT(6);"
    CurrentDb.QueryDefs("Qクエリ").SQL = StrSQL
    DoCmd.SetWarnings False
    DoCmd.OpenQuery "Qクエリ"
    DoCmd.SetWarnings True
End Sub

Sub ALTER_TABLE_DROP_RUN()
    Dim StrSQL As String
    StrSQL = "ALTER TABLE 商品テーブル DROP COLUMN 料金;"
    DoCmd.SetWarnings False
    DoCmd.RunSQL StrSQL
    DoCmd.SetWarnings True
End Sub

SQL データ型
http://office.microsoft.com/ja-jp/access-help/HP001032248.aspx?redir=0

TEXT(4), INTEGER, SMALLINT, FLOAT, MONEY ・・・


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



Microsoft Office ブログランキングへ




Access-VBA [FileSystemObject] テキストファイル書込み / 読込み TextStream

Sub TextStream_Write()
    Dim FSO As New FileSystemObject
    Dim MyTS As TextStream
    Dim MyPath As String
    
    MyPath = CurrentProject.Path & "\Sample2\sample.txt"
    
    Set MyTS = FSO.OpenTextFile(MyPath, ForWriting)  'ForAppending は追記
    
    MyTS.Write "田村桃太郎"
    MyTS.WriteBlankLines 1
    MyTS.WriteLine "田村小太郎"
    
    MyTS.Close
    
    Set MyTS = Nothing
    
End Sub

Sub TextStream_Read()
    Dim FSO As New FileSystemObject
    Dim MyTS As TextStream
    Dim MyPath As String
    
    MyPath = CurrentProject.Path & "\Sample2\Sample.txt"
    
    Set MyTS = FSO.OpenTextFile(MyPath, ForReading)
    
    '2文字読み込み
    MsgBox MyTS.Read(2)
    
    '2文字読み込み
    MsgBox MyTS.Read(2)
    
    '改行まで読み込み
    MsgBox MyTS.ReadLine
    
    '全て読み込み
    MsgBox MyTS.ReadAll
    
    MyTS.Close
    
    Set MyTS = Nothing
    
End Sub


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



Microsoft Office ブログランキングへ



Access-VBA [Shell.Application] フォルダ参照ダイアログボックス BrowseForFolder

Sub ShellTest()
    Dim MySHL As Object
    Dim MySHL2 As Object
    Dim StrPath As String
    
    Set MySHL = CreateObject("Shell.Application")
    Set MySHL2 = MySHL.BrowseForFolder(0, "リストからフォルダを選択してください", 0, CurrentProject.Path)
    
    If Not MySHL2 Is Nothing Then
        StrPath = MySHL2.Items.Item.Path
        MsgBox StrPath
    End If

    Set MySHL = Nothing
    Set MySHL2 = Nothing

End Sub


MySHL2 = MySHL.BrowseForFolder( Hwnd , sTitle , iOptions [, vRootFolder ])

Hwnd 0でいい
sTitle ダイアログ内に表示される文字列
iOptions 0でいい
vRootFolder ルートフォルダ。省略すると「デスクトップ」がルートフォルダ


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



Microsoft Office ブログランキングへ



Access-VBA [FileDialog] ファイル参照ダイアログボックス FileDialog(msoFileDialogFilePicker)

Sub FilePicker()
    Dim MyFD As FileDialog
    Set MyFD = Application.FileDialog(msoFileDialogFilePicker)
    
    With MyFD
    
        .InitialFileName = CurrentProject.Path
        
        .Filters.Clear
        .Filters.Add "テキスト", "*.txt", 1
        .Filters.Add "CSVファイル", "*.csv", 2
        .Filters.Add "全てのファイル", "*.*", 3
        .FilterIndex = 2
        
        If .Show Then
            MsgBox .SelectedItems(1)
        End If
    
    End With
    
    Set MyFD = Nothing
    
End Sub


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



Microsoft Office ブログランキングへ



 

Access-VBA DeleteObject オブジェクトの削除(テーブルの削除)

Sub DeleteObj()
    DoCmd.DeleteObject acTable, "Copy健康管理"
End Sub

expression.DeleteObject(ObjectType, ObjectName)


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



Microsoft Office ブログランキングへ





 

Access-VBA DoCmd.CopyObject オブジェクトのコピー(テーブルのコピー)

Sub CopyObj()
    DoCmd.CopyObject , "Copy健康管理", acTable, "tbl健康管理"
End Sub

expression.CopyObject(DestinationDatabase, NewName, SourceObjectType, SourceObjectName)


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



Microsoft Office ブログランキングへ



 

Access-VBA Printersコレクション DeviceNameプロパティ

PrintersコレクションはExcelにはなかった

Sub PrinColl()
    Dim c As Object
    For Each c In Printers
        Debug.Print c.DeviceName
    Next
End Sub

結果例
OKI C811(PCL)
Microsoft XPS Document Writer
Microsoft Office Document Image Writer
EPSON PM-950C
EPSON PM-2200C
Canon MP600 Printer
Adobe PDF
Acrobat PDFWriter


 ↓ 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コードなどを記録しコピペして使う為に作りました。お役に立てるようでしたら、お使いください。

アクセスカウンター

    • ライブドアブログ