Thank you for the links as I will be making use of them. A few of them, I
already have. I have already picked up two (2) books a while back, "Access
2002 VBA Handbook" and "Access 2002 Bible". Most of the stuff in "Access
2002 Bible" has proven to be more or less review for me, but a few of the
areas in it still has proven to be note worthy in it and should help me out
later on as I come to those tasks.
One of the reasons why I got the Access 2002 VBA handbook, it has in detail,
both ADO and DAO programming of which for a while, since we were in AC97 at
the time and there was no time frame of when we were going to move up to
AC2K or higher, so I had to see about programming my stuff in DAO, which
from the perspective of Access Jet Engine, it's the better data object
component, but from the huge amount of data that will eventually be
processed through the program, the code will eventually have to be converted
to ADO programming so it could be taken to SQL Server. However, it's only
been like a month now that we had AC02 on our machines, and added to it, I
still have to keep my program as little of memory as possible cause the
machines on the production floor only have about 400 MB of free space
available (even with only loading the minimal of what they need for Office
XP Pro) on a 3.02GB HD. Currently, I have almost 9000 lines of code in it
with a lot of the code being centralized (or modulized, however you prefer
to look at it), and I'm still primarily working on the base foundation of
the program.
One of the first things I tackled was how it handles data validation. Given
a lot of my users are primarily mouse users with limited knowledge about
computers, I had to setup the forms in such a way, bound forms just don't do
me the service that I require for one reason. That reason is due to how
events works with bound forms as opposed to unbound forms, namely dealing
with what events are triggered on the control before it loses it's focus
when the user clicks on another control on the same form.
In either case, bound or unbound form, all events for the control that has
the focus at the time the user clicks on a control other than the control
with the focus, those events for the control with the focus are fired before
the Enter event is triggered by the control that the user clicks on. This
means, if there's any code setup in any of the events that for validating
purposes, those related fired events on that control will be ran first, and
in few instances, this is an unwanted behavior, so I had to create a work
around to this issue, which meant, I could not use bound forms since
Access's error checking and updating takes place between the BeforeUpdate
and AfterUpdate events. In my unbound forms, the updating only takes place
once all 3 levels of data validation has taken place.
Now, I have those validating issues resolved in regards to how they will be
processed, I'm now working on some general form behavior type stuff as this
zooming is just one aspect of it. Jamie's code does have some issues with
it as I have found them via the early testings that I have done up to this
point of time, and I have already started making adjustments to the code to
resolve those issues, as I have emailed Jamie (as shown in the source code),
what I'm having issues with as Jamie did make some mention to those. In
that same email, I also made some additional comments as to some other
issues that I saw potentially could create problems and what I have had in
mind and already started to code to make adjustments for those issues.
There's some form develop work that I have already done, thus part of the
reason why it has more lines in it than it would have had, was it strictly
for data validation and form behavior. As they say, one got to start at the
base, and if it's going to survive, the base got to have a solid foundation,
thus what I'm doing. However, prior to getting there, one has to spend some
with the planning and plan for the various issues that may come up. This
project started out in June of 2001 when I had to create a temp program in
Excel to do the recording (since I didn't know Access's objects from the
programming side too well at the time and I knew I would have to get into
it, but only had 3 weeks tops to get it built at the time). Once I had that
done, I then had to spend the next few months modifying the links and
processes that went from the data source to the reports. Once all of that
was done, I then started to think in the long term as far as what needs to
be done to get the data into a true DB environment, but prior to me just
jumping into Access's programming language, I had to first do some major
planning out of how the data is to be stored, what we wanted to do with that
data, and what we wanted the computer system to do to aid us in our tasks.
Just in those 3 things, there's a lot of things that I wanted to see
happening that we didn't have happening at that time, and for the most part,
it's still not happening, but I'm working towards that goal.