Results 1 to 11 of 11
  1. #1
    Join Date
    Apr 2009
    Posts
    4

    Unanswered: Is Access the Correct Choice?

    I am new to database development. I took a class in Access several years back and found it very easy to work with. I have come up with an idea to develop a database solution to distribute and sell via download on the internet. I have Office 2000 and Visual Studio 6.0 to produce the database.

    My question is pretty general. I have up to this point developed only simple databases for personal use. This would be a more involved project and I would want to distribute it to folks online via download and make the use of the database dependent on an individually purchased user key.

    Is Access the right choice for such a project, or should I be developing something like this in Visual Basic instead? I am more familiar with Access, but I have done a little with VB as well.

    Thanks in advance for all of your help and suggestions.

  2. #2
    Join Date
    Dec 2004
    Location
    Madison, WI
    Posts
    3,926
    I like VB because you can make executables and don't need the MSAccess runtime file but I also like MSAccess because I can build the entire application (including the backend tables) within it. With VB, you still need some kind of backend to hold the data (which means the customer would need MSAccess, SQL Server, MySQL, etc...) If no tables were required (which is unlikely), I'd say go with VB and not have to worry about if the user has MSAccess or distributing the MSAccess runtime file with your app.

    Most companies have MSAccess so it may not be an issue but it's something to keep in mind. You'll also need to consider what version of MSAccess that particular customer may have (ie. you develop the app in 2007 and the customer only has 2000 so you need to convert to 2000.)

    I personally like to develop in MSAccess because like you discovered, it's quick and easy. Depending on if the application is going to be used extensively by multiple users, I'll encourage the customer to use SQL Server (Express which is free or non-free version) or MySQL. Then I just make an mde and deploy it to the customer. But setting up SQL Server or MySQL would most likely mean a trip to the customer's site unless they already have it setup.

    A lot can depend on the customers environment.
    Last edited by pkstormy; 04-17-09 at 20:00.
    Expert Database Programming
    MSAccess since 1.0, SQL Server since 6.5, Visual Basic (5.0, 6.0)

  3. #3
    Join Date
    Nov 2004
    Location
    out on a limb
    Posts
    13,692
    Provided Answers: 59
    If you have Office 200 and VS 6 then I'd probably suggest using VB or C#. If you are startign form near scratch I'd suggest C#.

    however if you know all your customers have Access then developing in Access may be a good call. hwoever to get Access to the stage where ti can be deployed on customer sites in a secure and robust manner can be a bit tricky, its a little easier if you use a more traditional language such as VB or C#

    Another option might be to accquire (say) a student version of the current visual studio and move to the .net environment
    I'd rather be riding on the Tiger 800 or the Norton

  4. #4
    Join Date
    Apr 2009
    Posts
    4
    Thanks for the responses! I am thinking that Access may be the easier path for me, since I am already more familiar with it. I will definitely need to develop tables to work the the data as well, again favoring Access.

    I am looking at making this an application that could be made available to customers via download or by purchasing a CD with the database on it. In either case I would want to require the to use a license key. Maybe I would also consider making a trial version available via download.

    I know that the security aspects of working with Access are addressed in a FAQ. I wonder if in practice Access can be made secure for this kind of purpose. I am also curious how resistant to user introduced bugs an Access database might be. It appears that this is a big subject in the Security FAQ.

    Again, thanks in advance for the advice.

  5. #5
    Join Date
    Dec 2004
    Location
    Madison, WI
    Posts
    3,926
    Just remember that at some point, you'll probably need to make updates to the MSAccess application. I might suggest splitting the frontend/backend so that you don't need to worry about the data when making changes and then just simply need to deploy a new frontend only (unless you've made table design changes in which case you'll need to do something so the user keeps their current data.)

    As far as security, I personally like to have a "SysUser" type table which holds the LoginID's of each user using the application (which the user can modify via a form.) I'll then use the GetUser routine (in the code bank) to grab the current LoginID name and then code accordingly based upon the permissions for that user in the "SysUser" table (so ultimatly, the "admin" type users themselves controls permissions of other users in the "SysUser" table). Again, see the codebank for how to do this (http://www.dbforums.com/6332819-post68.html) You can also consider using MSAccess security but this can sometimes be a pain.
    Last edited by pkstormy; 04-19-09 at 12:11.
    Expert Database Programming
    MSAccess since 1.0, SQL Server since 6.5, Visual Basic (5.0, 6.0)

  6. #6
    Join Date
    Apr 2009
    Posts
    4
    Interesting response. I looked at the link and downloaded the files. Couldn't open one of them due to my version being Access 2000. I am wondering if the runtime version of Access 2007 would allow me to open that.

    I should repeat here that I am planning to distribute my database to individuals and not those on a network. I don't know if that changes the approach at all.

    Is the runtime version of Access everything a user needs to run a database without anything else installed?

    Also, what would you recommend as a book or books on the subject? I know there are lots out there. I have the Access 97 Bible, which appears to be pretty good, but is obviously a bit out of date.

  7. #7
    Join Date
    Nov 2007
    Location
    Adelaide, South Australia
    Posts
    4,049
    Is the runtime version of Access everything a user needs to run a database without anything else installed?
    Depends on the database you're running, but normally, yes.

    However, installing the runtime version of access is out of some people's reach and is completely undesirable for others and all too hard for yet others. If you have a real choice, I would go with something that does not require RTA.
    Owner and Manager of
    CypherBYTE, Microsoft Access Development Specialists.
    Microsoft Access MCP.
    And all around nice guy!


    "Heck it's something understood by accountants ... so it can't be 'that' difficult..." -- Healdem
    "...teach a man to code and he'll be frustrated for life! " -- georgev

  8. #8
    Join Date
    Apr 2009
    Posts
    4
    Quote Originally Posted by StarTrekker
    I would go with something that does not require RTA.

    Such as VB?

  9. #9
    Join Date
    Dec 2004
    Location
    Madison, WI
    Posts
    3,926
    Quote Originally Posted by dBShwang
    Also, what would you recommend as a book or books on the subject? I know there are lots out there. I have the Access 97 Bible, which appears to be pretty good, but is obviously a bit out of date.
    MSAccess Developers Book by Sybex/Ken Getz (I like the 2000 version book the best) Lots of goodies on the cd with the book and best of all - you don't need to run an "install" routine to use the examples! Just open the mdb file (from the cd) and look at the code.
    Last edited by pkstormy; 04-24-09 at 21:36.
    Expert Database Programming
    MSAccess since 1.0, SQL Server since 6.5, Visual Basic (5.0, 6.0)

  10. #10
    Join Date
    Nov 2004
    Location
    out on a limb
    Posts
    13,692
    Provided Answers: 59
    +1 on Access Developers Handbooks
    I'd rather be riding on the Tiger 800 or the Norton

  11. #11
    Join Date
    Nov 2007
    Location
    Adelaide, South Australia
    Posts
    4,049
    If I was distributing something globally, I would not want to expect users to install the right version of RTA. I would go with either PHP/MySQL or something like VB to do the job since you can just run/install it and users won't get hung up on MS Access issues.
    Owner and Manager of
    CypherBYTE, Microsoft Access Development Specialists.
    Microsoft Access MCP.
    And all around nice guy!


    "Heck it's something understood by accountants ... so it can't be 'that' difficult..." -- Healdem
    "...teach a man to code and he'll be frustrated for life! " -- georgev

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •