MS Access split database. Can we still add new tables? - ms-access

I have a database in access that has 4 tables and 4 forms that are bounded to those tables. I recently split the database and the tables are now stored in a different file and I have the front end stored on a shared drive(People in the office want to use the database while it is being built, so I had to put it on a shared drive). My questions is, I am planning on adding another table to the database with it's bounded form. How can I link the table and the form when they are going to be in two different files? The other tables and forms work because I used the wizard to split the database.

Assuming you are asking how to do this manually:
Open the backend in Access and add the new table. Note that at this time, no user should try to access the backend, be it via your frontend or the Access UI.
In the frontend, use the Linked Table wizard to add a link to the new table.
Note: all these steps could be done via VBA as well.

Related

MS Access Front-end with Linked Table Backend for Multiple Users

I have an MS Access database (.accdb) that I have created with several queries, forms, and macros. The database was created using Linked Tables that point to Excel spreadsheet files on a network drive. We are looking to add a survey capability to this database that would need to update one of the linked tables.
Looking online, it appears that splitting the database between Backend (BE) and Frontend (FE) is the best way to ensure multiple users can access/edit the information without the Excel files being locked out.
However, when I follow the directions on how to split the database, by BE file doesn't have any tables in it. I can manually go in and recreate the links to the Excel files in the BE file, but when I go into the FE file I am not able to link to the BE files.
My Question: Is there a way to have a BE file hold Linked Excel tables, and have the FE file link to the BE linked tables?
No, this is not possible. You can only link directly to tables, you can't link to linked tables.
Also, Excel is not fit for data storage in a multi-user environment unless it's read-only.
You can, of course, link to the Excel files in your front-end, or query the Excel files in your front-end without linking.

Update access application file without changing the data

I just finished developing a Microsoft Access database application for a friend and he started entering data already.
He just contacted me that he would like to add additional features to the application (Nothing Major).
He is using his computer (to enter data) at one location and i use a different computer at a different location (to build the application). My Question is, is there a way when i finish updating my (empty) copy of the application to replace it with his copy of the application without effecting the data he entered into the database?
The real answer is to split the database into two: A backend with tables only, and a frontend with all forms, reports, etc.
There is a wizard that will do 99% of this for you.
When done, you can update the frontend at any time and relink the tables from the backend.

Splitting Access Databases

I have an access database that I have been using for a while. I have been meaning to split the database for a while but hesitant to. I have many forms that link to tables. VBA code that aid in the forms and creating reports from this access database. Sometimes the VBA code will have a dynamic query that changes on certain conditions and runs a DoCmd.RunSQL.
If I split the database will all my VBA code break down as it points to the tables within my database. Do they need to be pointed to the backend or pointing towards the linked table is enough. Will the split handle this by itself?
Let me know If I was clear enough. My main concern is my forms/VBA code will stop working.
Make a backup, go to meny Database Tools, locate the Split database wizard.
Run this, and you are done.

Only have forms on the front end split

In Access 2007, I split my database (which only contains tables and forms) into front end and back end. I want my front end to only have forms, while my back end only have tables.
When I split the database, the front end has tables and forms while my back end only has tables. When I try to remove the front end tables, the front end forms don't work.
I am completely new to Access and cannot find the answer.
In the end I want to give the forms out to multiple people and not have them see what other people input into the forms and to have the information on the table in the backend.
Thanks in advance!
You should probably have a look at using linked tables in the front end
About importing and linking data and database objects
MS Access: Link to a table in another database in Access 2007
A linked table in Microsoft Access is not actually a table that contains any data. It is just a shortcut to a table that resides in a different database, usually called the backend.
When you split your database the front-end should contain forms, queries, macros and code modules. And also linked tables that point to the backend database.
The backend database therefore would just contain the base tables.
Note if the backend database is moved then the linked tables will no longer work as the link would be broken.
You can either manually split your database or use the menu option built into the user interface, In Access 2007 click on database tools, then in the move data group click on access database.
To manually link tables, open your front end database and select External Data on the ribbon then click Access then after you've selected the file name make sure you select the 2nd option to link the table in the dialog box that opens.
It's a good idea to put the backend database on a server that does not get turned off and when linking avoid using mapped drives in case all users have not got the same letter mapped to the same folder share.

Queries based on forms and MS Access development

i have 2 questions when i use access:
i create a form with comboBox and calenders, i want to choose an employee
from combobox and from date and to date and when i click ok i will send these
parameters to a query to return the result in a query (result is the calculation
of it's salary).
i know how to release an access project to be useful to user that can't
access tables and queries only forms.
is there any way to change the access project from release mode to development
one, because supposed that an error occurred, how to solve it without loosing
my data.
Note: i don't have client/server i develop a program and i release it and
give this release to the user, after a specific time this user tell me that
an error occurred, and he need data inserted from this program to database.
i can solve this problems and release another version of program, but the
main problem is how to take all data from the old program to the new one.
-- You can reference form control in a query:
SELECT FROM MyTable
WHERE EmployeeID = Forms!MyForm!cboEmployee
AND SomeDate BETWEEN Forms!MyForm!txtDateStart And Forms!MyForm!txtDateEnd
You could also build an SQL string and use it as the record source for a form or in VBA.
-- Access should be split into front-end (forms, reports, etc) and back-end (data). When you make changes to the front-end, you create a new mde or accde and send that to the users. The data stays on a server in the back-end.
See: http://msdn.microsoft.com/en-us/library/aa167840(v=office.11).aspx
EDIT
From your comments, it seems that each application has a single user, if this is the case, splitting is not essential, but it can still be a good idea. The user will get two databases, one for data and one for forms etc and only the one for forms gets replaced. You will need to include a routine to locate and link the back-end tables.
However, if this is not possible, an mde or accde does not hide the data, you can send your revised copy and include a routine to import from the previous mde/accde.
EDIT 2
There are wizards that will split your database for you and link the tables. Where you find them varies slightly from version to version, but they are under the menu item Database Tools. The only problem with this is that the linked table holds the location for the back-end, which is on your computer, not on your users computer. Linked tables are how you access data in the second database. These act as if there are tables in the first database, except you cannot change them. Unfortunately, linked tables hold the location of the back-end, so this will have to be changed if you are sending it to a users. You can either write code, or show your user how to use the linked table manager. This may lead to confusion and may not be worth the effort for one PC. (See also http://www.alvechurchdata.co.uk/accsplit.htm)
Alternatively, you can split the database on your PC and make all the changes to forms etc that you want, then add some code that will import the tables and other data for the user into your new copy. The user will follow the instructions in your code to import the tables. As an aside, you will find that development is a lot safer on a split database. You should also decompile from time to time, which you can find at http://www.granite.ab.ca/access/decompile.htm.
If you want to protect your code, you can create a compiled version of this new copy, the extension for a compiled Access database is *.accde, for 2007 onward and *.mde for prior versions. This is what I thought you meant by 'i know how to release an access project'.