Home DADE

Data Dictionary and rb Tables

edited April 2006 in DADE
I have a quick question about the use of DataDictionary and the tables used
to generate the dictionary.

I need to be able to generate a reference report on the table names, fields
and joins - this is more for myself so that I don't have to keep on diving
into the database manager - OK short term memory loss! :-(

If I enable the UseDataDictionary property in the designer data settings
then I can't access the rb*.* set of tables tables, neither can they be
referenced in the data dictionary. This is logical to me but I need to be
able to give the users easy names of the columns from the other "ordinary"
tables instead of the arcane column names which have in the legacy tables I
have taken onboard.

If I don't enable the UseDataDictionary property then everything is
tikkety-boo as expected.

Is there any way I can force the dictionary to enable these tables
on-the-fly as it were but only for the table reference report I have
defined?

All my reports are kept in the database as templates and pre-defined
reports; I'm using RBEnt 10.2 with a DBISAM backend under Delphi 2006
Enterprise.

Thanks for any help here -

David

Comments

  • edited April 2006

    The DataDictionary is only used to create/edit a query dataview. Once the
    query dataview is saved, the data dictionary is not used to execute the
    query and generate the report.

    Run the application with UseDataDictionary set to false and create the query
    dataviews required for the report and save that report. Then close the app
    and run it again with the UseDataDictionary set to true. I think you will
    still be able to run the DataDictionary report.




    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited April 2006
    I tried this - fiddled with the report data views and saved the whole shoot
    back to the database.

    Then I closed the application, switched on the property UseDataDictionary,
    recompiled and reran the report. I still get the message "Project
    raised exception class EDesignError with message
    "TdaMetaCache.GetFields: unable to find table rbField in cache"

    So I tried it again with the code line gMetaDataManager.Clear; in the
    hoipe that this would clear the cache before running the report. I still
    get the error (sometimes it's another table name such as rbTable bit in
    essence the same fault). Without the property as True there's no error
    message. I should also add that I have the pipelines for the rb*.* tables
    as Visible:= False since I don't want the end users to see that these are
    available as (additionally defined) pielines in the report designer.

    However for this one report (or any other like it which refers to the rb*.*
    tables for it's own data pipeline I actually want the end-user to see that
    this data is connected with the named tables.

    I hope I'm making sense!

    David

This discussion has been closed.