
Option Compare Database
  
Option Explicit
  
  
Sub Case3(intCase As Integer)
  
'1:出金,2:入金,3:選択
  
Select Case intCase
  
Case 1
  
    入金額.Visible = False
  
    入金ラベル.Visible = False
  
    入金額 = 0
  
    出金額.Visible = True
  
    出金ラベル.Visible = True
  
Case 2
  
    入金額.Visible = True
  
    入金ラベル.Visible = True
  
    出金額.Visible = False
  
    出金ラベル.Visible = False
  
    出金額 = 0
  
Case Else
  
    If MsgBox("手元からの出金になりますか?", vbYesNo) = vbNo Then
  
        入金額.Visible = True
  
        入金ラベル.Visible = True
  
        出金額.Visible = False
  
        出金ラベル.Visible = False
  
        出金額 = 0
  
    Else
  
        入金額.Visible = False
  
        入金ラベル.Visible = False
  
        入金額 = 0
  
        出金額.Visible = True
  
        出金ラベル.Visible = True
  
    End If
  
End Select
  
End Sub
  
  
Private Sub 科目番号_BeforeUpdate(Cancel As Integer)
  
If 科目番号 = 390 Then Case3 (1)
  
If 科目番号 = 470 Then Case3 (3)
  
If 科目番号 = 490 Then Case3 (2)
  
If 科目番号 > 490 And 科目番号 < 1100 Then Case3 (1)
  
If 科目番号 >= 1100 And 科目番号 < 1200 Then Case3 (3)
  
If 科目番号 = 6111 Then Case3 (2)
  
If 科目番号 = 6611 Then Case3 (1)
  
If 科目番号 = 9999 Then Case3 (2)
  
科目名.Visible = True
  
End Sub
  
  
Private Sub 終了_Click()
  
If MsgBox("編集中のデータは保存せず、終了します。", vbYesNo + vbDefaultButton2) = vbYes Then DoCmd.Close
  
End Sub
  
  
Private Sub 追加_Click()
  
Dim lng入金額 As Long
  
Dim lng出金額 As Long
  
  
'On Error GoTo EROOR_SUB
  
If IsNull(日付) Or Year(日付) <> WorkYear Then MsgBox "年が編集する帳簿と異なります。": 日付.SetFocus: Exit Sub
  
If Nz(科目番号) = 0 Or Not IsNumeric(科目番号) Then MsgBox "科目番号が選択されていません。": 科目番号.SetFocus: Exit Sub
  
If Nz(入金額) = 0 And 入金額.Visible = True Then MsgBox "入金額の記入がありません。": 入金額.SetFocus: Exit Sub
  
If Nz(出金額) = 0 And 出金額.Visible = True Then MsgBox "出金額の記入がありません。": 出金額.SetFocus: Exit Sub
  
  
If 入金額.Visible = True Then
  
    lng入金額 = 入金額
  
    lng出金額 = 0
  
Else
  
    lng入金額 = 0
  
    lng出金額 = 出金額
  
End If
  
  
InputRecord 日付, 科目番号, Nz(摘要1), Nz(摘要2), lng入金額, lng出金額
  
  
Forms!START帳簿!帳簿リスト.Requery
  
Me!摘要1.Requery
  
Me!摘要2.Requery
  
  
日付 = Null
  
科目番号 = 0
  
摘要1 = Null
  
摘要2 = Null
  
入金額 = Null
  
出金額 = Null
  
入金額.Visible = False
  
入金ラベル.Visible = False
  
出金額.Visible = False
  
出金ラベル.Visible = False
  
  
END_SUB:
  
    MsgBox "データは追加されました": 日付.SetFocus
  
    Exit Sub
  
  
EROOR_SUB:
  
    MsgBox "記入に不備があります。もう一度やり直して下さい。" & _
  
    vbCrLf & "データは記録されませんでした。"
  
    日付.SetFocus
  
    Exit Sub
  
  
End Sub
  
  
Private Sub 変更_Click()
  
Dim lng入金額 As Long
  
Dim lng出金額 As Long
  
  
If IsNull(日付) Or Year(日付) <> WorkYear Then MsgBox "年が編集する帳簿と異なります。": 日付.SetFocus: Exit Sub
  
If Nz(科目番号) = 0 Or Not IsNumeric(科目番号) Then MsgBox "科目番号が選択されていません。": 科目番号.SetFocus: Exit Sub
  
If Nz(入金額) = 0 And 入金額.Visible = True Then MsgBox "入金額の記入がありません。": 入金額.SetFocus: Exit Sub
  
If Nz(出金額) = 0 And 出金額.Visible = True Then MsgBox "出金額の記入がありません。": 出金額.SetFocus: Exit Sub
  
  
If 入金額.Visible = True Then
  
    lng入金額 = 入金額
  
    lng出金額 = 0
  
Else
  
    lng入金額 = 0
  
    lng出金額 = 出金額
  
End If
  
  
ChangeRecord 日付, 科目番号, Nz(摘要1), Nz(摘要2), lng入金額, lng出金額
  
  
Forms!START帳簿!帳簿リスト.Requery
  
Me!摘要1.Requery
  
Me!摘要2.Requery
  
  
End Sub
  
  
