Link to home
Start Free TrialLog in
Avatar of Danie Khodus
Danie Khodus

asked on

Sharing Database

Hi,
We have a very small business working in the same office with MS access. right now all the computers are connected to the database through the local network, we all can work simultaneity. I want to be able to connect 2 or 3 computers (remote) to the database so that they could also work simultaneity. My knowledge is very poor we don't have any IT persons. What is the easiest and best solution so that the remote PC's will be able to connect to the database ? the size of the data base is around 50mb. (the file type is .accdb)

Thank you!
Avatar of John
John
Flag of Canada image

It is not a good idea to use a client application remotely to access a database (Access, QuickBooks, other).

Set up a remote connection to the office computers and use it that way. You may need some consulting help to set up the remote connection as this needs to be done over VPN or similar secure network.

This will work for a couple of computers.
Avatar of Pavel Celba
Shared database is deprecated and less and less supported solution by Microsoft. Visual FoxPro was the first victim…
I would recommend to use SQL Server (or any other server solution) at the backend. The free SQL Server Express should be sufficient in your case.

To convert your Access backend to SQL Server is relatively easy. You may do it manually or use existing Upsizing Wizards. See e.g. here: https://support.office.com/en-us/article/move-access-data-to-a-sql-server-database-by-using-the-upsizing-wizard-5d74c0df-c8cd-4867-8d07-e6e759d72924

After the DB upsizing you just need to change your local tables to linked tables in your Access application and if the application is written correctly then it should start work.

Of course, it is good to test such solution first but the size of your Access database is small so it should be rather easy task.
Avatar of Danie Khodus
Danie Khodus

ASKER

I have tried to use sql before and it was terribly slow. (Maybe i did it in a wrong way? it was long ago i dont remember how to do it)
when you say vpn do you mean any vpn or only one that supports port forwarding? I have "Bufferd vpn " if it helps. How can i set up remote connection? does it work as in if the pc was connected to the local network or does it work like Anydesk (takes control on the computer) ?  

Thank you for the replies
VPN is not port forwarding. You need a consultant to set it up for you (not simple) if you wish to access your computers remotely
Of course, the SQL Server remote access is slower than any local network access namely when you are downloading the whole data tables instead of executing queries on the server.

You could also think about Access Web app as described e.g. here: https://support.office.com/en-gb/article/video-create-an-access-web-app-10855ec0-3a12-4e6c-a67c-c88267f00a3c

