I have an Access 2003 database for query and reporting that connects to a SQL Server 2000 database. There are some pre-built queries that serve as a starting point for the users, but there are also "system" queries, if you will, that I use to prepare data or otherwise precompile results. Those system queries are set to be "hidden" to simplify the environment for the users.

I've noted that when I use a pass-thru query and re-write the sql string, e.g. to append parameters to the sql statement, such as

Dim sql As String
sql = "EXEC procPayments '1/1/2006', '1/31/2006' "
CurrentDb.QueryDefs("MyQuery").SQL = sql

the query becomes visible. Hmmm. If I walk through all the properties of the query, there is no "hidden" or "visible" property that I've found. Of course, it must be in there somewhere.