Free Lessons
Courses
Seminars
TechHelp
Fast Tips
Templates
Topic Index
Forum
ABCD
 
Home   Courses   TechHelp   Forums   Help   Contact   Merch   Join   Order   Logon  
 
Home > TechHelp > Directory > Access > Sync Remote > < Customer Codes | AutoNumber Good Bad >
Sync Remote Database
By Richard Rost   Richard Rost on LinkedIn Email Richard Rost   6 years ago

Sync Two Databases Without Internet Access


 S  M  L  XL  FS  |  Slo  Reg  Fast  2x  |  Bookmark Join Now

If you have ever wanted to take two copies of a Microsoft Access database, be able to work on them separately, and then sync the added records together, this lesson is for you. 

William asks, "I travel a lot, mostly by plane. The locations I go to are often in developing countries without reliable Internet. I need to take my customers and contacts with me, but the home office needs to be able to use that database too. I need to be able to view my customer list to get phone numbers and such. I’d also like to be able to add new contact records so when I make calls I can log them, and then sync that data back into the main database at the office when I return. Can this be done with Access?"

Yes. Absolutely. You can create MAIN and REMOTE copies of your database. You can take the REMOTE copy with you when you travel. People in the home office can work on the MAIN database while you're gone. When you get back from your trip, sync up the REMOTE with the MAIN and all of the records you've added will be imported to the MAIN database. I'll show you how to avoid Primary Key collisions and be able to import your data with just a few clicks.

Members

I'll show you how to sync up your Customer table in addition to your Contacts table. You will learn how to make buttons for a "one-click import and sync" routine. We'll turn off the Access warning messages, and you'll learn how to do all of this with NO extra queries. It will all be done with SQL and VBA.

Silver Members and up get access to view Extended Cut videos, when available. Gold Members can download the files from class plus get access to the Code Vault. If you're not a member, Join Today!

Links

Recommended Course

Learn More

FREE Access Beginner Level 1
FREE Access Quick Start in 30 Minutes
Access Level 2 for just $1

Free Templates

TechHelp Free Templates
Blank Template
Contact Management
Order Entry & Invoicing
More Access Templates

Resources

Diamond Sponsors - Information on our Sponsors
Mailing List - Get emails when new videos released
Consulting - Need help with your database
Tip Jar - Your tips are graciously accepted
Merch Store - Get your swag here!

Questions?

Please feel free to post your questions or comments below or post them in the Forums.

 

Comments for Sync Remote Database
 
Age Subject From
2 yearsMultiple Remote DatabasesThomas Corbett
2 yearsUpdate rather than appendThomas Corbett
2 yearsRun Time Error 3825Thomas Corbett
3 yearsRemote Database AccessThomas Corbett
5 yearsSync Remote DatabaseGarry Smith

 

Start a NEW Conversation
 
Only students may post on this page. Click here for more information on how you can set up an account. If you are a student, please Log On first. Non-students may only post in the Visitor Forum.
 
Subscribe
Subscribe to Sync Remote Database
Get notifications when this page is updated
 
Intro In this video, I will show you how to sync a remote Microsoft Access database when you do not have internet access. We will talk about making a copy of your database to take with you, using random auto numbers to avoid record collisions, creating append queries to pull new records from each database after you return, and basic steps to link and synchronize your data. This is a practical solution for traveling users who need to add contact records on the go and update the main office database later.
Transcript Welcome to another TechHelp video brought to you by AccessLearningZone.com. My name is Richard Rost.

In today's lesson, I'm going to show you how to sync a remote database without using internet access.

Today's question comes from William. William asks, I travel a lot, mostly by plane. The locations I go to are often in developing countries without reliable internet. I need to take my customers and contacts with me. But the home office needs to be able to use that database too. I need to be able to view my customer list to get phone numbers and such. I'd also like to be able to add new contact records, so when I make calls, I can log them and then sync that data back into the main database at the office when I return. Can this be done with Access?

William, I get asked this once in a while. A lot of the time today, people have reliable internet access. So if you're at home or if you're at a client's site or you're somewhere else, you can log in over the internet and you can share your data online using something like SharePoint or SQL Server and then connect to it with your Access database.

