Следующая функция предназначена для оценки дат, вызываемых процедурой CheckEventDataIntegrity.Это относится только к событиям, но теперь я хочу добавить номер детали вместе с типом события.Означает, что он должен оценивать даты с событием и номером участника. Как я могу сделать это ??
'-----------------------------
'-----------------------------
' Function : EvaluateDates
' Purpose : flags date sequencing errors, called by CheckEventDataIntegrity
'-----------------------------
Private Function EvaluateDates(et As String)
Dim varx As Variant
On Error GoTo EvaluateDates_Error
varx = DLookup("[EventDate]", "tblEventLog", "[TrackingNumber] = '" & Me!TrackingNumber & "' And [EventTypeSelected] = '" & et & "'")
If IsNull(varx) Then ' predecessor event does not exist
displayMsgBox = _
MsgBox("No '" & et & "' event has been Recorded. Please correct.", _
vbCritical)
EvaluateDates = False
Exit Function
End If
If varx > Me!EventDate Then ' predecessor event exists but date is after date being posted
displayMsgBox = _
MsgBox("Chronological Error. Previously posted '" & et & "' event has date stamp that is later than date stamp of completion event you are now attempting to post. Please verify date of event you are now posting. If it is correct than contact admin.", _
vbCritical)
EvaluateDates = False
Exit Function
End If
EvaluateDates = True
On Error GoTo 0
Exit Function
EvaluateDates_Error:
MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure EvaluateDates of VBA Document Form_frmEventLog_Input"
End Function
, вызванный процедурой CheckEventDataIntegrity следующим образом:
'----------------------------- '-----------------------------'Процедура: CheckEventDataIntegrity 'Назначение: проверяет соблюдение логики процесса, проверяет последовательность' ----------------------------- Функция CheckEventDataIntegrity (fl1 As Boolean) При ошибке GoTo CheckEventDataIntegrity_Error
Do While fl1 = True
'тип события # 1a If Me! EventTypeSelected = "1a Assign - To Checker Queue" Тогда If EvaluateDates ("1 Receive NEW from Detailer") = False Then'оболочка не была назначена для Checker CheckEventDataIntegrity = False Выходная функция Остальное' CheckEventDataIntegrity = True Выход Do End If End End 'тип события # 2 If Me! EventTypeSelected = "2 ReV - Assignment" Then If EvaluateDates ("1 получить новое от Detailer") = False Then 'Обозреватель не был назначен рецензенту CheckEventDataIntegrity = False Exit Функция Остальное Exit Do End If End If
----
------
-----
fl1 =False Loop 'Ничего не удалось проверить CheckEventDataIntegrity = True
При ошибке GoTo 0 Выход Функция CheckEventDataIntegrity_Error: MsgBox "Ошибка" & Err.Number & "(" & Err.Description & ") в процедуре CheckEventDataIntegrity of VBA Document Form__rmEnd Function
Я могу добавить номер компонента следующим образом в функцию оценки:
Private Function EvaluateDates(et As String, pn As String)
varx = DLookup("[EventDate]", "tblEventLog", "[TrackingNumber] = '" & Me!TrackingNumber & "' And [EventTypeSelected] = '" & et & "' And [PartNumber] = '" & Pn & "'")
Но как я могу реализовать его в процедуре CheckEventDataIntegrity ??