A family of Microsoft relational database management systems designed for ease of use.
Rather than using the ValidationRule property I would normally undertake this sort of validation in the BeforeUpdate event procedure of the txtSerialNumber control:
Const MESSAGE_TEXT = "Please verify assembly number and try again."
If Me.cboAssemblyNumber = 1 Then
If Mid(Me.txtSerialNumber,5,7) <> "8102187"
MsgBox MESSAGE_TEXT, vbExclamation, "Invalid Operation"
Cancel = True
End If
End If
It would be a simple task to extend this code to impose different constraints for each possible assembly number value. A Select Case statement would be more appropriate for applying multiple constraints.
You should also remove any value in the txtSerialNumber control in the AfterUpdate event procedure of the cboAssemblyNumber control with:
Me.cboAssemblyNumber = Null
Otherwise there is nothing to stop the user selecting a value other than 1 in the cboAssemblyNumber control, or simply leaving the control empty, and then entering a value in the SerialNumber control which does not comply with the above constraint, following which they could select 1 in the cboAssemblyNumber control, resulting in invalid data.
You can of course add a further layer of validation in the form's BeforeUpdate event procedure, using the same code as above.