However, if you're traveling, if you're going by plane, you might not have good enough internet access on the plane or even by cruise ship to where you can reliably connect to your Access database. I've traveled myself and gotten internet on planes and on cruise ships and the connection is not good enough for Access. It's real slow, spotty packet traffic. So you can get email, you can maybe get a web page, but Access requires a more reliable connection.

So whether you're traveling or you're going to a location where there is no internet, I used to go and travel up into the woods of Maine and there's no internet up there either. So I felt like I wanted to take a copy of my database, I had to make a copy of it. The problem is the people back in the office need the database too. If you've got other people working on it, they need to be able to add and remove and delete records and stuff.

So what you can do is you can make a copy of your database and sync it up with the main database when you return to the office or when you get reliable internet access. You could do it online. But today what I'm going to show you is, I'm going to show you how to make a copy of your database and we'll sync up the contact records. This way when you are leaving, you click one button in the parent database and it will copy all the current information down to your child database or your main and remote, whatever you want to call them. So you have the current information while you are traveling and then when you return from your trip, you get back to the office, you can run another query and that will copy all of your updates back.

Let's see how we do this.

Here I've got a real simple database. This is my database for class. It's got contacts and customers in it. Customers are basically customers, and the contacts are the times you talk to that customer. Talked about sales, here's a nice guy. You can put extra notes down here. Go to a different customer, there's James Kirk. Click contacts, Starship captain, and so on. You can put all the information you want down here, wants to know where Spock is, and so on.

So what our need here is, is to be able to take the database with us when we travel. Now you can sync up whatever tables you want. For class, for the video, I'm just going to do one table. We'll do the contacts table. In the extended cut for members, I'll do both the customer and the contacts table. This will allow you to at least view and browse the current customer information, and you can add to the contacts. So while you're on the plane, if you want to type up notes, you can do that in here. If you're at your remote location and you want to make phone calls, you can log your phone calls. And then when you get back to the office, you can sync them back up.

The problem with syncing data, if you look at your contact table. Here's my contact table. It's got contact ID, customer ID, contact date, a description, and notes. Contact ID is my auto number. That's my primary key. It defines each contact instance. Each phone call, each time you meet with a customer, whatever, that's called a contact, not to be confused with a person; they contact that company. A contact is an event. Each contact is assigned to a customer. There's your customer ID. That's the foreign key. The date and time is put in here. I just put some sample ones in. A brief description, short text. I like that for lists and stuff. And then notes is a long text field; you can put whatever you want in there.

Now the problem that we have with syncing two databases together is with our auto numbers. Now auto numbers are the best field to use for tracking your primary key, without a doubt. I've got a whole other video called auto numbers, good or bad, that explains why you want to use auto numbers in almost every instance.

However, if we copy this database and take it to a remote location and then the remote person adds another record, he's just added record ID6. If someone at the main office adds a record, he also added ID6. Then when I try to bring these records back together again, it's going to cause problems. You're going to run into collisions with your primary keys. You can't have two contact ID6s. So we need a better way to manage our auto numbers.

I'm going to hit escape here. Let's go to design view. Now for our auto number field, come down here. You'll see new values. There's increment, and if you drop this down, there's random. A lot of people don't know about this. There are random auto numbers. It says once you change this to an auto number random, you won't be able to go back. So are you sure? Say yes.

Now, the existing data in here, I'm going to save this and open it back up again. The existing data in here is the way it is, and that's fine because when you make your database copy, one through five aren't going to change. They're going to stay one through five. But when I add a new record now, I get a random number.

Now why a random number? Well, Access figures if you're going to be having two separate databases that you want to merge together at some point, you're much, much less likely to run into any collisions if it assigns random IDs. Now remember, these IDs aren't visible to your customer. Nobody should care what these IDs are except Access. You can make custom customer codes or invoice numbers if you want to display those for your customers. But the IDs are used for internal purposes only, so you shouldn't care what they are. If they're random, if they're negative, it doesn't matter. I've got other videos where I can show you how to make custom invoice numbers, custom customer codes. I'll put links below if you're curious on how to do that.

But Access will generate a random number. So if I add a new contact here, it's getting a random number. If I add one in the field, it gets a random number. If someone adds one back in the main office, it gets a different random number. The chances of those colliding are infinitesimal. In fact, I did some math. An auto number is a 4-byte long integer. It has values from minus 2 billion to plus 2 billion, 2.14 billion, whatever. It's 4,294,000,000 possible combinations for that random number. That means if you added one record every second for a whole year, you would have a one in 136 chance of running into a duplicate value. That's adding a new record every second for a year.

