|
フォームのレコードソースには、テーブルを選択しています
移動ボタンは非表示です
|
Private Sub Form_Load()
' 更新可能フラグ OFF
bUpdate = False
' フィルタ適用 OFF
Me.FilterOn = False
' 明細表示 OFF
Me.Section(0).Visible = False
' 更新・キャンセルボタン disable
Me.更新.Enabled = False
Me.キャンセル.Enabled = False
' 表示エリアクリア
Me.資格名.Value = ""
' 削除不能
Form.AllowDeletions = False
End Sub
| |
|
|
|
|
Private Sub Form_BeforeUpdate(Cancel As Integer)
' 更新ボタンをクリックして更新確認した時のみ更新可能
If Not bUpdate Then
Cancel = True
End If
bUpdate = False
End Sub
| |
|
|
|
|
Private Sub 更新_Click()
If IsNull(Me.資格コード.Value) Then
MsgBox ("資格を選択して下さい")
Exit Sub
End If
If IsNull(Me.学籍番号.Value) Then
MsgBox ("学生を選択して下さい")
Exit Sub
End If
If Not IsRec(Me) Then
MsgBox ("対象レコードが存在しない為、更新できません")
Exit Sub
End If
If MsgBox("更新しますか?", vbOKCancel) = vbOK Then
bUpdate = True
On Error Resume Next
DoCmd.RunCommand acCmdSaveRecord
If Err.Number <> 0 Then
MsgBox (Err.Description)
End If
On Error GoTo 0
End If
| |
|
|
' *********************************************************
' 対象レコードの存在
' *********************************************************
Public Function IsRec(obj) As Boolean
If obj.Recordset.RecordCount = 1 Then
IsRec = True
Else
IsRec = False
End If
End Function
| |
|
|
|
|
Private Sub キャンセル_Click()
If Me.Dirty Then
If MsgBox("入力をキャンセルしますか?", vbYesNo) = vbYes Then
Me.Undo
Me.Refresh
End If
Else
MsgBox ("編集されていません")
End If
End Sub
| |
|
|
|
|
Private Sub 終了_Click()
DoCmd.Close , , acSaveNo
End Sub
| |
|
|
|
|
Private Sub 学籍番号_AfterUpdate()
If Not IsNull(Me.資格コード.Value) And _
Not IsNull(Me.学籍番号.Value) Then
Me.Undo
Me.FilterOn = False
Me.Filter = "学籍番号 = " & Me.学籍番号.Value
Me.Filter = Me.Filter & " and 資格コード = " & Dd(Me.資格コード.Value)
Me.FilterOn = True
Me.Section(0).Visible = IsRec(Me)
Else
Me.Section(0).Visible = False
End If
Me.更新.Enabled = Me.Section(0).Visible
Me.キャンセル.Enabled = Me.Section(0).Visible
Me.Refresh
End Sub
Private Sub 資格コード_AfterUpdate()
Me.資格名.Value = Me.資格コード.Column(2)
If Not IsNull(Me.資格コード.Value) And _
Not IsNull(Me.学籍番号.Value) Then
Me.Undo
Me.FilterOn = False
Me.Filter = "学籍番号 = " & Me.学籍番号.Value
Me.Filter = Me.Filter & " and 資格コード = " & Dd(Me.資格コード.Value)
Me.FilterOn = True
Me.Section(0).Visible = IsRec(Me)
Else
Me.Section(0).Visible = False
End If
Me.更新.Enabled = Me.Section(0).Visible
Me.キャンセル.Enabled = Me.Section(0).Visible
Me.Refresh
End Sub
| |
|
|
' *********************************************************
' " 挟み込み
' *********************************************************
Public Function Dd(strValue)
Dd = """" & strValue & """"
End Function
| |
|
|
|