Hi Dave,
I feel your pain. However, a little bit of pain in the short run can save
you a lot in the long run. I'm not sure exactly what you mean by "a MSAcess
utility application," but I'm going to guess it's contained in an Access
database in one or more VBA Modules. There are a couple of problems with
this scenario that could eventually bite you.
First, VBA is not object-oriented. This doesn't sound like much of a
drawback until you factor in the evolution factor. That is, it is almost
always a given that any type of application is going to be modified,
extended, added to, have new features built in, etc. Because VBA is not
object-oriented, encapsulation is not really available to you. And the
larger an application becomes, the more important it becomes to encapsulate
code, to manage the availability of data and process in various parts of the
application. Object-oriented programming supplies this.
Second, you need to think about the entire lifetime of the application, and
plan for the future. Not only will VBA not be supported for much longer, but
there is an emerging set of .Net Platform tools for Office that provide
productivity, most likely much better productivity than you have now using
VBA. In addition, more and more of the Microsoft programming platform is
moving into the .Net arena, so .Net programming has legs. Microsoft Vista is
the next generation of Operating System from Microsoft, and it is not an
easy platform to write to, especially using legacy code. Applications will
no longer have the free reign of the OS that they have enjoyed until now;
the OS is much more secure. This means that your tool set will have to have
built-in support for the environment.
It's not a matter of being ".Net compliant," but embracing the
well-established .Net platform which Microsoft has specifically designed for
extensibility, something which traditional VBA was definitely not designed
for. In the same way that traditional HTML became increasingly complex and
unweildy, and is being replaced with extensible technologies, so has
Microsoft created an extensible, object-oriented programming technology to
replace the much less extensible and adaptable programming technologies that
have existed for decades.
Every once in awhile, as time goes by, it is a good idea to rework your
software "from the ground up" so to speak, in order to keep up with the
technology. Even Microsoft has had to do this, most recently with the .Net
platform itself, which is already 5 years old, and with the Vista operating
system. Ours is a business in which the technology is changing at a dizzying
rate, and faster each year than the year before it. It's difficult to keep
up, but the alternative is much worse.
--
HTH,
Kevin Spencer
Microsoft MVP
Software Composer
http://unclechutney.blogspot.com
In case of Minimalism, break Philip Glass.
<(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
>I have a MSAccess utility application that pulls data from a SQL Server
> database, manipulates it via VBA and sends it to MSProject to generate
> Gantt charts, and produces imagemapped html pages to present the
> charts.
>
> This app runs unattended on a server as a scheduled task in the middle
> of the night. The output is a large number of static web pages that are
> updated daily. The application has been working problem-free for years,
> and fully meets all user requirements.
>
> A group of IT managers has announced that "all applications" serving
> the project in question will be converted to .net.
>
> I am not a .net expert, but I do not see any advantage to making this
> app .net compliant. Can anybody suggest to me, in a general sense, how
> the expense to do this conversion would be justified? Performance is
> not an issue - the process takes about an hour to run and runs at night
> when the network is idle, and the application is not required to
> support user interaction.
>
> Thanks
> Dave
>