Solved

Access front-end and MySQL and Access(Jet) back-ends

Posted on 2012-04-08
8
430 Views
Last Modified: 2012-07-16
Hi All,

System is outgrowing Access's db limitations – 34 back end databases @ 20Gb, and with single tables approaching 1.8Gb it’s time to change! Also more interested in the increased security, stability and multi-user capabilities. Hoping to get performance improvements too as some queries are taking a fair while to process.

I still intend to use Access as a front end, and migrate the back-ends over to MySQL – probably in stages, and starting with an important main 1.8Gb table/db. I appreciate this is a well-asked about area, but I have a few questions which I can’t seem to understand properly and would appreciate answers and any general discussion/advice. I know how to export the Access/JET dbs to MySQL in general.

1.      Is using MySQL with Access as simple as linking the MySQL dbs through the External Data->Import->ODBC instead of linking to the Access dbs? (I doubt it!)

2.      At the moment (almost)all data editing etc in VBA is done through DAO:
Dim dbs as DAO.Database
Dim rst as DAO.Recordset
Set dbs = CurrentDB
Set rst = dbs.OpenRecordset(x)
 Will this be a problem//still work?

3.      Various queries and VBA functions on datasets have functions which are Access-specific (CInt, etc). Will these still work or will the MySQL equivalents have to be used?

4.      As mentioned, currently spread across 34 Access/JET back ends for space and organisational reasons. Should the data be kept in a single MySQL db/multiple/doesn’t matter?

5.      Will there be any problem working an Access front end with backends in both Access/Jet and MySQL, considering queries will be using tables from both

I’m sure there are more / any general advice appreciated!

Thanks in advance.
Katerina.
0
Comment
Question by:katerina-p
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
8 Comments
 
LVL 12

Assisted Solution

by:danishani
danishani earned 250 total points
ID: 37822290
You can take a look at below thread for a start, migrating MS Access to MySQL, ODBC connection etc.:
http://forums.mysql.com/read.php?65,148441,148441

You can still use DAO to connect to mySQL, or ADO, just depends on which you prefer, as you already use DAO that will be no problem.

For Functions and Operators being used in MySQL, check below thread:
http://dev.mysql.com/doc/refman/5.0/en/functions.html

Alternatively, you can migrate to SQL Server Express, which is free also.
http://www.microsoft.com/sqlserver/en/us/editions/express.aspx

Hope this helps,
Daniel
0
 
LVL 30

Accepted Solution

by:
hnasr earned 250 total points
ID: 37822393
Quick response:
1 yes
2 yes
3 yes
4 Can't see why not. You need to try.
5 Generally No
0
 

Author Comment

by:katerina-p
ID: 37822835
Thanks Daniel.

I expect table (and hence database) sizes of up to 20Gb+, and I understand SQL Server Express has a limit (4/10Gb?) so that rules that out.

I'm aware in general of the function differences - when running a query in Access, will I have to ensure that queries on Jet tables use Access functions and queries on MySQL tables use MySQL functions? (As queries will intially pull from both Access/Jet and MySQL, this would mean that different functions in the same query depending on the table that the field is in?)

hnasr, thanks for your time, but my points 2, 3, and 4 had two questions so I'm unsure to which you were answering!

I've seen people establishing ODBC connections to MySQL in VBA - why would this need to be done if you can link the ODBC tables and use DAO/ADO?
0
Resolve Critical IT Incidents Fast

If your data, services or processes become compromised, your organization can suffer damage in just minutes and how fast you communicate during a major IT incident is everything. Learn how to immediately identify incidents & best practices to resolve them quickly and effectively.

 
LVL 30

Expert Comment

by:hnasr
ID: 37822882
Quick response:
1 yes
2 yes (works with no problems)
3 yes - no need for equivalents
4 Can't see why not be as you prefer. You need to try.
5 Generally No
0
 

Author Comment

by:katerina-p
ID: 37822907
Thanks. Will there be a performance increase linking to/using MySQL instead of Access/Jet?
0
 

Author Comment

by:katerina-p
ID: 37832144
I've exported the [main] table to a local MySQL db, set up the PK and indexes. Linked to it in Access via ODBC.

I noticed huge delays opening the table, and I've run a quick query:-

Dim dbs As DAO.Database
Dim rst As DAO.Recordset
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset(x)
rst.MoveFirst
Do While Not rst.EOF
  rst.MoveNext
Loop
rst.Close


For the table in a local Access/Jet db, this takes 1 second. For the same table in a local MySQL db, it takes 50s! Why would this be?

Thanks.
0

Featured Post

The Eight Noble Truths of Backup and Recovery

How can IT departments tackle the challenges of a Big Data world? This white paper provides a roadmap to success and helps companies ensure that all their data is safe and secure, no matter if it resides on-premise with physical or virtual machines or in the cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Load balancing is the method of dividing the total amount of work performed by one computer between two or more computers. Its aim is to get more work done in the same amount of time, ensuring that all the users get served faster.
Access developers frequently have requirements to interact with Excel (import from or output to) in their applications.  You might be able to accomplish this with the TransferSpreadsheet and OutputTo methods, but in this series of articles I will di…
Familiarize people with the process of retrieving data from SQL Server using an Access pass-thru query. Microsoft Access is a very powerful client/server development tool. One of the ways that you can retrieve data from a SQL Server is by using a pa…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…

730 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question