The problem here is that an unbound Text Box on a form that is displayed as Continuous Forms will always display the same value for every record. Any VBA manipulations you might apply to the unbound Text Box will only use the data from the current record.
A workaround for this would be to create a saved query in Access that calculates the status for each record, then base your form on the query and have the Text Box bound to the calculated [EmptyFields] field.
That is, for the sample data in [Table1]
id Name Surname Address
-- ----- -------- ---------------------
1 Gord Thompson 123 Main St
2 Homer 742 Evergreen Terrace
3 Flanders
you could create a saved query like this
SELECT
[id],
[Name],
[Surname],
[Address],
Mid(IIf(IsNull([Name]),", Name","") & IIf(IsNull([Surname]),", Surname","") & IIf(IsNull([Address]),", Address",""),3) AS EmptyFields
FROM Table1
which returns
id Name Surname Address EmptyFields
-- ----- -------- --------------------- -------------
1 Gord Thompson 123 Main St
2 Homer 742 Evergreen Terrace Surname
3 Flanders Name, Address
and you could use that query as the Record Source
for your form.