So unless you've got a gigantic database that's got lots and lots and lots of activity, the chances of running into a collision are extremely small. And if those odds aren't good enough for you, you can use something called a UUID or a GUID. That stands for universally unique identifier or Microsoft's version is called a globally unique identifier. That's a 128-bit value instead of a 4-byte value, which is what an auto number is. It looks something like that. Microsoft puts little curly braces around there. According to GUIDgenerator.com, if every human on Earth generated 600 million GUIDs, there would be only a 50% probability of a duplicate. That's 600 million of them times the 7 billion people on Earth.

So you can see that's a pretty good value. Big, big databases like SQL Server will use GUIDs to generate random numbers like this because no two would ever realistically collide. But for the purposes of most small or mid-sized business databases, a random auto number is good enough. I've used this myself in the past for my own purposes and for clients and I've never run into a collision.

Now that I've given you some background on random auto numbers and sold you on them hopefully, let me finish putting this in here just as a test. You'll see the next one in here gets a random number. You have to get these customer IDs. Let's take customer one. And if you don't know how to create related contacts, I have other videos for that too. If you don't know basic relationships between two tables, like customers and contacts, watch my other videos on how to set up relationships. I'll put links below this video.

By the way, you're going to see those pound signs there because these IDs are getting long now, so you might want to hide these or make this field bigger. And this says pound name down here because this contact form is designed to be pulled off of the customer form. It puts a default value in there, which is whatever the customer ID is.

Now that I've changed my contact ID to a random auto number, I'm ready to make a copy of this database. Let's close this database down. I'm going to rename this one. Let's call this the main database. And I'm going to make a copy of it. Right click, drag, and copy it right on my desktop. We'll call this one the remote database, same exact stuff in both of them. I'll put them across the table from each other.

Now what we're going to do is we're going to link to the contact table in each of these databases. So I've got database here and I've got database here. Let's open up main again. All data, new data source from database, access. If you've never done linked tables before, I've got videos for that too. I'll put a link below. Click on browse. Mine's on my desktop. It's going to be the remote database right down here. Hit open. Hit OK. We're going to link to the contact table in that database. Now it comes in as contactT1. Right click, let's rename it. We're going to call it contactT-remote. Yeah, I know I usually say put the T at the end, but this is an exception. You could go contact-remoteT if you want to.

Now I've got a copy of the data in the remote database. It should be exactly the same because I copied the whole database file. Let's close this. Let's go over to the remote database now. Open this guy up. Do the same thing in reverse. External data, new data source from database, access, link to what file, desktop, and we're going to link to the main database. Hit OK. The contact table. Rename this one contactT-main or dash main. Again, same data. Now I like to just make some kind of visual difference between these guys. Let's change this guy's color, just so the databases look visually different. Maybe make this one red and put in here remote. This is my remote database so I know. Everything else can stay the same. Just one thing in here should be different visually.

Now I'm going to slide this like so, so we can see both databases at the same time. Here's the remote. Let's open up the main. I like this. Slide that over like that. There's both databases. They're both sitting on my desktop.

Now if I come in here in the contact table, let's say I've just copied these and I'm on vacation now. In the remote database, I'm going to come in here and I'm going to add a couple of contacts. I'm going to add for customer six. Contact one, and then customer six over here, contact two. Those are just two times I called and talked to customer six. Notice he's got two random auto numbers assigned. Close that.

Meanwhile, at the same time back in the main office, contactT, those contacts don't show up here. Of course not. Databases are separated now. They're linked together, but right now this link isn't going to work, because we're going to assume I took this database file and I copied it to my laptop or whatever. So this table normally won't open.

So ignore the fact that I could see this database for now. Meanwhile, back in the office, they add new contacts for customer seven. Two contacts for customer seven. The text is meaningless. You can say whatever here. So this table has two for customer seven, and this table over here has two contacts for customer six. They're sorted by contact ID, so you can see that one went way up there. It doesn't matter. I'm going to sort these by contact date time. So let's right click over here and we'll sort oldest to newest. So the newest ones show up on the bottom. There's contact six.

