So it doesn't look like you are filtering a recordset based on some unbound fields, instead you are attempting to return a value based on an unbound field. There are a few ways you can go about this, so I can't get more specific without more information. Here are a few attempts based on what you have provided.
This would use one combo box and return a value if it is found in any one of the three fields:
- Nz(DLookup("StockLevel", "Parts", "ItemCode='" & Me.Combo32 & "' OR PartNo='" & Me.Combo32 & "' OR PartName='" & Me.Combo32 & "'"))
If it is found twice, then Access will pick one based on whatever rules it likes.
This example would use another ComboBox (cboSearchColumn) in conjunction with the original ComboBox that would let the user determine the column to filter on:
- Nz(DLookup("StockLevel", "Parts", "('" & Me.cboSearchColumn & "'='Item Code' AND ItemCode='" & Me.Combo32 & "') OR ('" & Me.cboSearchColumn & "'='Part No' AND PartNo='" & Me.Combo32 & "') OR ('" & Me.cboSearchColumn & "'='Part Name' AND PartName='" & Me.Combo32 & "')"))
Lastly, another way that you could go about this is to use a SubFom with all the Parts and their stock levels, then use the ComboBox to filter the SubForm:
http://bytes.com/topic/access/insigh...filtering-form