Questions

Use of Access 2007 for commercial application?

+
0 Votes
Locked

Use of Access 2007 for commercial application?

CKOrganizer
I've created a product in Access 2007. It was originally to be a prototype, but based on my research, I'm rethinking this and wondering if Access 2007 is powerful enough to be used as the first commercial app. Single instance license, CD or flash drive. If so, I'll need advice on security issues, installation, registration, updates, etc. Any sugestions?
  • +
    0 Votes
    BFilmFan

    Access is a flat database for very light use.

    A commercial application should be built on a relational database, such as SQL.

    +
    0 Votes
    CKOrganizer

    End user for this version would be minimally PC knowledgeable individual person who is now possibly using combination of Excel, Word, sticky notes. No multi-users. No huge database.

    +
    0 Votes
    Tony Hopkinson

    Or is it an application wtitten in something else that has an mdb as it's backend?

    If the latter, switch to sql express, or CE Compact. It's not just huge that is a problem, access will not scale, deploying database file on a sever and app on a client gives you all sorts of problems. It's admin tools are pathetic, it's not multi user in any meaningful way and it's security/permissions are outright awful.
    It also has a bad habit of blowing up and or corrupting the mdb file.

    It's a desktop power user tool, and a very good one. As a general application back end, though it sucks. People use it because it's there, not because it's any good.

    It it's just a few tables and no real complexity in terms of schema, you could choose to use xml, even deity forfend excel...

    +
    0 Votes
    GruntingDwarf

    ...Yes! Access *is* a relational db :-)

    Hyperboles aside, I might agree Access capabilities are limited to non-large-scale systems.
    But in general, do you think they'd release a 2007 version that is uncapable of handling commercial applications at all?

    IMO, Access is well suited to small/medium scale applications. From a programming standpoint, VBA won't make you miss the flexibility of sqlserver storedprocs.

    You know, it's just that there's such a big business going on - they'll get you to migrate everything to sqlserver.
    As you depict it, I'd just stick to Access and go for the best of it.

    MsgBox "Have a nice year.", vbExclamation, vbYouToo

    +
    0 Votes
    CKOrganizer

    I want to use runtime so the user doesn't have to go out and buy Access. The single user hits the 35+ population - one license per family. Desktop app only. It's really a SMALL application. I just want to be able to support it and protect it.

    +
    0 Votes
    Tony Hopkinson

    Do you want to encrypt the file, so ther code can't read it.

    Do you want to sell securing it from other users of the machine, ie have it's own user name and password?

    Do you want to provide an assist for deploying the access run time.

    Have you investigated deployment over say XP and Vista, perhaps even older versions. If you are deploying on Vista, where are you putting the data. If they have more tahn one profile, should is be profile specific, or across the machine.

    Will UAC come and haunt you?

    Support for backing up the db.

    Given you are single uer stand alone (nothing to do with client server those !) you biggest potential problem with access is it's habit of growing the mdb file.

    If you delete a record the file does not shrink, but if you add one and there's no room it will grow. You can do a compact and repair to get rid of that. But you might only want to put the effort into that as a feature if there is a lot of adding and deleting (particularly if there are blobs in there).

    Bearing in mind this is basic user's PC, what happens to your app if some eejit deletes or moves the database.
    Drops dead, not start at all, ask for the new location, create a blank one....

    Another point is you don't have to make all these decisions in version 1.
    You need to have enough value in there so that version 1.1 will be welcomed for a small remuneration.

    HtHs

    +
    0 Votes
    CKOrganizer

    1. Yes, want to encrypt.
    2. Yes, username/password
    3. Yes, assist for deployment of runtime, registering, updates
    4. XP yes, Vista, no, so UAC not issue right now.
    5. Yes, backup/restore capability
    6. Agreed on Version 1. Want to generate interest, which I believe it will...but want to protect it in the process (is already trademarked and copyrighted).
    REALLY appreciate your feedback. Can you direct me to someone who can help me through these issues?

    +
    0 Votes
    Tony Hopkinson

    There are a number of access experts who float about on here.

    User name password is something you can set up in access. Encryption might be there.

    Deployment, first you'll need to pick a tool, InstallShield or some such and then work out specific issues. Is the MDac up to date, run time already there etc. Repair option.

    Backing up and compact and repair should be just a case of writing a bit of VBA and adding a menu option / button.

    Glad to help and it's nice to see some one who chooses access trying to do it professionally, many don't.

    Susan Harkins is TR's resident access blogger, she's done lots of articles/how tos .
    If you type her name in the search box, there's loads of stuff.

    Might save you asking questions that have already been answered elsewhere. You will find a lot of stuff about when not to use access (some from myself ) , but you seem to have kept in bounds, seeing as it's single user, standalone, and low volume.

    +
    0 Votes
    ssharkins Contributor

    Please purchase FROM PROGRAM TO PRODUCT by Rocky Smolin -- I think you'll find it invaluable.

    +
    0 Votes
    CKOrganizer

    Will do.

  • +
    0 Votes
    BFilmFan

    Access is a flat database for very light use.

    A commercial application should be built on a relational database, such as SQL.

    +
    0 Votes
    CKOrganizer

    End user for this version would be minimally PC knowledgeable individual person who is now possibly using combination of Excel, Word, sticky notes. No multi-users. No huge database.

    +
    0 Votes
    Tony Hopkinson

    Or is it an application wtitten in something else that has an mdb as it's backend?

    If the latter, switch to sql express, or CE Compact. It's not just huge that is a problem, access will not scale, deploying database file on a sever and app on a client gives you all sorts of problems. It's admin tools are pathetic, it's not multi user in any meaningful way and it's security/permissions are outright awful.
    It also has a bad habit of blowing up and or corrupting the mdb file.

    It's a desktop power user tool, and a very good one. As a general application back end, though it sucks. People use it because it's there, not because it's any good.

    It it's just a few tables and no real complexity in terms of schema, you could choose to use xml, even deity forfend excel...

    +
    0 Votes
    GruntingDwarf

    ...Yes! Access *is* a relational db :-)

    Hyperboles aside, I might agree Access capabilities are limited to non-large-scale systems.
    But in general, do you think they'd release a 2007 version that is uncapable of handling commercial applications at all?

    IMO, Access is well suited to small/medium scale applications. From a programming standpoint, VBA won't make you miss the flexibility of sqlserver storedprocs.

    You know, it's just that there's such a big business going on - they'll get you to migrate everything to sqlserver.
    As you depict it, I'd just stick to Access and go for the best of it.

    MsgBox "Have a nice year.", vbExclamation, vbYouToo

    +
    0 Votes
    CKOrganizer

    I want to use runtime so the user doesn't have to go out and buy Access. The single user hits the 35+ population - one license per family. Desktop app only. It's really a SMALL application. I just want to be able to support it and protect it.

    +
    0 Votes
    Tony Hopkinson

    Do you want to encrypt the file, so ther code can't read it.

    Do you want to sell securing it from other users of the machine, ie have it's own user name and password?

    Do you want to provide an assist for deploying the access run time.

    Have you investigated deployment over say XP and Vista, perhaps even older versions. If you are deploying on Vista, where are you putting the data. If they have more tahn one profile, should is be profile specific, or across the machine.

    Will UAC come and haunt you?

    Support for backing up the db.

    Given you are single uer stand alone (nothing to do with client server those !) you biggest potential problem with access is it's habit of growing the mdb file.

    If you delete a record the file does not shrink, but if you add one and there's no room it will grow. You can do a compact and repair to get rid of that. But you might only want to put the effort into that as a feature if there is a lot of adding and deleting (particularly if there are blobs in there).

    Bearing in mind this is basic user's PC, what happens to your app if some eejit deletes or moves the database.
    Drops dead, not start at all, ask for the new location, create a blank one....

    Another point is you don't have to make all these decisions in version 1.
    You need to have enough value in there so that version 1.1 will be welcomed for a small remuneration.

    HtHs

    +
    0 Votes
    CKOrganizer

    1. Yes, want to encrypt.
    2. Yes, username/password
    3. Yes, assist for deployment of runtime, registering, updates
    4. XP yes, Vista, no, so UAC not issue right now.
    5. Yes, backup/restore capability
    6. Agreed on Version 1. Want to generate interest, which I believe it will...but want to protect it in the process (is already trademarked and copyrighted).
    REALLY appreciate your feedback. Can you direct me to someone who can help me through these issues?

    +
    0 Votes
    Tony Hopkinson

    There are a number of access experts who float about on here.

    User name password is something you can set up in access. Encryption might be there.

    Deployment, first you'll need to pick a tool, InstallShield or some such and then work out specific issues. Is the MDac up to date, run time already there etc. Repair option.

    Backing up and compact and repair should be just a case of writing a bit of VBA and adding a menu option / button.

    Glad to help and it's nice to see some one who chooses access trying to do it professionally, many don't.

    Susan Harkins is TR's resident access blogger, she's done lots of articles/how tos .
    If you type her name in the search box, there's loads of stuff.

    Might save you asking questions that have already been answered elsewhere. You will find a lot of stuff about when not to use access (some from myself ) , but you seem to have kept in bounds, seeing as it's single user, standalone, and low volume.

    +
    0 Votes
    ssharkins Contributor

    Please purchase FROM PROGRAM TO PRODUCT by Rocky Smolin -- I think you'll find it invaluable.

    +
    0 Votes
    CKOrganizer

    Will do.