But certain sources are saying Web apps are being retired... (more: http://www.loqutus.com/content/access-web-apps-are-being-retired-learn-about-these-9-alternatives)

Many ways exist and select the right one is not easy today.

The company network access is another story... and again you have several possibilities. VPN just secures and encrypts the connection made from the public place to your company local network. The user connected to VPN obtains additional IP address which opens the company network to him. What everything the user has allowed depends on the setup. Restrictive VPN setup can disable any other internet traffic. Users can use Windows Remote desktops and work as if they were in the office or they can access the company intranet and all applications over the web browser. Etc. etc.

So the easiest way is to setup VPN connection to your company network and allow users to connect to their company desktop computers where the Access application works locally. If users don't have company desktops then you may use one of your servers as Windows Terminal Server for all Remote desktop sessions. This can be done at any server with sufficient RAM. It also needs additional Windows licenses. Standard Windows server allows just two remote connections at one time.
Setting up a connection to your office is probably a good thing to do in any event
You could use virtual desktops to give remote users access to the application with reasonable performance.
You can certainly share an Access database. It's done every day by hundreds of thousands of companies across the world. The caveat is that you must be on the same network if you maintain your database backend in Access. You can use VPN's for this, but it's generally quite slow, and prone to corruption. Converting to a server-type database, like SQL Server, can improve this performance, but it's not a magic pill. Simply converting your tables to SQL Server almost always reduces performance, especially is you're a "drag-n-drop" programmer and have not adhered to proper client-server techniques.

Microsoft Web Apps are deprecated, so don't waste time with those. This was put out by Microsoft: https://blogs.technet.microsoft.com/the_microsoft_access_support_team_blog/2017/03/31/access-web-apps-to-be-retired/

The simplest way to share your Access database is to use Terminal Services. This requires Terminal Server and the requisite licensing, but in general you would not have to modify your Access application much, if at all.
Ok, can you tell me how to set it up? sorry i read your answers and just have no idea what to do...
Sorry, what would you like to setup?  VPN, Terminal Services, SQL Server, remote access?

You'll need to hire somebody who is also available to solve possible future problems. To rely on the free forum does not always work.
If i understood correctly terminal service is the best solution?  is it possible to set up on my own?
The easier way than Remote desktop is to use some tool which allows remote access between two or more computers connected to internet. Team Viewer is one of the most frequently used tools: https://www.teamviewer.com/en/?pid=google.r.int.s.desk.remote_desktop_bmm_new
It works reliably in many different Windows versions.

To setup Remote Desktop on Windows 10: https://support.microsoft.com/en-us/help/4028379/windows-10-how-to-use-remote-desktop
Windows 8.1: https://www.guidingtech.com/13469/how-to-enable-remote-desktop-in-windows-8/
More Windows versions are covered e.g. here: https://www.howtogeek.com/howto/windows-vista/turn-on-remote-desktop-in-windows-vista/
Terminal Service or VPN is for sure beyond your small business at this point so you need to engage a knowledgeable consultant. VPN can likely be the most economical way
This idea may be full of holes and I'm sure all the gurus with ammo will fill it full, but I have successfully used remote apps like GoToMyPC to connect  from my "on the road" laptop to my office client machine (desktop)and run my office machine as if I was there sitting at it.  Really cheap to do (cost of an extra "on the road" internet machine), doesn't require a VPN setup (uses the internet) and simple to set up (just remote into your machine at the office).  No messing with a server, but requires an accessible client machine at the office.

You decide how deep/far you want to go into this....
Do you have any servers running a Windows Server OS?

VPN setup on 2012 R2 and up is trivial
I dont have any servers no. Thank you for your replies! i will try to set up a VPN using this https://www.youtube.com/watch?v=Nu2GECZnTbU 
Would it help?
OK, please let as know how your Access application works over this VPN connection.
Just for clarity, my suggestion was to access the computer in the office and run the application from the office computer.
ASKER CERTIFIED SOLUTION
Avatar of Shaun Vermaak
Shaun Vermaak
Flag of Australia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
It is not required to connect to the PC and use Access locally. You can access the database via UNC
https://dba.stackexchange.com/questions/65509/how-do-i-connect-my-ms-access-database-to-the-lan
This could be misunderstood.

Even though you can use UNC paths to connect to an Access database, the Access database (the frontend and the backend) must reside on the same physical network. You could not, for example, host an Access database on your home computer and connect to that database from your work computer, unless you setup a VPN between those two (which, essentially, would make them the same "physical" network).

You could host a SQL Server database on one network and your Access FE on a separate network could access that, assuming everything was setup correctly.

I would STRONGLY encourage you to reconsider using a VPN unless you're going to use Terminal Services over that VPN. Access does not like WAN-like connections, and in almost every case a VPN would be that type. Unless you have very wide and fast connection, you'll inevitably experience corruption, performance lags, etc etc, and you won't be satisfied with it.

Simply put, if you need to support remote users with an Access application the correct way to do this is to use Terminal Services or Citrix.

I don't know much about Himachi, but if it's something like TeamViewer then all you'd be doing is remotely connecting a user to a machine on your local network. If that works for you then it should be great, but that means that you'd have to have machines for every local user, and for every remote user. A Terminal Services/Citrix setup can serve up virtual machines, so you don't need those local physical machines.

Someone suggested TeamViewer also. Note you'd have to purchase licensing for TV, which can be pretty pricey. TV has gotten fairly aggressive with unlicensed use, and will shut you down in a second if they think you're using the free license for commercial use. You'd also have the same issue that I mentioned above.
If i understood correctly Terminal Services is very hard (and expensive? ) to set up by my own. Is Critix any different? I am not interested in Programs that take over the other computer. i want both computers to be usable at the same time (So Not Teamviewer, Anydesk etc...)
For a very small company, servers and terminal services can be costly. I would stick with what you have until you can see some growth to justify the added cost
I think they're about equal in terms of difficulty and expense. I've never setup Citrix, but I've setup my own RDS system. I didn't find that process overly difficult, but it did take a little time, and of course expense. You can buy a fairly inexpensive server that would take care of this. I bought a used server from NewEgg, and use that to run my RDS system. I believe I paid around $400 for it, with 1 TB hard drives, and 16 GB of memory. It's not blazingly fast, but when I access it remotely while I'm on the road it's as fast as my laptop.

I use it for testing and such, so I used my MSDN licensing for this. If you're going to use this in production environment you'd have to buy the server licensing and CAL licensing, so there's some expense with that.

i want both computers to be usable at the same time (So Not Teamviewer, Anydesk etc...)
Not quite sure what you mean by that. If you're using a remote desktop, the user would be logged into that desktop, and they would use it exactly like a physical machine. The machine where they're connected from (their "local" machine) would still be usable; they'd just switch back and forth between their local desktop and their remote virtual desktop.

So you're back to the old caveat - you can have good, fast, or cheap. Pick two!
I just want something cheap that works, and not terribly slow. I meant that when you use Anydesk for example the pc you took over can not be used. the other person took over the computer and i can only see what he does, i cant use it as well. is there any way that he just has access to my files (the Datebase) but doesn't take control of the mouse?
Citrix is even worst. Its compatibility is questionable in many situations… Speed is low, printing is a nightmare. Reliable printing is difficult in all such environments.

I would expect you have some file server in your office and this server should have Windows Server XXXX OS installed. In such case two users may connect to such server via RDS without additional license.

If you don't have Windows Server anywhere then what computer is used for the shared Access database?  Windows 10?  Is it safe and reliable?

BUT you can still try the free TeamViewer or other similar software. TV allows two users working on one computer. O course, they have just one mouse cursor...
you can still try the free TeamViewer
TeamViewer is not free for that scenario. It cannot be used for any situation where financial gain could be realized (as in the case where a business is using it to conduct their day-to-day operations, or to remotely use their resources in the course of business).
is there any way that he just has access to my files (the Datebase) but doesn't take control of the mouse?
Not with an Access backend. As we've all said previously, the only way to do that is through a VPN, and you'll very, very quickly find that to be unworkable (I know, I've tried it several times).

The fast + good scenario is to convert to a VPN and use a remote desktop system to serve up desktops to your remote users. You can get up and running quickly (the fast part), and you'll have a very good experience (the good part). You won't get the "cheap" part however.

If you want cheap + good, then you'll have to spend some time (i.e. NOT fast) to convert your application over to use SQL Server. You may find that migrating your tables to SQL Server works fine, and you don't have to make any changes. That's rare, of course, so expect to spend time converting. The "cheap" part is that, essentially, you spend nothing on the software (SQL Server Express is free, and presumably you can do the conversion yourself), and you'll find that, for the most part, you'll have "good" performance.
TeamViewer can be used for that scenario in the free trial period. And Danie can decide whether it fits to his needs during this period.
Of course, I agree the remote disk file sharing is no go for Access.

SQL Server upsizing was also recommended in my first post already. To install Windows Server OS on a dedicated machine will be almost necessary in such case thus they'll have 2 RDS sessions available immediately.
I'm not sure why several of you keep recommending a VPN.  Access linked to Jet/ACE is painfully slow this way.  It is better when the BE is SQL Server but that may be getting beyond the skill level of the poster.

If you can leave desktops in the office for each remote user, using something like Team Viewer will end up being the cheapest solution but the remote user must have a computer in the office that  he can link to and TAKE OVER.  If the users don't have both desktops and laptops (or their own personal desktop), then desktops for the office that will probably be sufficient for most needs can be purchased for under $500 each.

If you want to give people remote access to files rather than to allow them to run applications, you can put the files on a server and let them link to that.  You don't need to spend megabucks for a server that is only going to serve files for a small office.  But, you do need a server OS to make everything run smoothly.  You can probably set this up with adequate hardware and software for $2,000 and a VPN might work to get to the files.
TeamViewer can be used for that scenario in the free trial period.
Teamviewer has no Trial Period. You install it, and you're asked whether you are going to use it for commercial or personal reasons. I don't think Teamviewer would have a problem with you testing this sort of setup, but per their licensing you wouldn't be able to use it on an ongoing basis.
OK, I was able to map a network drive through Hamachi, I linked the tables and it seems to be working. About half normal speed, but working from the remote pc. I think this will be sufficient for us, every other option is either too complicated or expensive or both. Thank you very much for your help!
Hmm… Nobody except one person recommended remote access to your Access database... Does Shaun Vermaak also guarantee the Access data integrity when two or more users are working remotely in parallel?

I can just say: Don't forget to backup regularly.
Does Shaun Vermaak also guarantee the Access data integrity when two or more users are working remotely in parallel?
It is up to OP to decide if the solution works for him. Sorry, that makes you bitter. It won't be the last time.

https://support.office.com/en-us/article/ways-to-share-an-access-desktop-database-03822632-da43-4d8f-ba2a-68da245a0446
Adequate for small groups with light data-editing
No, it does not make me bitter but it could make bitter the data owner. OTOH, they are fine if they just read the data.
Hi,is there expected to be data loss? I don't understand all the words you mean, I just know that I can work remotely  as in if I was at the local, just slower. Where would the data go? You mean it want save what I did remotely to the data base?
Adequate for small groups with light data-editing
That statement was for data sharing on a network folder, and while you could argue that VPN access would result in that being a network folder, Access does not work well on WAN-type networks (and a VPN connection is a WAN-type connection). In fact, that same page says that using SharePoint "lists" is a "best" method, and nearly every experienced Access developer would tell you that's not true.

Unless you have a very wide, fast, and stable WAN connection, you'll very likely run into corruption issues and data loss. May not happen today, or tomorrow, but eventually it will. Access was never designed to be run across a WAN-type connection, or a WIFI connection, or anything other than a stable and fast wired local network. You may get by with it for a while, but it'll eventually catch up to you. Be sure to implement a very robust (and frequent) back method, and check those backups regularly.

It's your data, of course, and your decision, but if you want the advice of experienced Access Developers, then I suggest you review the profiles of those Experts and ask them.

Where would the data go? You mean it want save what I did remotely to the data base?
Corruption typically manifests as the inability to save or read the data, and it generally impacts the entire database, not just the data you're working with. You may only lose a portion of the data, but in many (if not most) cases you'll lose the entire database, and have to resort to a backup, or to a recovery service (if they can recover the data, of course).
Unless you have a very wide, fast, and stable WAN connection
Like I said, it is up to OP to decide. We do not know how complex his database is or how stable his connection is.

May not happen today, or tomorrow, but eventually it will
Disagree. It might never happen.

You may only lose a portion of the data, but in many (if not most) cases you'll lose the entire database
Frequent backups are a must regardless of how OP access the database

Unless you have a very wide, fast, and stable WAN connection, you'll very likely run into corruption issues and data loss
I have seen Access database be corrupted from normal console Access.

I suggest you review the profiles of those Experts and ask them.
Feel free to do that