-2

次の関数は、プロシージャ 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 ' 目的 : プロセス ロジックに従っていることを確認します。これは順序付けをチェックします '--------------------- -------- Function CheckEventDataIntegrity(fl1 As Boolean) On Error GoTo CheckEventDataIntegrity_Error

Do While fl1 = True

'イベント タイプ #1a If Me!EventTypeSelected = "1a Assign - To Checker Queue" Then If EvaluateDates("1 Receive NEW from Detailer") = False Then ' ラッパーは Checker に割り当てられていません CheckEventDataIntegrity = False Exit Function Else ' CheckEventDataIntegrity = True Exit Do End If End If 'イベント タイプ #2 If Me!EventTypeSelected = "2 ReV - Assignment" Then If EvaluateDates("1 Receive NEW from Detailer") = False Then ' ラッパーはレビュアーに割り当てられていません CheckEventDataIntegrity = False Exit関数 Else 終了 Do 終了 If 終了 If

----

------

-----


fl1 = False Loop '何もテストに失敗しません CheckEventDataIntegrity = True

On Error GoTo 0 Exit Function CheckEventDataIntegrity_Error: MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure CheckEventDataIntegrity of VBA Document Form_frmEventLog_Input" End Function

評価された関数で次のように部品番号を追加できます。

Private Function EvaluateDates(et As String, pn As String)
    varx = DLookup("[EventDate]", "tblEventLog", "[TrackingNumber] = '" & Me!TrackingNumber & "' And [EventTypeSelected] = '" & et & "' And [PartNumber] = '" & Pn & "'")

しかし、CheckEventDataIntegrity プロシージャでどのように実装できますか??

4

1 に答える 1

0

私は VBA を学んでおり、最初のプロジェクトに取り組んでいます。

これに対する答えを得ました。

于 2010-10-18T15:21:19.427 に答える