1) I don't think the attributes are independent, and I don't
think that using 'OR' is correct here???
2) Tables created with this attribute are not visible in Access.
dbHiddenObject used to refer to the DAO attribute for temporary
objects or deleted objects. Deleted objects become not
visible in Access when you delete them, and they are
physically deleted when you compacted the database. Hidden
queries are used for the RecordSource SQL of forms. This
attribute is no longer exposed.
VB programmers never understood that dbHiddenObject was the
attribute for temporary and deleted objects. Rather than change
the attribute name, MS changed it's function in Jet 4.0, to
make it the attribute VB programmers had always thought an
attribute with that name should be. This is a new attribute
with a new function but re-using an old name.
3) Access (now) exposes it's hidden attribute, but you have
to use Access to set or read it:
application.Set HiddenAttribute acTable, "name", True
(david)
"Graham Charles" <gr****@aiid.co m> wrote in message
news:11******** *************@f 14g2000cwb.goog legroups.com...
I'm trying to create a standard "hidden" table. However, using this
code, my tables are not displayed in the database window *even* when I
choose to show Hidden and System objects from the Options dialog:
tdf = theDB.CreateTab leDef(OptionsTa bleName)
fld = tdf.CreateField ("OptionName ",
dao.DataTypeEnu m.dbText, 50)
tdf.Fields.Appe nd(fld)
fld = tdf.CreateField ("OptionValu e",
dao.DataTypeEnu m.dbText, 250)
tdf.Fields.Appe nd(fld)
tdf.Attributes = tdf.Attributes Or
dao.TableDefAtt ributeEnum.dbHi ddenObject
theDB.TableDefs .Append(tdf)
theDB.TableDefs .Refresh()
It's actually sort of a nice feature, since you can still use the
tables (by referencing them in the SQL view of a query, for example, or
in RecordSource properties).
Using Access 2003 and making the DAO call from VB.NET using Interop, if
that matters.
Thanks,
g.