We'll do the same thing over here with the contact table. Sort this by contact date time. So everything's good and fine and dandy right now. Now I come back from my trip and I want to sync these up to this database. And this guy is going to want to sync those down to that one. Now you can't just copy and paste the records. Even though I can go in here, I could grab this one, let me show you. Since I can now connect to this guy, here's the local table, wrong table, here's the local table and the remote table. If I copy this record here, which is one of the new ones, copy and paste it up here, it's getting a different ID. When you copy and paste, Access assigns a brand new ID.

But if you use an append query, it will take these IDs and append them into this table. This is something that I covered in one of my other videos where I show you how you can reuse an auto number. If you accidentally delete an auto number, you can get it back by using an append query. I'll put a link to that video down below too.

So copying and pasting is out of the question, but we can use an append query. Now here's the thing with the append queries. It would be nice if I could make one button that would just do both transfers at once, but unfortunately, it doesn't work that way. You can only pull records from one database into itself. You can't push records the other way. I've tried this. It doesn't work. So we need two queries, one over here and one over here. Each one will pull records from the other table. So this guy needs an append query to get records from the remote.

So create query design. I'm going to make this bigger just for the purposes of building these queries. What are we adding to the query? We're going to go to links, add in contactT-remote. We're going to change this to an append query. What table are we appending to? My contact table in this database. What fields? All fields. Save this. We're going to save this as getContactsFromRemoteQ.

Then we'll do the same thing in the other database. This guy over here, we're going to go create query design, links, pull in from contactT-main, change it to an append query. What are we appending to? The contactT in this database. All fields. Save it. GetContactsFromMainQ.

Now I've got a query in each of the databases that will pull the records from the other one. GetContactsFromMain. GetContactsFromRemote. Unfortunately, you can't push. You can only pull.

So let's run it over here. Double click. Now you will get an error message. It says Access can't append all the records. Why? It didn't add seven records due to key violations. In other words, it's pulling all the records in from the other table, from the remote table, but it won't duplicate them. So if that ID exists already, it won't import it. That's fine. It's going to be what we want. So say yes. It will pull in all the new records from the remote. Open up your contactT, and there you go. You got both six and seven over here. Let's take a look over here. He's only got six. Why? Well, we got to sync back up this way now. I'm ready to go on vacation again.

Get ready to leave. I'm going to get contacts from main. Double click. It didn't add nine records due to key violations. That's okay. Say yes. And this guy up, and now look, you've got all 11 records. So right now they should both be synced up. See what happens? You go away, you hit this button, it pulls in all of the contacts over here, and duplicated ones won't be doubled up. That's a good thing. It'll only pull down different records. And because of our random IDs, the chances of these colliding with any ones that are in my table are infinitesimal. Could it possibly happen? Yes, it's possible. The chances are it won't.

Now I can go away and disconnect this database. I can add records over here; they can add records over here. When I come back home, all I have to do is open up this database, get contacts from remote. And then when I'm ready to leave again, get contacts from main. These two queries will sync the databases back and forth.

That's it. That's pretty much all you have to do. You just have to remember in this database, you can't change customer information or add customers. You can lock this table if you want to. You can go into design view in here, go under data, and change these things in here so allow additions is no, allow deletions is no, allow edits is no.

Now in this database, if you try to change a customer, you can't. I'm tapping on my keyboard right now. I can't add a customer. That will remind me you can't do much with customers. But I can still look my customers up. Let me close this here. I can still go into their contacts. When you do that, you can't resize the form there. There we go. I can't change contacts in here either. So you might want to come in here, go to design view in here, and you may want to go allow edits is no, allow deletions is no, but allow additions is fine. I can add contacts, because they'll sync back up over here. But I'm not going to allow myself to edit any contacts that are in there.

You may or may not want to leave that property on because you can, theoretically, edit the contacts that you just made or delete them before they're synced back up over here. You could even put a field in here to indicate whether they've been synced or not. There's all kinds of things you can do.

Microsoft used to have something called replicas, or database replication that was built into versions of Access. I think they canceled it in 2003 because it didn't work well. I tried using it a couple of times for myself and for clients and it just didn't work right. There were a lot of ifs, ands, and buts. It's okay to build it for yourself in a simple situation like this. But for Microsoft to release this as a feature and then it doesn't really work well for everybody, no, they were right to get rid of it.

