I played with MySql + ms-access.
For the most part, things will work quite well. Not a lot of difference then
moving the data to sql server (and, we have several free versions of sql
server now anyway).
A few things:
Code that picks up the autonumber field (identity field) needs changed. You
have to *force* the update, and THEN grab the id
dim rstRec as DAO.RecordSet
dim lngNewID as long
set rstRec = currentdb.OpenRecordSet("yourtable")
rstRec.AddNew
rstRec!City = "Edmonton"
lngNewID = rstRec!ID
rstRec.Update
rstRec.Close
set RstRec = Nothing
At this point, lngNewID is set to the last id created.
When using sql server (or just about *any* server), you have to force the
update, so, all my code (which
works both for JET, and sql server) is now:
rstRec.AddNew
rstRec!City = "Edmonton"
rstRec.Update
rstRec.BookMark = rstRec.LastUpdated
lngNewID = rstRec!ID
Note how we move the record pointer back to the last record. And, if you use
ADO code, then you can execute the update, and not have to move the record
pointer back (so, if you're exiting code is ado, then you likely will not
have the above problem/issue).
So, some code needs to be changed.
further, make sure ALL tables have a primary key. And, *always* expose the
timestamp field to your forms (ms-access uses the timestamp to figure out
what fields to update..and without this, it has to work hard to figuring
things out. In fact, I seem many sub-forms go messy if you don't have the
timestamp.
So, for the most part, I would bet that 90%, or even higher of your existing
code will work. There is a just a few issues like above....
--
Albert D. Kallal (Access MVP)
Edmonton, Alberta Canada
pl*****************@msn.com http://www.members.shaw.ca/AlbertKallal