F
Fabien Delpierre
The Office Online article at
http://office.microsoft.com/en-us/access/HA012337221033.aspx says this:
"You might wonder why Office Access 2007 allows you to store more than one
value in a field, when most relational database management systems forbid
this. The answer is that the database engine in Office Access 2007 doesn't
actually store the values in a single field. Even though what you see and
work with appears to be a single field, the values are actually stored
independently and managed in hidden, system tables. The Access database
engine handles this for you, automatically separating the data and bringing
it back together again to surface the values in one field."
I've found that if you display your database's system objects, then open
MSysComplexColumns, it contains the names of each multi-valued field in your
database along with a corresponding ID in the FlatTableID field.
Digging deeper, if you open another system object, MSysObjects, it features
an Id field under which you will find the value(s) you found in
MSysComplexColumns.FlatTableID. And on the same row in MSysObjects, you can
look under the Name field to find a rather long and complex name (in my case,
f_27EF79865A2D4291AC22F5CCF6FEC92E_Sales Region) which is related to your
multi-valued field.
I would assume that this is where Access stores the relevant data.
My question, then, is whether that mysterious table with the long cryptic
name can be opened in one way or another. I've tried the only two ways I can
think of, which are the OpenTable VBA method and a SQL query.
Before you ask, I don't actually need to open/view that table. I just want
to, for the sake of curiosity!
Does anybody know if this is possible or not?
Thank you!
http://office.microsoft.com/en-us/access/HA012337221033.aspx says this:
"You might wonder why Office Access 2007 allows you to store more than one
value in a field, when most relational database management systems forbid
this. The answer is that the database engine in Office Access 2007 doesn't
actually store the values in a single field. Even though what you see and
work with appears to be a single field, the values are actually stored
independently and managed in hidden, system tables. The Access database
engine handles this for you, automatically separating the data and bringing
it back together again to surface the values in one field."
I've found that if you display your database's system objects, then open
MSysComplexColumns, it contains the names of each multi-valued field in your
database along with a corresponding ID in the FlatTableID field.
Digging deeper, if you open another system object, MSysObjects, it features
an Id field under which you will find the value(s) you found in
MSysComplexColumns.FlatTableID. And on the same row in MSysObjects, you can
look under the Name field to find a rather long and complex name (in my case,
f_27EF79865A2D4291AC22F5CCF6FEC92E_Sales Region) which is related to your
multi-valued field.
I would assume that this is where Access stores the relevant data.
My question, then, is whether that mysterious table with the long cryptic
name can be opened in one way or another. I've tried the only two ways I can
think of, which are the OpenTable VBA method and a SQL query.
Before you ask, I don't actually need to open/view that table. I just want
to, for the sake of curiosity!
Does anybody know if this is possible or not?
Thank you!