Home End User
New Blog Posts: Merging Reports - Part 1 and Part 2

I can't access to VIEW of my EDB 2 database

edited May 2009 in End User
Hi

i have a DB with EDB 2.0x

500 tables, 5 View

i should to work my clients with Report Builder 11.x End User editor

for access to ( ONLY ) View table.

but.. i cant' access to this ( all ) view.

in RB Editor i can see all my 500 TABLE, But Zero VIEW.


How i can access to VIEW ?
How i can block to access at the TABLES ?


Berst Regards

Comments

  • edited May 2009
    i have open daElevateDB.pas
    for modify GetTableNames , for add my VIEW.


    mark any break point... work well , OK , press F8

    but the code , under here, don't NEVER call !


    procedure TdaEDBSession.GetTableNames(const aDatabaseName: String; aList:
    TStrings);
    var
    lDatabase: TEDBDatabase;
    begin
    {get the database}
    lDatabase := TEDBDatabase(GetDatabaseForName(aDatabaseName));

    {connection must be active to get table names}
    if not lDatabase.Connected then
    lDatabase.Connected := True;

    if lDatabase.Connected then
    lDatabase.Session.GetTableNames(lDatabase.Database, aList);


    end; {procedure, GetTableNames}
  • edited May 2009

    TdaEDBSession.GetTableNames is the correct method to modify. Add a brake
    point and run the report explorer. When the QueryDesigner or QueryWizard is
    first accessed the GetTableNames method will be called.

    Please let post the solution for retrieving the View names and I will add
    modify daElevateDB.pas to be included with future releases.


    --
    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com

    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited May 2009
    > TdaEDBSession.GetTableNames is the correct method to modify. Add a brake

    i have already added a brake point in GetTableNames method.

    but don't work - it is NEVER called !


    I have open my End User Report, menu' : File - New - Assistance Query...

    but notting , don't work - GetTableNames is NEVER called !


    p.s.
    * break point line is not red
    * the others function ( daElevateDB.pas ) is called
  • edited May 2009

    Make sure you have Designer.DataSettings.UseDataDictionary set to False :)


    TdaEDBSession.GetTableNames is called in my testing here.



    --
    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com

    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited May 2009
    > Make sure you have Designer.DataSettings.UseDataDictionary set to False :)

    I Must to use DataDictionary RBTable+RBFIELD for my End User report ( for
    nice name field )

    Hint ?
  • edited May 2009

    I think perhaps we are not communicating clearly.

    I thought your goal was to modify TdaEDBSession.GetTableNames to return the
    Views. And to do this, you wanted to test by tracing the
    TdaEDBSession.GetTableNames method.

    The simplest way to do this is to turn off the DataDictionary. (Just for
    testing, not permanently.)

    Naturally, once you get TdaEDBSession.GetTableNames working the way you
    want, then you can turn the DataDictionary back on, and use the
    DataDictionary Builder to regenerate the entries. The DataDictionary Builder
    will call TdaEDBSession.GetTableNames at that time.

    Another, slightly less simple, approach is to run the DataDictionary Builder
    at run-time. This example shows to create a test project that can run the
    DataDictionary Builder at run-time. The example uses paradox, but you could
    modify it to work with ElevateDB.

    www.digital-metaphors.com./tips/DataDictionaryBuilderAtRunTime.zip


    --
    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com

    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
This discussion has been closed.