Problem with report library

  • Thread starter Thread starter Sienayr
  • Start date Start date
S

Sienayr

Greetings,

I have a Project Tracking database built in Access 2000 that consists
of a back-end where the tables reside, a report library (.mde file)
that stores the reports and links to the tables in the back-end, and a
front end database (.mde file) that links to the back-end tables for
data, and links to the report library through a VBA reference for
reports (but not forms). The reports are loaded programmatically from
the front-end as needed.
Obviously I went with the report library solution so that I can add
new reports as needed to the report library without having to
re-distribute a new front end. I built all of the components and
rolled-out the program, which has worked fine for about 6 months.
However, the time has come for me to add a new report to the report
library. I built the new report in the un-compiled report library
(.mdb), then saved a new .mde file into production. Once I did that
the front-end file gives an immediate error that reads "The expression
you entered has a function name that Project Tracking Log [the name of
the file] can't find." After troubleshooting, this is what I found:

-The original .mde report library still works with the original
front-end when placed back into production.
-The original un-compiled front end .mdb file WILL work with the new
compiled report library, unchanged.
-A newly compiled, unchanged front-end .mde file will also work with
the new report library.
-If a report is added to the report library but does not have a
module, the original .mde front-end file will work with the new report
library.
-If a report is added that does have a module, the error message
described above occurs with the original .mde file.

If anyone can help explain why the compiled front end file does not
like it when a new report with a module is added to the compiled
report library, I would greatly appreciate it. I guess I overlooked
this scenario when I tested everything after building it, assuming I
would be able to add a new report (bad assumption). Having to
re-compile and re-distribute the front end database to use a new
report defeats the whole purpose of the report library. Any help is
appreciated.

Regards,
Ryan
 
Ryan:

Although your post doesn't quite say it. It appears that you are trying to
slip a new compiled mde report file in with an existing compiled mde front
end (not re-compiled based on the new reports mde). The problem is that
when a db is compiled it links and references all the functions and subs and
other exports from objects that it's referenced. If you try to call
something that has a newly exposed function or sub (or even not exposed i.e.
a private function) from the original project (i.e. front end) that doesn't
have a reference pointer to that function or sub (created when the FE is
recompiled based on the new report mde), then you'll get the error you see;
i.e. the calling db doesn't have a proper reference or pointer to the new
function so it can't run it. You have to recompile the front end and
distribute that along with the reports mde when you roll out a new reports
mde......


--
Steve Arbaugh
ACG Soft
http://ourworld.compuserve.com/homepages/attac-cg

Sienayr said:
Greetings,

I have a Project Tracking database built in Access 2000 that consists
of a back-end where the tables reside, a report library (.mde file)
that stores the reports and links to the tables in the back-end, and a
front end database (.mde file) that links to the back-end tables for
data, and links to the report library through a VBA reference for
reports (but not forms). The reports are loaded programmatically from
the front-end as needed.
Obviously I went with the report library solution so that I can add
new reports as needed to the report library without having to
re-distribute a new front end. I built all of the components and
rolled-out the program, which has worked fine for about 6 months.
However, the time has come for me to add a new report to the report
library. I built the new report in the un-compiled report library
(.mdb), then saved a new .mde file into production. Once I did that
the front-end file gives an immediate error that reads "The expression
you entered has a function name that Project Tracking Log [the name of
the file] can't find." After troubleshooting, this is what I found:

-The original .mde report library still works with the original
front-end when placed back into production.
-The original un-compiled front end .mdb file WILL work with the new
compiled report library, unchanged.
-A newly compiled, unchanged front-end .mde file will also work with
the new report library.
-If a report is added to the report library but does not have a
module, the original .mde front-end file will work with the new report
library.
-If a report is added that does have a module, the error message
described above occurs with the original .mde file.

If anyone can help explain why the compiled front end file does not
like it when a new report with a module is added to the compiled
report library, I would greatly appreciate it. I guess I overlooked
this scenario when I tested everything after building it, assuming I
would be able to add a new report (bad assumption). Having to
re-compile and re-distribute the front end database to use a new
report defeats the whole purpose of the report library. Any help is
appreciated.

Regards,
Ryan
 
Back
Top