You are doing things the hard way all along and according to the db you posted, are not following advice given in your other threads to normalize your tables.
Regardless, here's what I glean from your latest attachment but only for the problem posted here.
- your form has no recordsource thus it is pointless to requery or refresh it.
- you will have to write code to get anything into your textboxes before you can determine if AssetTypeID > 0 or not.
- if >0 applies to compliance then the empty control is Null. Checking if >0 will return null, not a number.
- labels that are attached to controls get the same visibility as their control, so no need to code for label visibility in your case
Unless you have a good reason for using an unbound form you are just making a lot of work and maintenance for yourself.
EDIT - Forgot to ask which of the 4 records would you pick from your query for the textbox values?
I assumed you left the labels attached but they are not. Attaching them would eliminate label code lines.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.