First thing, you should make sure that some VBA errors are not reduced to
silence by some error controling code; like "on error resume next" or "on
error goto label_error_msg": open any module in design view, then in the VBA
windows that will open, select Tools, then Options and finally General,
under which you can set the option "Break on all errors" for "Error
trapping".
This will have the effect of deactivating any "on error resume next" and "on
error goto label" and may well be sufficient to find the culprit.
You should also make that you can update and modify the table A manually by
opening it and trying to edit some values.
In the VBA window, make sure also that "Microsoft DAO 3.6 Object Library" is
set in the references (you will find these settings under Tools) and that it
is specified before "Microsoft ActiveX Data Objects 2.1 Library" (you can
also find 2.5, 2.6, 2.7 or 2.8 instead of the version 2.1). It is very
important that DAO 3.6 be specified before the the OLEDB 2.1 as any
non-fully qualified name for database and recordset objects will take the
nature of the first referenced library.
For exemple, "Dim rs as dao.recordset" is a fully qualified name for a
recordset, but "Dim rs as recordset" is not and may designate either a DAO
or an OLEDB recordset. The mixe-up of references and non-fully qualified
name is probably one of the biggest sources of troubles with Access
2000/2/3.
Finally, make sure that by updating you mean converting an Access 97 MDB
file to the 2000/2/3 versions of MDB files, as Access 2000/2/3 also have
another kind of database: ADP files for dealing exclusively with SQL-Server.
The coding for ADP files have many changes from their MDB counterpart and
this newsgroup is about ADP files. The upsizing wizard can create both
types of files, so I'm not sure about which one you have at this moment.
In the newsgroup news://microsoft.public.access.odbcclientsvr ; you will
probably find more informations related to MDB files and linked tables with
SQL-Server than in this newsgroup.
S. L.