You're saying it's not possible to do something that I showed you how to do in post #35
Yes, I agree with you, I believe that every added word is useless
Your post #35 will work with SQL Server, I presume, because SQL Server exposes its metadata.
For a generic SQL statement you will not succeed with queries because if you stay generic, you will be forced to use ANSI SQL, which does not expose metadata. That requires specific knowledge of the vendor's method of storing metadata, and every one of them does it in a different way. It also requires a way to make indirect references in SQL, and again, not every version of SQL allows indirection. So this would be a case where one size does not fit all.
For an Access "native" back-end or for tables included in a front-end or monolithic DB, you will not succeed with pure SQL because while Access tables names CAN be identified, the interface for a single query will not transfer field names so easily to support a query on specific fields.
I will not insult you, amorosik, but I will say this: You have been persistent to the point that you have alienated some people. The reason for that alienation is that your repeated questions on the same topic imply that you know more than they do since you won't take NO for the answers they give you. Some databases simply won't do what you asked about. Many will not because of your initial question:
I need a query that returns, given the name of a table in the db, all the names of the fields that have never been filled in any row of the data present
Basically the fields I could also delete because at the moment they don't contain any information
How to make a unique query that return the field name as above?
A unique query probably cannot be written in most variants of SQL. This query cannot happen unless the vendor exposes the schema as tables accessible by queries. Not all vendors do that. You also gave us this statement:
As you surely know, there are methods that allow you to 'read' the names of the 'objects' contained in the db, whatever it is
Whether we are talking about Sql Server, Oracle, Db2, Postgresql, tiny SqLite or other
But then there was a key sentence:
get the name of the objects in response, if these objects were data tables, then the query will return the names of the tables, while if the objects were the names of the single fields of a table then a single query could return the field names of that table
What is written above is only a feature that you need to use to answer the initial question
The flaw in this statement is that NOT ALL VENDORS DO THIS! The ones that expose their metadata as tables might be able to do this. The ones that don't expose their metadata won't. Access metadata can be read, but the problem would then be to, in a single query or in a sub-query transfer table and field names to the scanning query that would do the actual "empty column" test given the table name you wanted to input. In your post #35, you did indeed show us something from SQL Server. That query cannot be run against the JET or ACE DB engines in Access itself because those structures don't exist in that format in Access.
In #41, you asked us: "Are you telling me you don't know how to run a passthrough query?" - so that means we ARE talking about a non-Access version of SQL where you can send statements to that server that cannot be run on Access SQL. In post #42, you named other SQL vendor products and said this:
But the question asked is a query on a generic db, then Sql Server will have its own system to read the fields of a table, Postgresql will have another system, Firebird will have its own system, this is not the important thing
The important thing is how to set up the query to get the names of the fields never used (which I think are the ones that return all null in all rows)
So that means you are talking about trying to find a generic query, not an Access or SQL Server query? I answered you directly in post #48 and then in post #51 gave you a reason based on Language Theory (related to SQL) why you couldn't do what you wanted in the general case.
You also said "Let's leave barking to dogs, not humans or programmers" in response to folks who had trouble following your leaps of focus. While that is less vulgar than other comments in this thread, it was also disrespectful. Just as I asked others to back down, I will also ask you to back down.
In summary, the answer to your original question plus the variations you have asked, is:
NO you cannot do that kind of work in a generic query or set of queries that would run on generic SQL. For the generic case, to do what you asked would violate linguistic rules associated with SQL and would violate Set Theory concepts as applied to SQL. The metadata you would need to examine belongs to a metadata set that is not an exposed part of the primary data set.
MAYBE you can build such a query when running under specific vendors. But even there, you cannot do it in a single query because of the need to breach the logic wall between ordinary data and metadata. I suspect you would need several layers of query to do that.