DAO DAOを使いMDBファイルを開けてデータを読む(ExcelVBA)

VB&VBA
FROG ふろっぐ
 
  • オプション

    本文印刷

    お気に入りに追加

  • 検索

    Googlewwwjp-ia
     

    Googlewwwjp-ia
     
  • 情報

  • 関連

[VB&VBA][DAO DAOを使いMDBファイルを開けてデータを読む(ExcelVBA)]
Option Explicit


Sub DAO_MDB_OpenRead()
'***************************************************
'DAOを使いMDBファイルを開けてデータを読む(ExcelVBA)
'***************************************************
'[Microsoft DAO 3.6 Object Library]参照設定

Dim objDtbs As DAO.Database
Dim objRcrd As DAO.Recordset
Dim strFilePath As String
Dim strFileName As String
Dim strTblName As String
Dim strFieldName() As String
Dim lngFldCnt As Long
Dim lngMvRcrd As Long
Dim strMv As String
Dim i As Long

strFilePath = ThisWorkbook.Path     'ファイルのパス
strFileName = "KEN_ALL.mdb"         'ファイル名
strTblName = "KEN_ALL"              'テーブル名

'【エラートラップ】
On Error GoTo MDB_OpenRead:

'【データベースを開く】
Set objDtbs = OpenDatabase(strFilePath & "\" & strFileName)
'【テーブルを開く】
Set objRcrd = objDtbs.OpenRecordset(strTblName)

With objRcrd
'【フィールド数カウント】
    For i = 1 To .Fields.Count
        lngFldCnt = lngFldCnt + 1
        ReDim Preserve strFieldName(lngFldCnt) As String
'【フィールド名取得】
        strFieldName(lngFldCnt) = .Fields(i - 1).Name
    Next
End With

'【先頭のレコードに移動】
objRcrd.MoveFirst

Do Until objRcrd.EOF

    lngMvRcrd = lngMvRcrd + 1

    strMv = ""
'【レコードの値を取得】
        For i = 1 To lngFldCnt
            strMv = strMv & i & vbTab & strFieldName(i) & vbTab & vbTab & objRcrd(strFieldName(i)).Value & vbCr
        Next i

    If MsgBox(strMv, vbOKCancel, "レコード" & lngMvRcrd) = vbCancel Then
        GoTo OpenRead_END:
    End If
'【次のレコードに移動】
    objRcrd.MoveNext
Loop

OpenRead_END:

'【データベースを閉じる】
objDtbs.Close

Set objRcrd = Nothing
Set objDtbs = Nothing

Exit Sub

'【エラートラップ】
MDB_OpenRead:

MsgBox "予期せぬエラーが発生しました。" & vbCrLf & Err.Description, vbCritical, "CreateDatabase"

End Sub

関連リンク
DAO_Table_Name.html DAO DAOを使いMDBファイルのテーブル名を取得(ExcelVBA)
DAO_CreateDatabase.html DAO DAOデータベース(.mdb)作成〜データ入力一連
DAO_MDB_OpenRead.html DAO DAOを使いMDBファイルを開けてデータを読む(ExcelVBA)
RefRemoveAcquisition.html 参照設定 参照設定されているライブラリを検索取得
RefRemoveChoice.html 参照設定 追加されている参照設定を解除(一覧より指定)
RefRemove.html 参照設定 追加されている参照設定を解除(Library指定)
DAOAddFromFile.html 参照設定 DAO参照設定エクセル(ExcelVBA)





Production Japan Import Application. Since 1998