Wrox Programmer Forums

Need to download code?

View our list of code downloads.

Go Back   Wrox Programmer Forums > Microsoft Office > Access and Access VBA > Access VBA
Password Reminder
Register
Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read
Access VBA Discuss using VBA for Access programming.
Welcome to the p2p.wrox.com Forums.

You are currently viewing the Access VBA section of the Wrox Programmer to Programmer discussions. This is a community of tens of thousands of software programmers and website developers including Wrox book authors and readers. As a guest, you can read any forum posting. By joining today you can post your own programming questions, respond to other developers’ questions, and eliminate the ads that are displayed to guests. Registration is fast, simple and absolutely free .
DRM-free e-books 300x50
Reply
 
Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old August 2nd, 2004, 10:37 AM
Authorized User
 
Join Date: Jul 2004
Location: , , .
Posts: 14
Thanks: 0
Thanked 0 Times in 0 Posts
Default Front end Vs Back end

I'm working with VBA 97. Can someone explain the difference between the front end and back end. Any information would be very helpful.

Thanks Rick


Reply With Quote
  #2 (permalink)  
Old August 2nd, 2004, 03:47 PM
Friend of Wrox
 
Join Date: Jun 2003
Location: , , USA.
Posts: 1,093
Thanks: 1
Thanked 12 Times in 11 Posts
Default

Hi Ric,

I'll have a go. Since a picture is always worth 1K words:

1. Create an Access database to play with and import any old tables, queries, forms, reports and modules into it, or any combination of the above.

2. From the Tools menu select Tools -> Database Utilities -> Database Splitter

3. Click Split Database in the Database Splitter dialog.

4. In the Create Backend-Database dialog select a folder to place your backend db in. The default name of the backend db is YourDatabaseName_be.mdb. Click Split.

You'll notice that all the tables in your original database are now linked tables. If you select Tools -> Database Utilities -> Linked Table Manager, you'll see that the tables are all linked to the new back-end database you created. Your original database containing the linked tables is your new front-end application.

What you've done by creating a "frontend" and "backend" is both logically and physically seperate your database's application objects (queries, forms, reports, macros, modules) from your database's data objects (in the case of Access, tables).

This kind of design has all kinds of advantages. The two most prominant are:

1. Multi-user Applications: You can now place your new backend db on a file server, and multiple instances of your front-end application can access its data.

2. Ease of maintenance: If you modify objects in the front-end, it is much easier to redistribute the new version of your front-end file if it is detached from your data tables.

Splitting the (non-trivial) Access databases you work on is generally something you'll always want to do. (Table-linking is optional, other connection options are available).

The front-end/back-end distinction is roughly analogous to the client/server distinction but shouldn't be confused with it. The new front-end/back-end application I just walked you through creating is not a client/sever application. The back-end file is not a database server that provides services (like query processing) to a front-end "client" (service requester) application - it is still just a file data store managed by the Jet engine. All query processing still occurs in your front-end application. However, Access can be used to build a front-end client in a true client/server application. In this case, though, the Access front-end would connect to, and request services from, an actual database server (like SQL Server, Oracle, MySql, etc.)

Access Data Projects, and Access .mdb applications that use pass-through queries to talk to a database server, are true client front-ends applications. Access can't be used as a back-end in a client/server application.

There is certainly a lot more to be said about all this, but I hope that helps get you started.

HTH,

Bob


Reply With Quote
  #3 (permalink)  
Old August 2nd, 2004, 05:33 PM
Authorized User
 
Join Date: Jul 2004
Location: , , .
Posts: 14
Thanks: 0
Thanked 0 Times in 0 Posts
Default

Thanks Bob, this helped tremendously ....

Ric

Reply With Quote
  #4 (permalink)  
Old May 27th, 2008, 02:36 PM
Registered User
 
Join Date: May 2008
Location: , , .
Posts: 1
Thanks: 0
Thanked 0 Times in 0 Posts
Default

Hi Bob, I have a similar question, How would you set up a front end/back end with a security enhanced database? i want my users to have to log in and obviously each user would have access to different parts of the database...

thanks
-alexis


Quote:
quote:Originally posted by Bob Bedell
 Hi Ric,

I'll have a go. Since a picture is always worth 1K words:

1. Create an Access database to play with and import any old tables, queries, forms, reports and modules into it, or any combination of the above.

2. From the Tools menu select Tools -> Database Utilities -> Database Splitter

3. Click Split Database in the Database Splitter dialog.

4. In the Create Backend-Database dialog select a folder to place your backend db in. The default name of the backend db is YourDatabaseName_be.mdb. Click Split.

You'll notice that all the tables in your original database are now linked tables. If you select Tools -> Database Utilities -> Linked Table Manager, you'll see that the tables are all linked to the new back-end database you created. Your original database containing the linked tables is your new front-end application.

What you've done by creating a "frontend" and "backend" is both logically and physically seperate your database's application objects (queries, forms, reports, macros, modules) from your database's data objects (in the case of Access, tables).

This kind of design has all kinds of advantages. The two most prominant are:

1. Multi-user Applications: You can now place your new backend db on a file server, and multiple instances of your front-end application can access its data.

2. Ease of maintenance: If you modify objects in the front-end, it is much easier to redistribute the new version of your front-end file if it is detached from your data tables.

Splitting the (non-trivial) Access databases you work on is generally something you'll always want to do. (Table-linking is optional, other connection options are available).

The front-end/back-end distinction is roughly analogous to the client/server distinction but shouldn't be confused with it. The new front-end/back-end application I just walked you through creating is not a client/sever application. The back-end file is not a database server that provides services (like query processing) to a front-end "client" (service requester) application - it is still just a file data store managed by the Jet engine. All query processing still occurs in your front-end application. However, Access can be used to build a front-end client in a true client/server application. In this case, though, the Access front-end would connect to, and request services from, an actual database server (like SQL Server, Oracle, MySql, etc.)

Access Data Projects, and Access .mdb applications that use pass-through queries to talk to a database server, are true client front-ends applications. Access can't be used as a back-end in a client/server application.

There is certainly a lot more to be said about all this, but I hope that helps get you started.

HTH,

Bob


Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Ms Access front End with Oracle 10g Back End rahul123 Oracle 1 July 9th, 2007 01:03 AM
Oracle back-end MS-Access 2003 client front-end Corey Access 2 February 16th, 2007 08:31 AM
Oracle Back End - MS Access Front End - Multi User ckaliveas Oracle 1 February 1st, 2007 06:00 AM
creating Front - End anukagni Access 8 April 22nd, 2006 04:11 AM
Re-linking the front and back end Scripts82 Access VBA 2 February 24th, 2006 12:26 AM



All times are GMT -4. The time now is 04:59 AM.


Powered by vBulletin®
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
© 2013 John Wiley & Sons, Inc.