管理画面からフォームを開くと、処理すべき内容が1件ずつ表示されます。レコード移動のボタンを配置します。
前回説明した通り、レコード移動のタイミングで保存されますがエンドユーザーにはそれは理解できません。
したがって、保存ボタンを敢えて加えてあります。
レコードソースとなるクエリQ_Fは以下の通りです。
1 2 3 |
SELECT T_kubun.校舎区分, T_kubun.担当区域, T_kubun.担当者, T_tenken.T_fubi, T_tenken.T_date, T_tenken.T_soti FROM T_kubun INNER JOIN T_tenken ON T_kubun.id = T_tenken.S_id WHERE (((T_tenken.T_fubi)<>“不備なし”) AND ((T_tenken.T_date)=[forms]![F_1]![td])); |
処理件数は
rcc = DCount(“*”, “Q_F”) で取得。TextBoxに表示
現在の処理件数は
Me.CurrentRecordで取得。TextBoxに表示
以下、各ボタンの処理内容を列記します。
エラー処理等は割愛します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
Private Sub 先頭_Click() Me.次へ.Enabled = True Me.前へ.Enabled = False DoCmd.GoToRecord , , acFirst End Sub Private Sub 前へ_Click() If Me.CurrentRecord > 1 Then Me.前へ.Enabled = True Me.次へ.Enabled = True DoCmd.RunCommand acCmdSaveRecord End If DoCmd.GoToRecord , , acPrevious If Me.CurrentRecord = 1 Then Me.前へ.Enabled = False Me.次へ.Enabled = True DoCmd.RunCommand acCmdSaveRecord End If End Sub Private Sub 保存_Click() DoCmd.RunCommand acCmdSaveRecord End Sub Private Sub 次へ_Click() Me.前へ.Enabled = True If Me.CurrentRecord < rcc Then Me.次へ.Enabled = True End If DoCmd.GoToRecord , , acNext If Me.CurrentRecord = Me.rc Then Me.保存.SetFocus Me.次へ.Enabled = False DoCmd.RunCommand acCmdSaveRecord End If End Sub Private Sub 最終_Click() Me.前へ.Enabled = True Me.次へ.Enabled = False DoCmd.GoToRecord , , acLast End Sub |