Option Compare Database
Option Explicit

Private Sub キャンセル_Click()
MsgBox "帳簿編集をキャンセルします。"
DoCmd.Close acForm, "帳簿リスト"
End Sub

Private Sub 新規帳簿作成_Click()
Dim intYear
Dim DefaultYear As String
DefaultYear = Nz(DMax("number", "保存出納簿"), 1999) + 1

intYear = InputBox("西暦何年の出納簿を作成しますか?(4桁入力)", "新規著簿作成", DefaultYear)
If intYear = "" Then MsgBox "キャンセルします。": Exit Sub
If Not IsNumeric(intYear) Then MsgBox "入力した情報 『 " & intYear & " 』 は不適当です。": Exit Sub
If Val(intYear) < 2000 Or Val(intYear) > 2020 Then & _
MsgBox "入力した情報 『 " & intYear & " 』 は不適当です。" & _
vbCrLf & "(全角数字も不可です。半角数字を使って下さい。)": Exit Sub

CreateTable (intYear & "現金出納簿")

帳簿リスト.Requery
帳簿リスト = Null
End Sub

Private Sub 帳簿リスト_DblClick(Cancel As Integer)
帳簿選択_Click
End Sub

Private Sub 帳簿削除_Click()
If IsNull(帳簿リスト) Then MsgBox "リストから選択して下さい": Exit Sub
If MsgBox(帳簿リスト & " を削除すると" & vbCrLf & " その中の全てのデータが" & _
"失われますが、いいですか?", vbYesNo + vbDefaultButton2) = vbYes Then
CurrentDb.TableDefs.Delete 帳簿リスト
Else
Exit Sub
End If

帳簿リスト.Requery
帳簿リスト = Null
End Sub

Private Sub 帳簿選択_Click()
If IsNull(帳簿リスト) Then MsgBox "リストから選択して下さい": Exit Sub

WorkTableName = 帳簿リスト
WorkYear = Val(帳簿リスト)

InputData (WorkTableName)

DoCmd.OpenForm "START帳簿"
Forms!START帳簿.Caption = WorkTableName
DoCmd.Close acForm, "帳簿リスト"
End Sub