Option Compare Database Option Explicit Private Sub ラベル16_Click() Me![品番] = Null Me![日付] = Null Me![工番] = Null Me![担当者] = Null Me![品名] = Null Me![入庫数] = Null Me![出庫数] = Null Me![今までの在庫数] = Null Me![伝票番号] = Null Me![入力者] = Null Me![今の在庫数] = Null End Sub Private Sub ラベル19_Click() Dim 継続品番 Dim 継続日付 Dim 継続工番 Dim 継続担当者 Dim 継続伝票番号 Dim 継続入力者 Dim 在庫判定 継続品番 = Me![品番] 継続日付 = Me![日付] 継続工番 = Me![工番] 継続担当者 = Me![担当者] 継続伝票番号 = Me![伝票番号] 継続入力者 = Me![入力者] DoCmd.RunMacro "マクロ2" Dim dbs As Database Dim rst As Recordset Dim recmax, i, j As Long Dim 品番コード Dim 在庫数 Set dbs = CurrentDb Set rst = dbs.OpenRecordset("在庫計算クエリー") rst.MoveLast recmax = rst.RecordCount rst.MoveFirst j = 1 在庫数 = 0 品番コード = rst![品番] rst.Edit rst![今までの在庫数] = 在庫数 rst![今の在庫数] = rst![入庫数] + rst![今までの在庫数] - rst![出庫数] 在庫数 = rst![今の在庫数] rst.Update rst.MoveNext For i = 2 To recmax If 品番コード = rst![品番] Then j = j + 1 Else j = 1 在庫数 = 0 品番コード = rst![品番] End If rst.Edit rst![今までの在庫数] = 在庫数 rst![今の在庫数] = rst![入庫数] + rst![今までの在庫数] - rst![出庫数] 在庫数 = rst![今の在庫数] If 在庫数 < 0 Then Dim ret As Integer 'msgbox関数の戻り値 ret = MsgBox("ID" & rst![id] & "、日付" & rst![日付] & "、品番" & rst![品番] & "、在庫数" & 在庫数, vbOK + vbCritical, "在庫数が[ー]です。") Select Case ret Case vbOK 'OK ' End Select End If rst.Update rst.MoveNext Next i rst.Close Forms![入出庫フォーム].[品番] = 継続品番 Forms![入出庫フォーム].[品名] = DLookup("[品名]", "[品名テーブル]", "[品番] = '" & Forms![入出庫フォーム].[品番] & "'") Forms![入出庫フォーム].[日付] = 継続日付 Forms![入出庫フォーム].[工番] = 継続工番 Forms![入出庫フォーム].[担当者] = 継続担当者 Forms![入出庫フォーム].[伝票番号] = 継続伝票番号 Forms![入出庫フォーム].[入力者] = 継続入力者 End Sub Private Sub ラベル26_Click() Me![品番] = Null Me![日付] = Null Me![工番] = Null Me![担当者] = Null Me![品名] = Null Me![入庫数] = Null Me![出庫数] = Null Me![今までの在庫数] = Null Me![今の在庫数] = Null DoCmd.RunMacro "マクロ7" End Sub Private Sub 品番_AfterUpdate() If Not IsNull(Me![品番]) Then Me![品名] = DLookup("[品名]", "[品名テーブル]", "[品番] = '" & Me![品番] & "'") End If End Sub