But if you want to do some simple database replication yourself, this is how you do it. So you could leave it so you could edit contacts but just know that you could only edit the contacts that you have added since you synced, since you broke the database connection. If I change Starship Captain, for example, or this "wants to know where Spock is", if it's a record over here in the parent database, it won't sync back over here. Yes, you could do it with time indexes and you can look for collisions and changes. I could spend hours and hours building a database like that. But for the purposes of this lesson, this gives you a simple way where you can take your customers with you. You can take the contact history that's already in there with you, and you can add new contacts to this database and sync them back up with this one.

So William, hopefully that answers your question. When you're on your plane trip, you can view your customers, you can add contact information. You could do this with any table you want. You could do this with your customer table if you wanted to. In fact, for the members only video, I will do that. I will add customers to the list. We'll do both customers and contacts at the same time. So if you've got a database where you write letters and put your customer correspondence in your database, you could do that while you're on the plane.

Could you sync up remotely if you get internet access? Sure. That linked table can be anything. That linked table could be a link to an ODBC database, an SQL Server database, anything. Just remember, you can only pull data. You can't push it, so you can't push your data back up to the server. The server has to pull it down to you.

More coming up in the extended cut for members, silver members and up. I will show you how to also sync the customers, so you've got customers and contacts. We will make a one-click sync of both tables. Each database will have a button in it. From the server, you click the button. It will pull in the records from the other one. When you're ready to leave, you open up the remote database, click the button, and it will pull the records down from the server. You just have to remember to run the query. I'll turn off the warning messages so it doesn't pop up that warning message saying, oh, I couldn't import seven records. We'll get rid of that. And we'll do this without queries. We'll write some SQL and some VBA and we'll put it right in the button. We'll get rid of the queries. I don't like having tons and tons of extra queries in my database. My database that I started back in 2003 for my business has probably 300 queries in it, and it's going to take too much effort to go through and get rid of them all. I like to write SQL if I can and put it straight in the buttons. That way there's no queries sitting in my database window.

How do you get your hands on the members only video? You can join my YouTube channel. Click on the join button down below the video. That's right next to the subscribe button. You'll get access to all of my extended cut TechHelp videos. You'll see a list of all the levels, silver, gold, platinum, and so on. Silver members and up get access to the TechHelp videos.

I want everyone to know that I'm going to keep making these free TechHelp videos. I enjoy doing them and nothing will change. Make sure you subscribe to my channel though. Subscribing is free. You just get notifications whenever I release a new lesson.

Also be sure to stop by my forum at my website. If you'd like to see your question answered in a TechHelp video, visit my TechHelp page.

If you haven't taken my free three hour class, it's three hours long. Access Level 1, lots of good beginner fundamental stuff in there. I am assuming that a lot of you, if you're watching this video and you're interested in replicating your database, you're probably beyond the basic basics, but you'd be surprised. A lot of people have told me they've been using Access for years and they watch my beginner video and they picked up a couple things. So it's free, it's three hours long. You might be a little bored, but check it out anyway because you might pick up some tips in there. And if you like that, Level 2 is just a dollar.

Thanks for watching and we'll see you next time. I hope you learned some stuff.
Quiz Q1. What is the primary problem when trying to use an Access database in places without reliable internet?
A. The database cannot be opened without internet
B. Access requires a constant, reliable connection that often is not available when traveling
C. The database gets corrupted easily without internet
D. Access databases cannot be copied to a laptop

Q2. Why is copying the database to a remote device not always a complete solution?
A. The copied database cannot be edited
B. Changes made at one location need to be synchronized with changes made at the other location
C. Access databases are read-only after copying
D. Only Microsoft can copy Access databases

Q3. What main issue arises when merging two copies of a database after traveling?
A. Users forget passwords
B. Collisions with auto number primary keys can occur if new records are added in both databases
C. The databases cannot be merged at all
D. The copy is empty after syncing

Q4. What is one solution Richard suggests for handling primary key collisions in this scenario?
A. Use text fields as primary keys
B. Use random auto numbers for the primary key field
C. Always assign numbers manually
D. Convert all IDs to negative numbers

Q5. What is a random auto number, and why is it beneficial in syncing databases?
A. A sequential number that increases by one, preventing duplicates
B. A randomly generated number that reduces the likelihood of key collisions when merging databases
C. A number generated by the user, making it unique
D. An automatically repeated number for each record

