Replies embedded.

Signature
Allen Browne - Microsoft MVP. Perth, Western Australia.
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.
> Having read it all - and understood about half of it! - I'm somewhat put
> off
[quoted text clipped - 4 lines]
> I'm
> unlikely to get to grips with it all.
You probably don't need to learn it all. If you are already coding in DAO,
you can convert your database, and just continue to use DAO code. IMHO,
that's still the best way to do it anyway if your data is in Access tables.
> My reasons for contemplating conversion are (were!):
>
> 1) my assumptions that the later version would be more stable, less buggy
> and faster (call me naive?)
Correctly set up, A2003 is more stable than A97 to develop in. During heavy
development, I expect a corruption every few days in A97, and every few
weeks in A2003.
Once the development is complete (not adding or modifying forms, code,
reports, etc), both versions are extremely stable. On reliable hardware with
reliable power and a reliable network and reliable users, you could go for
years and not see a corruption.
Performance-wise, most new versions are slower than older versions, and
A2003 will be a little slower than A97, e.g. because of the Unicode support.
Some things are much slower in A2003, e.g. VBA functions called in a query.
> 2) my assumptions that the new features would be useful in establishing a
> web interface between my payroll agency (which uses the mdb) and our
> clients
Although A2000 and later have Data Access Pages (DAPs), they are not very
useful IME, certainly not beyond a local intranet. Better to use another
technology such as PHP (or ASP) to read/write the Access database. Of
course, none of these including DAPs give you the rich environment that
makes Access such as joy to work with.
> 3) a developer whose services I would like to use for some small projects
> no
> longer works with A97
Good people you can trust and work with - yes, that's a very important
consideration.
> 4) the XML file format would be useful for Inland Revenue end-of-year
> returns
If you need XML support, then that's an important aspect as well.
> 5) a general, ill-defined but definite feeling that upgrade = progress =
> good
:-)
> ... Your initial reply (that I should be able to update with
> a minimum of fuss) was very encouraging, but the information in the link
> had
> the opposite effect.
Leslie, I think there are 2 questions here:
1. How hard is it to learn to use A2003 so that it's usable?
Expect a bit of a learning curve, so you know how to:
- turn off the stuff that corrupts the database (e.g. Name AutoCorrect),
- get rid of the stuff that slows it to a crawl (e.g. Subdatasheets),
- work around the new bugs (e.g. an AccessField in the LinkChildFields),
- get used to the new frustrations (e.g. having to turn AllowZeroLength off
every time you create a Text field),
- solve the interface problems (e.g. controls that flicker on tab controls),
and so on. These obstacles are not huge: we have come a long way since the
days when A2000 was first released and we suggested not to use it.
2. How hard is it to convert an A97 database?
The answer is that once you have #1 down, this one is usually pretty simple.
(There are exceptions: e.g if you database was originally written in Access
2 and uses the 2.5/3/5 compatibility layer, you have work to do.)
Hope that clarifies it for you.
Leslie Isaacs - 08 Feb 2005 11:32 GMT
Allen
Thank you again for your further reply.
A couple of (in fact 3!) minor questions:
1. I use the standard access interface to create/edit queries, forms, etc.,
and I type code directly into a module for the functions that I have. Does
this mean that I already code in DAO?
2. I read on your website that many of the new features of the newer
versions are not available, etc., if the data is being stored in access
tables. My data is stored in access tables: what are the alternatives? I
have read somewhere about using MSDE for the b/e - is this a good idea (and
easy to do)?
3. You say "Some things are much slower in A2003, e.g. VBA functions called
in a query": does this also apply to functions called as the on-click event
of a button? If so I would have grave reservations about converting, because
the 'bread and butter' of the application involves running a complex
function (in the 1400-line module) every 20 minutes or so. Currently the
function (together with a few subsequent queries) takes 10-20 seconds to run
on average, and I would not want this to get "much slower".
Many thanks for your continued help.
Les.
> Replies embedded.
>
[quoted text clipped - 84 lines]
>
> Hope that clarifies it for you.
Allen Browne - 09 Feb 2005 02:17 GMT
Embedded.

Signature
Allen Browne - Microsoft MVP. Perth, Western Australia.
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.
> 1. I use the standard access interface to create/edit queries, forms,
> etc.,
> and I type code directly into a module for the functions that I have. Does
> this mean that I already code in DAO?
Examples of using DAO:
- Opening a Recordset;
- Executing an action query, e.g. dbEngine(0)(0).Execute "INSERT INTO ...
- Examining a TableDef, e.g.:
http://members.iinet.net.au/~allenbrowne/func-06.html
- Setting the Connect property of your linked tables.
To see more, press F2 when you are in a code window.
Access opens the Object Browser
It will show you which objects belong to Access, VBA, and DAO.
> 2. I read on your website that many of the new features of the newer
> versions are not available, etc., if the data is being stored in access
> tables. My data is stored in access tables: what are the alternatives? I
> have read somewhere about using MSDE for the b/e - is this a good idea
> (and
> easy to do)?
In the new versions, MS spent lots of time trying to make Access a good
front end for SQL Server, not so much time improving Access for its native
data engine (JET). JET is still simpler than SQL Server (MSDE or whatever
its called this month). My suggestion would be to stay with JET unless it
will not handle your data needs. That happens if:
- for foresee many millions of records in some tables;
- the database must run 24x7 (cannot come off line long enough to make a
backup);
- security is crucial (JET security is a padlock, not a vault);
- you will have many dozens or hundreds of simultaneous users.
> 3. You say "Some things are much slower in A2003, e.g. VBA functions
> called
[quoted text clipped - 7 lines]
> run
> on average, and I would not want this to get "much slower".
No. VBA functions run from VBA (the event procedures) are fine. The
particular issue is where a query calls one of your functions. Of course, if
your VBA function executes a query statement or opens a recordset that is
based on a SQL statement that contains a VBA function, then you have struck
this issue.
HTH