Yes, I can make a copy to instead the replication,but since replication can also achieve the same goal why I do not use it.
Sorry, but I'm confused. Did you attempt to use replication or not? If copy works fine, why bother with replication, which introduces a host of issues, not least of which is randomizing autonumbers.
The database design is simple, my colleagues don't need replication to work together, so it is just a tool to be used to share database records to asp apps.
This is not the designed purpose of Jet replication.
It is not the asp app that lock the database but working on access database will prevent asp app to retrieving data since directly working on access will lock the database and asp app cannot open.
If you have a split Access app, data tables in back end, forms/reports/etc. in front end, there is absolutely no reason that editing the data from Access should lock out ASP. If it's not split, that's entirely a different issue.
I think you also have the same experience.
No, I have not. First off, I've never written an ASP app (I use PHP for web apps, and have only once use a Jet database for the datastore for that). I have, in fact, had good luck with Cold Fusion and sharing a Jet back end, but there was only one read/write user of the Jet database (and all the web users were read-only).
Synchronizing is acheived through access form. I use Timer event to periodically synchronize at a certain time.
dbsTemp.Synchronize "C:\Program Files\Microsoft Office\OFFICE11\SAMPLES\nbo_replica.mdb", dbRepExportChanges
Is that the real path? That's likely to be a major issue, as that's not normally a writable location. Secondly, if your app is unsplit, you should split it so that you remove that issue from the mix.
Maybe you are right that I don't need to use incremental autonumber in replica. This is the first time I meet replication in access so I feel odd when I see random number in autonumber field. Maybe it is good for me to let it be.
Autonumbers should never be used as meaningful data, since they can easily have gaps. They are just meaningless surrogate keys used for linking records between tables. If you care what the numbers are then you shouldn't be using Autonumbers at all -- you should be coding the assignment of the values in that field yourself.