Q6. For even higher certainty of uniqueness beyond random auto numbers, what does Richard mention?
A. Using an Excel spreadsheet
B. Using usernames as primary keys
C. Using a UUID or GUID as the primary key
D. Using date and time fields as keys

Q7. When synchronizing two Access databases for offline data entry, which Access feature is used to merge new records while preserving primary keys?
A. Copy and paste
B. Import/Export Wizard
C. Append queries
D. Update queries

Q8. What happens if you copy and paste records with auto numbers from one database to another?
A. Access assigns the same ID as the source
B. The paste is not allowed by Access
C. Access generates a new auto number, causing duplicates not to sync correctly
D. Access asks the user to resolve each ID conflict manually

Q9. Why are key violations acceptable (even expected) when running the append queries during syncing?
A. They indicate duplicate primary key values are being protected and not duplicated
B. They mean the sync failed
C. They show that the connection was lost
D. They mean Access has deleted the table

Q10. Which direction can you transfer records using the append query method described in the video?
A. Only from remote to main
B. Only from main to remote
C. Only in both directions at the same time
D. Each database must pull records from the other; you cannot push records

Q11. What limitation does the remote database have in the syncing setup shown?
A. It cannot view customers
B. It can only add contacts and cannot add or edit customers
C. It can only edit records, not add them
D. It can only run reports, not enter data

Q12. What could you do in your database's forms to prevent editing or deleting customers in the remote copy?
A. Encrypt the data
B. Remove the customers table
C. Set form properties to not allow edits or deletions
D. Hide the navigation pane

Q13. According to Richard, why did Microsoft remove database replication (replicas) from Access after 2003?
A. It was too expensive
B. It did not work reliably and was problematic
C. Few people used Access
D. Replication caused data loss

Q14. If you'd like to perform a one-click sync including customers and contacts, what does Richard suggest he will show in the members-only extended cut?
A. Using macros for syncing
B. Writing VBA and SQL to perform the sync without extra queries
C. Using Excel as an intermediary
D. Sending emails with attachments

Q15. What is a best practice regarding the visibility of internal random IDs to users?
A. Always display them to the user
B. Hide them from users; only use for internal purposes
C. Print them on invoices
D. Let the users change them

Answers: 1-B; 2-B; 3-B; 4-B; 5-B; 6-C; 7-C; 8-C; 9-A; 10-D; 11-B; 12-C; 13-B; 14-B; 15-B

DISCLAIMER: Quiz questions are AI generated. If you find any that are wrong, don't make sense, or aren't related to the video topic at hand, then please post a comment and let me know. Thanks.
Summary Today's video from Access Learning Zone tackles a common question: how can you sync a Microsoft Access database between a traveling laptop and a main office without having internet access?

This issue was raised by someone who travels frequently, often to areas with unreliable internet. The main goal is to be able to take a copy of the customer and contact databases while traveling, make changes such as logging calls or adding new contacts, and then sync any updates back into the main office database upon returning. At the same time, the home office also needs to continue working with the same data.

Generally, if you have steady internet, you could use SharePoint or SQL Server as a back-end and just connect to that remotely. However, if you have spotty or no internet – common on planes, ships, or remote areas – Access is not going to work well with a live connection due to its need for reliable, consistent connectivity. So, you need a way to make a copy of your database to use while offline and then merge changes when you're back online.

The first step is to make a copy of your Access database. You'll have a "main" version for the office and a "remote" version for travel. Before you begin, it's important to understand how Access handles data, specifically auto numbers used as primary keys. Normally, Access assigns auto numbers sequentially, but this can lead to conflicts if the same auto number is generated in both databases while you're away and both are later merged.

To avoid conflicts, you should set the auto number field to generate random numbers rather than incrementing in order. Random auto numbers in Access are very unlikely to collide because there are over 4 billion possible values for each. For even more security, you can use a GUID (globally unique identifier), but random auto numbers are usually sufficient for small- and medium-sized databases.

Once you change your contact table's primary key field to use random auto numbers, you're ready to make the copies. Each database – main and remote – will have the same data initially.

To sync data between the two, you need to link each database to its counterpart's contact table. In the main database, you link to the remote's contacts; in the remote database, you link to the main's contacts. This way, each side can see the other's changes after the data is merged.

