ExcelでDAOを使いデータベースソフトを作ってみよう

Step 7 顧客データ入力の前にデータベースの存在確認をする

顧客データ入力用のユーザーフォームを開く前に、設定シートで作成されたデータベースファイルが存在するかどうか確認します。 これはユーザーフォームで入力されたデータを登録する時にエラーが発生するよりも、フォームを開く前にチェックした方がスムーズな流れになると考えたからです。
ファイルの存在確認は、Dir関数で行います。コードは他でも使えるように標準モジュール内にPublicで記入します。


Homeへ > Excelでアプリケーションソフト2 > DAOデータベースソフト

シート画面


「顧客の登録」ボタンをクリックし、設定シートで作成されたデータベースファイルが存在する場合、ユーザーフォームを 呼び出し、もし見つからない場合は下のエラーメッセージが表示されます。
データベースが存在しない場合のエラーメッセージ


シートのVBAコード

Private Sub CommandButton1_Click()
    Dim sfina As String
    Dim sdir As String
    
    sdir = ActiveWorkbook.Path
    If Right(sdir, 1) <> "\" Then
        sdir = sdir & "\"
    End If
    sfina = sdir & Sheets("設定").TextBox1.Value & ".1mdb"
    If ExDir(sfina, vbNormal) = "" Then
        MsgBox "設定シートで指定されたデータベース(" & sfina & ")が見つかりません" & _
            "データベースをこのExcelファイルがあるフォルダにコピーするか、新規作成してください"
        Exit Sub
    End If
    
    Form入力.Show

End Sub

標準モジュールに入力します。

Option Explicit

'ファイル、フォルダの存在確認
Public Function ExDir(sName As String, nAttr As Integer) As String
    If sName = "" Then
        ExDir = ""
        Exit Function
    End If
On Error Resume Next
    Err.Number = 0
    ExDir = Dir(sName, nAttr)
    If Err.Number <> 0 Then
        ExDir = ""
    End If
On Error GoTo 0
End Function


Homeへ > Excelでアプリケーションソフト2 > DAOデータベースソフト

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved