Can MS Access perform these function...?

J

JWhitehurst

Hello all. I have been programming for many years, mostly C/C#/Java/etc. and
MySQL or Oracle. However, I am now working with MS Access to create a very
simple database to help associates keep track of hours. I am quickly finding
that MS Access doesn't _appear_ to be able to handle what I want to do. I
figured I would ask here, before I just fall back on writing an application
in C# .NET that references the MS Access database.

Can MS Access do this:
1) I want the end user to not have to deal with the whole "database" idea -
just double click an icon, be greated with a GUI, perform actions, and quit.
Database is updated accordingly on backend. Is this possible? From all I
can see, a user has to open the Database file, then open the form that they
wish to use. I want it more automatic of presenting the GUI. This is what
is mostly leading me to write the application in .NET.

2) Is it possible to generate an up-to-date report from outside of the MS
Access application? Examples: Allow reports to be generated from within a
..NET application. I am picturing an MS Access DB object in .NET that then
lets me generate up-to-date reports that have been created/designed within
Access, and present me with a file (pdf?) of some sort - can .NET/Access do
this? Or would I need to generate reports within the .NET application by
hand (i.e., use queries to get data, but layout for printing manually)?

3) I had originally planned on using MS Access Page wizards/design tools to
just have the users use a webpage to enter their information. Unfortunately,
the Page object seems to be very limited in what it can do (compared to a
Form). Example: Pages cannot run Macros, etc. - is this right (I was hoping
it would convert macros to j/s or something).

Thank you for your help,
 
D

Douglas J. Steele

1) You have the ability to specify a form that should open when the
application is opened (under Tools | Startup). You can hide the database
window, and change what menu bar is presented when the application opens,
thus changing your user's experience completely.

2) Are you asking whether you can run reports that have been defined in an
MDB file without opening Access? Sort of. You can use Automation from
another client, but Access must exist on the workstation.

3) Access isn't a web product. Realistically, you need to build your
webpages in some other technology.
 
6

'69 Camaro

Hi.

To add to what Doug has already informed you:
I am quickly finding
that MS Access doesn't _appear_ to be able to handle what I want to do. I
figured I would ask here, before I just fall back on writing an application
in C# .NET that references the MS Access database.

Access is a RAD environment that allows you to produce front end
applications that would otherwise take you three to five times longer in
..Net. Do as much as you can within Access (even through Automation) to
manipulate objects, such as creating forms and reports.

Access has a steep learning curve, but a developer who knows Access like the
back of his hand can produce in minutes what will take several days in C#.
If this isn't just a one-time project and you might be expanding your skills
past Oracle and MySQL for future jobs, then it would be worth it for you to
take a few formal courses in Access development to find out what Access is
capable of in the hands of an experienced developer.
2) Is it possible to generate an up-to-date report from outside of the MS
Access application? Examples: Allow reports to be generated from within a
.NET application.

Yes. You'll need to automate Access, but you'll also need a good
understanding of the Access object model if you want to do more than just
open previously designed forms and reports for the user.
I am picturing an MS Access DB object in .NET that then
lets me generate up-to-date reports that have been created/designed within
Access, and present me with a file (pdf?) of some sort - can .NET/Access do
this?

Yes. The reports and the PDF file can be generated from within Access. You
may want to look at Stephen Lebans's ReportToPDF utility that will produce
the PDF file, even without having a PDF Printer driver installed on the
computer. For more information, please see the following Web page:

http://www.lebans.com/reporttopdf.htm
Or would I need to generate reports within the .NET application by
hand (i.e., use queries to get data, but layout for printing manually)?

Use Access's capabilities to quickly build and save queries and reports.
That's exactly what they were designed for.
3) I had originally planned on using MS Access Page wizards/design tools to
just have the users use a webpage to enter their information. Unfortunately,
the Page object seems to be very limited in what it can do (compared to a
Form).

Very few experienced Access developers bother with Data Access Pages,
because they're so limited in their capabilities. Terminal Server is one
option to connect to remote Access databases and allow use of Access objects,
such as bound forms, but Web access to databases is much more common. Web
developers are using ASP, ASP.Net, ColdFusion, and many other Web
technologies to access the data in a remote Access database. For more
information on connecting to remote databases, please see the following Web
page:

http://www.Access.QBuilt.com/html/articles.html#DBsOnTheWeb

HTH.
Gunny

See http://www.QBuilt.com for all your database needs.
See http://www.Access.QBuilt.com for Microsoft Access tips and tutorials.
http://www.Access.QBuilt.com/html/expert_contributors2.html for contact info.
 
N

Norman Yuan

See comments inline

JWhitehurst said:
Hello all. I have been programming for many years, mostly C/C#/Java/etc.
and
MySQL or Oracle. However, I am now working with MS Access to create a
very
simple database to help associates keep track of hours. I am quickly
finding
that MS Access doesn't _appear_ to be able to handle what I want to do. I
figured I would ask here, before I just fall back on writing an
application
in C# .NET that references the MS Access database.

Can MS Access do this:
1) I want the end user to not have to deal with the whole "database"
idea -
just double click an icon, be greated with a GUI, perform actions, and
quit.
Database is updated accordingly on backend. Is this possible? From all I
can see, a user has to open the Database file, then open the form that
they
wish to use. I want it more automatic of presenting the GUI. This is
what
is mostly leading me to write the application in .NET.

Yes, Access can do that. Actually that is the way Access as an desktop
application is supposed to be used. You do not let users to use Access as
you do as developer: open file, choose form in database window. You use
macro, VBA code, or startup option do give user a logical option of what to
do when they start your Access application (not just open a *.mdb file),
just as you do with a typicl Windows form application in .NET.

2) Is it possible to generate an up-to-date report from outside of the MS
Access application? Examples: Allow reports to be generated from within a
.NET application. I am picturing an MS Access DB object in .NET that then
lets me generate up-to-date reports that have been created/designed within
Access, and present me with a file (pdf?) of some sort - can .NET/Access
do
this? Or would I need to generate reports within the .NET application by
hand (i.e., use queries to get data, but layout for printing manually)?

Access is one of the best database report tools, if not the top 1. As all
other report tool, you need install that software tool for that type of
report. The same applied to Access. To use Access report, you need Access
installed. If you want report outside Access, you need find the report tool
suit to you. If you write you app without using Access, but write reports in
Access, then you can automate Access to manipulating the reports in Access
(opening for preview/print, modifying.... Note Access must be installed).

Access is a special type of application that can combine data and user
interface in a single file (*.mdb/*mde). When you talk .NET/Access
application, it means .NET front end app (GUI) and Jet back end database.
Actually, here is no Access involved, except for the file (*.mdb), and you
do not need Access installed. Even the *.mdb file contains forms, Reports,
VBA code..., they are useless.

As for presenting a PDF file of data view/report, there is no built-in stuff
in Access, nor in .NET IDE (VS2003/2005). Whether you use Access for your
application or not, you have provide your own solution. However, I've heard
next version of MS Office may have built-in PDF generation functionality. No
sure on this.
3) I had originally planned on using MS Access Page wizards/design tools
to
just have the users use a webpage to enter their information.
Unfortunately,
the Page object seems to be very limited in what it can do (compared to a
Form). Example: Pages cannot run Macros, etc. - is this right (I was
hoping
it would convert macros to j/s or something).

Thank you for your help,

Access's Data Access Page has not been popular, and may never be. On a LAN
environment, Access from front end is better that DAP, in a Web environment
(whether it is the Internet or Intranet), so many web app technologies that
are better that DAP. Not much point to use DAP in many cases.

All in all, Access may very well be suitable to the app you are to develop.
But it all comes to your skill/knowledge on Access. For most small scale,
two-pier (back end data and front end GUI) desktop app, Access may be the
fast tool that allows you to write least code. However, writing code in
Access is quite different from VB6/.NET and there are so many Access
specific features that a generic VB/,NET programmer needs to learn before
becomming proficient with Access developing
 
A

Albert D.Kallal

Can MS Access do this:
just double click an icon, be greated with a GUI, perform actions, and
quit.

Take a read of the following blurb by me......

Note CAREFULLY the screen shots towards the end of the web article...they
are all ms-access, and none
of the ms-access interface is visible...

http://www.members.shaw.ca/AlbertKallal/Articles/UseAbility/UserFriendly.htm

Note that you can built custom menus, and complete hide the whole ms-access
interface without writing one line of code....

Of course, for the most part, those menu items *will* call code that you
write.....

as for some other interface examples and ideas...take a read of the
following screens....

http://www.members.shaw.ca/AlbertKallal/Articles/Grid.htm


While ms-access is not a oop environment...you *can* create class
objects..and I use them all the time...you can read about this idea here
http://www.members.shaw.ca/AlbertKallal/Articles/WhyClass.html

I really can't add much to the other quality answers you received so far in
this post, except that unless you are willing to spend considerable time
learning the product, you might be better off using tools that you know now.
As others mentioned, for creating most business applications, ms-access will
save you a factor or 3 or even more times in terms of development time and
cost..but this advantage ONLY occurs when you learned the product (and,...it
does have a steeper learning curve then vb6 for example).

You need some books, or courses to help you if you are going to develop
anything that is going to take some effort here....
 
J

JWhitehurst

Thank you to everybody who replied. It seems that my simple application can
easily be written in MS Access afterall. I am so glad I asked before going
crazy in C#.

Albert, a special thanks for providing me those examples/screenshots. I am
so glad to see that MS Access does allow for the "administration" gui to be
hidden, and just present the user with the GUI elements that I want.

It is good to know that I wasn't just missing something, the Access web
development tools are very basic. Should I need web interface in the future,
I will use ASP. But now that I know the GUI can be customized so well, I
will use Forms.

Thanks again to all of you, I will keep you posted of my progress.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top