Code:
Public Function strSilverLinePartNumber()
On Error GoTo strSilverLinePartNumber_Err
Dim strSilverLinePartNumberCable As String
strSilverLinePartNumberCable = "SL" & DLookup("[ComponentCode]", "tblComponentList", "ComponentID = [Forms]![frmSilverLineCalculator]![lstArmour]") & DLookup("[ComponentCode]", "tblComponentList", "ComponentID = [Forms]![frmSilverLineCalculator]![lstCable]") & DLookup("[FrequencyCode]", "tblFrequencyList", "FrequencyID = [Forms]![frmSilverLineCalculator]![lstFrequency]")
Dim strSilverLinePartNumberSeparator As String
strSilverLinePartNumberSeparator = "-"
Dim strSilverLinePartNumberConnectors As String
If DLookup("[ComponentSequence]", "tblComponentList", "ComponentID = [Forms]![frmSilverLineCalculator]![lstEndA]") < DLookup("[ComponentSequence]", "tblComponentList", "ComponentID = [Forms]![frmSilverLineCalculator]![lstEndB]") Then
strSilverLinePartNumberConnectors = DLookup("[ComponentCode]", "tblComponentList", "ComponentID = [Forms]![frmSilverLineCalculator]![lstEndA]") & DLookup("[ComponentCode]", "tblComponentList", "ComponentID = [Forms]![frmSilverLineCalculator]![lstEndB]")
Else
strSilverLinePartNumberConnectors = DLookup("[ComponentCode]", "tblComponentList", "ComponentID = [Forms]![frmSilverLineCalculator]![lstEndB]") & DLookup("[ComponentCode]", "tblComponentList", "ComponentID = [Forms]![frmSilverLineCalculator]![lstEndA]")
End If
Dim strSilverLinePartNumberLength
strSilverLinePartNumberLength = (Format([Forms]![frmSilverLineCalculator]![txtLength], "00.00")) & "M"
If (Eval("[Forms]![frmSilverLineCalculator]![lstFrequency] Is Null")) Then
strSilverLinePartNumber = "Please Select Frequency"
ElseIf (Eval("[Forms]![frmSilverLineCalculator]![lstCable] Is Null")) Then
strSilverLinePartNumber = "Please Select Cable"
ElseIf (Eval("[Forms]![frmSilverLineCalculator]![lstArmour] Is Null")) Then
strSilverLinePartNumber = "Please Select Armour"
ElseIf (Eval("[Forms]![frmSilverLineCalculator]![lstEndA] Is Null")) Then
strSilverLinePartNumber = "Please Select End A"
ElseIf (Eval("[Forms]![frmSilverLineCalculator]![lstEndB] Is Null")) Then
strSilverLinePartNumber = "Please Select End B"
ElseIf (Eval("[Forms]![frmSilverLineCalculator]![txtLength] = 0")) Then
strSilverLinePartNumber = "Please Enter Length"
Else
strSilverLinePartNumber = strSilverLinePartNumberCable & strSilverLinePartNumberSeparator & strSilverLinePartNumberConnectors & strSilverLinePartNumberSeparator & strSilverLinePartNumberLength
End If
strSilverLinePartNumber_Exit:
Exit Function
strSilverLinePartNumber_Err:
MsgBox Error$
Resume strSilverLinePartNumber_Exit
End Function
I have the above code now, however when I reset the list boxes I now get an "Invalid Use of Null" message box. When all selections are made, the code works fine.
Am wondering, do I need my Dim As Strings as part of the last If statement? IE, only work out the part number IF all selections made?