The following query produces #Error msg in BestDate column if EarlyMCS.MCSOneNew OR EarlyMCS.PartAMCS OR EarlyMCS.PartBMCS OR EarlyMCS.PartCMCS is null. How can I re-write this so that it will work even if one of the above columns is null? I probably need to re-write the function that I've posted below? Thank you very much -
SELECT EarlyMCS.TOPLEVEL, EarlyMCS.MCSOneNew, EarlyMCS.PARTA, EarlyMCS.PartAMCS, EarlyMCS.PARTB, EarlyMCS.PartBMCS, EarlyMCS.PARTC, EarlyMCS.PartCMCS, MCSParent([MCSOneNew],[PartAMCS],[PartBMCS],[PartCMCS]) AS BestDate
FROM EarlyMCS
ORDER BY EarlyMCS.TOPLEVEL, EarlyMCS.PARTA, EarlyMCS.PARTB, EarlyMCS.PARTC, EarlyMCS.PARTD, EarlyMCS.PARTE, EarlyMCS.PARTF, EarlyMCS.PARTG, EarlyMCS.PARTH, EarlyMCS.PARTI;
-------------------------------------------------------------------------------------------------------------
Option Explicit
Public Function MCSParent(MCSOneNew As Date, PartAMCS As Date, PartBMCS As Date, PartCMCS As Date) As Date
If MCSOneNew < PartAMCS And MCSOneNew < PartBMCS And MCSOneNew < PartCMCS Then
MCSParent = MCSOneNew
'ElseIf MCSOneNew = PartAMCS And MCSOneNew = PartBMCS And MCSOneNew = PartCMCS Then
' MCSParent = MCSOneNew
ElseIf PartAMCS < PartBMCS And PartAMCS < PartCMCS Then
MCSParent = PartAMCS
ElseIf PartBMCS < PartCMCS Then
MCSParent = PartBMCS
Else
MCSParent = PartCMCS
End If
End Function
SELECT EarlyMCS.TOPLEVEL, EarlyMCS.MCSOneNew, EarlyMCS.PARTA, EarlyMCS.PartAMCS, EarlyMCS.PARTB, EarlyMCS.PartBMCS, EarlyMCS.PARTC, EarlyMCS.PartCMCS, MCSParent([MCSOneNew],[PartAMCS],[PartBMCS],[PartCMCS]) AS BestDate
FROM EarlyMCS
ORDER BY EarlyMCS.TOPLEVEL, EarlyMCS.PARTA, EarlyMCS.PARTB, EarlyMCS.PARTC, EarlyMCS.PARTD, EarlyMCS.PARTE, EarlyMCS.PARTF, EarlyMCS.PARTG, EarlyMCS.PARTH, EarlyMCS.PARTI;
-------------------------------------------------------------------------------------------------------------
Option Explicit
Public Function MCSParent(MCSOneNew As Date, PartAMCS As Date, PartBMCS As Date, PartCMCS As Date) As Date
If MCSOneNew < PartAMCS And MCSOneNew < PartBMCS And MCSOneNew < PartCMCS Then
MCSParent = MCSOneNew
'ElseIf MCSOneNew = PartAMCS And MCSOneNew = PartBMCS And MCSOneNew = PartCMCS Then
' MCSParent = MCSOneNew
ElseIf PartAMCS < PartBMCS And PartAMCS < PartCMCS Then
MCSParent = PartAMCS
ElseIf PartBMCS < PartCMCS Then
MCSParent = PartBMCS
Else
MCSParent = PartCMCS
End If
End Function