Ok, let me start by saying I'm pretty new to Access and there's probably something very obvious I'm missing.
I had this inventory DB working alright for the most part. My problem came with a specific part of it. The HDDs where through two fields to either a record of the "PCs" table or the "Laptops" table, depending in where they were installed. The table setup for this conflicting part of the DB was more or less like that.

While this worked great it gave me the following problem. Whenever I showed the results of a HDD lookup query on a datasheet subform, the combo boxes linking the HDD table to the PCs or laptops table turned to uneditable text fields. Even the model combo box from the HDD table turned to a text field showing the autonumber PK of the models table instead of the model name. However, this only happened when I did a union query, something like the following:
Code:
SELECT HDDs.* FROM HDDs INNER JOIN PCs ON HDDs.InPC=PCs.SerialNum WHERE criteria UNION SELECT HDDs.* FROM HDDs INNER JOIN Laptops ON HDDs.InLaptop=Laptops.SerialNum WHERE criteria
So, the above query worked well separately and showed the combo boxes on the subform, but the union of both of them resulted on the every combo box in the query turning to uneditable text fields. So, to avoid the union query, I merged the Laptops and PCs tables in a single Computers table, with two sub tables with a 1-1 relation to hold the model and some other specific info depending if they're laptop or desktop computers. The HDDs table is now linked to the Computers table so there's no need for a union query. The current schema of that part of the DB is the following (simplified)

Now I don't need a union in my query, but the following query
Code:
SELECT HDDs.* FROM HDDs INNER JOIN Computers ON HDD.Computer=Computers.SerialNum WHERE criteria
is having the same behaviour the query with the union did. The computer and model combo box fields turn to uneditable text fields on the form. If I run the same query as an independent query it shows the results ok (with comboboxes). The form is a copy of the one I use for the monitors (just changing the source) and that one works normally.
Example of a search query result:

Same query with the results shown on the form:

Any idea what it might be?