As you use the databases independently – for example, adding new contacts during your trip and having the office add new contacts simultaneously – each version will generate random IDs for new entries, minimizing the chance of ID conflicts. When you return, instead of copying and pasting records (which would generate new IDs instead of preserving the originals), you use append queries to transfer only the new records from each database into the other. Append queries allow you to specify that you want all the fields in each record, including the ID, so the unique identifiers remain intact.

This syncing process only pulls new records that don't already exist, since Access prevents key violations where ID numbers are duplicated. This way, each database gains the new records from the other, and duplicate records are avoided.

You cannot push records into the other database; you can only pull them from the linked version. This means you need to run an append query in each database, one pulling from the remote to the main, and another pulling from the main to the remote.

To prevent users from making accidental changes in the wrong table during travel, you can limit editing settings on the customer and contact tables/forms in the remote database so users can add contacts but not modify or delete existing records. Similarly, you could lock the customer table to prevent changes while offline, but still allow users to view the data and link new contact records to the correct customer.

Microsoft Access used to provide a replication feature, but it was discontinued because it caused too many issues in practice. The manual synchronization process described here is a simple, effective alternative for small setups.

For those who need more advanced features, like tracking sync status for each record or handling possible record collisions, you could add extra fields or logic. But for most users, this approach of using random auto numbers and regular append queries will be sufficient for basic database replication.

In the extended cut for members, I will also demonstrate how to sync both the customer and contacts tables, and how to automate the sync so that each database can have a one-click button to pull new records. I will cover writing SQL and VBA code behind the button to remove the need for extra queries in your database, and suppress unnecessary warning messages during the sync.

As always, remember that you can join my channel for access to exclusive extended cut videos covering these advanced topics in more detail. Subscribers get notified of each new lesson, and you can always visit my forum or TechHelp page if you want your own question answered.

If you are new to Access or want to refresh the basics, do check out my free three-hour Access Level 1 class. You might be surprised at how much you pick up, even if you already have experience.

You can find a complete video tutorial with step-by-step instructions on everything discussed here on my website at the link below.

Live long and prosper, my friends.
Topic List Syncing a remote Access database without internet access
Creating a local copy of an Access database for travel
Understanding issues with auto numbers and replication
Changing auto number field to random in Access
Explanation of GUIDs and UUIDs for unique IDs
Making a copy of your Access database for offline use
Linking tables between main and remote Access databases
Using append queries to sync records between databases
How to handle primary key collisions in synced databases
Appending new records without duplicating existing ones
Setting up permissions to prevent edits in certain tables
Best practices for syncing contact tables between databases
Limitations of Microsoft Access database replication features
Manually syncing updates between main and remote databases
Allowing additions but restricting edits or deletions in forms
Using append queries for record synchronization
 
 
 

The following is a paid advertisement
Computer Learning Zone is not responsible for any content shown or offers made by these ads.
 

Learn
 
Access - index
Excel - index
Word - index
Windows - index
PowerPoint - index
Photoshop - index
Visual Basic - index
ASP - index
Seminars
More...
Customers
 
Login
My Account
My Courses
Lost Password
Memberships
Student Databases
Change Email
Info
 
Latest News
New Releases
User Forums
Topic Glossary
Tips & Tricks
Search The Site
Code Vault
Collapse Menus
Help
 
Customer Support
Web Site Tour
FAQs
TechHelp
Consulting Services
About
 
Background
Testimonials
Jobs
Affiliate Program
Richard Rost
Free Lessons
Mailing List
PCResale.NET
Order
 
Video Tutorials
Handbooks
Memberships
Learning Connection
Idiot's Guide to Excel
Volume Discounts
Payment Info
Shipping
Terms of Sale
Contact
 
Contact Info
Support Policy
Mailing Address
Phone Number
Fax Number
Course Survey
Email Richard
[email protected]
Blog RSS Feed    YouTube Channel

LinkedIn
Copyright 2026 by Computer Learning Zone, Amicron, and Richard Rost. All Rights Reserved. Current Time: 4/30/2026 12:25:34 PM. PLT: 1s
Keywords: TechHelp Access sync up remote database replica set replication travel developing country copy copies  PermaLink  Sync Remote Database in Microsoft Access