Solved

MS Access Application Program

Posted on 2011-03-21
9
594 Views
Last Modified: 2012-05-11
I need an application program written to input data and retrieve reports from a MS Access database. All users have a copy of MS Access 2000 but the development will be done in a newer version. However the program design nor programmer has not been identified yet. If MS Access 2010 is used to develop the application, can it run under MS Access 2000 or will a runtime license
need to be purchased?  
0
Comment
Question by:adhudgens
  • 3
  • 2
  • 2
  • +2
9 Comments
 
LVL 1

Expert Comment

by:MSDBQ
ID: 35180565
In my opinion; you’re building the database in a 2007 or 2010 would allow you to input data and retrieve reports , but running it in 2000 would lose some of the functionality so why not just build it in 2000? Technology has changed dramatically since 2000 was released.  How would a runtime license assist?
0
 

Author Comment

by:adhudgens
ID: 35180924
I’m looking for a programmer to build the application and most people I have talked to would like to build it in a newer version. This is a very simple application and low budget, so the cost of upgrading ten software packages from 2000 to 2010 would be cost prohibitive. I don’t know the cost of the runtime license nor what development software would be required. This has not been offered by the two programmers I have spoken to, but I think it is an option.
0
 
LVL 26

Expert Comment

by:Nick67
ID: 35182122
0
 
LVL 84
ID: 35182582
Note however that running multiple versions of Access on the same machine can cause troubles - even if your running Access 2000 Retail version + Access 2010 Runtime version. There can be significant delays when switching between the two versions, and in some cases your 2010 Runtime version can become the "registered" version (i.e. ALL database on the machine would open with the 2010 runtime).

There are options that can eliminate this scenario, but they involve either (a) modifying all shortcuts to point to the correct version of Access or (b) using Sagekey (www.sagekey.com) to deploy your new application and runtime.
0
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 
LVL 26

Expert Comment

by:Nick67
ID: 35183044
There is definitely that heavy danger.
The other one that I encounter frequently in a mixed Acess 2003/2007/2010 environment is code references to the
MS Access x.0 or
MS Office x.0 libraries

The 2003 version is 11.0.  Touch the file with Access 2007 and it silent moves up to 12.0
Access 2010 goes to 14.0

Open it again with 2003.  Bang!
All the code comes to a halt because of the missing reference to 12.0 or 14.0
You CANNOT VBA code around this.
You can VBA code references--but you can't fix a broken reference :(

Interoperability of down-level full versions or run-times is tricky.
It has been since Acess 97 at least.
LSMConsulting is right to point out that there are pitfalls.

Licencing fees?  Well, there aren't any of those.

You could conceivably have someone develop it in Access 2010, finalize it, and then open it in Access 2000.
There'd be a bunch of Bangs! -- which could be fixed by the developer, and then pushed out to production.

Most of the new functions of 2007/2010 aren't really something that a sane person wants to use.
OTOH, the newer versions form and reports wizards do remove a lot of scutwork--and those forms work fine down-level
0
 
LVL 84
ID: 35187882
<You can VBA code references--but you can't fix a broken reference :(>

Sure you can. You can use the References collection and determine which are missing/broken, and fix those. The trouble is knowing what to fix them with (i.e. if the Office reference is broken, what version of Office do you use to fix that reference, how to you find it on the machine, etc etc).

0
 
LVL 8

Accepted Solution

by:
agillanders earned 250 total points
ID: 35188085
One relatively simple solution is to have the developer build the application in VB or C# and use it to programmatically connect to the the Jet database (the underlying engine behind Access). If you really need to use the data in Access itself then build the tables etc in 2003 and use linked tables to connect to the data from a 2007/2010 front end. The front end will be silently updated to the users version but the data itself stays detached and so unharmed.

Both of these solutions do, of course, introduce a file management issue becasue the application/front end is now a separate file to the data. But it does fence the data resource to the technology of the owner/developer but allow clients to be less restricted. Especially if the linked tables are done via ODBC.

For example I have built a number of Access 2007/2010 front ends for SQL Server databases. The linked tables in Access are ODBC connections to the remote SQL Server but then everything works fine for both 2007 and 2010 clients. I even use intermediate local tables to allow download/upload from/to the server allowing offline client use with the master data remaining on the server.

Alistair

0
 
LVL 26

Expert Comment

by:Nick67
ID: 35190871
@LSMConsulting
<Sure you can. >

Trust me.  I KNOW exactly what references break and exactly what it should take to fix them.
The following code looks like it should play nice, but the minute VBA tries to touch the broken reference, in Access 2003, it goes BANG!
I actually PHONED MS about this.
No joy.

You can mess with working references all you like, but you can't fix or remove broken ones.
My question to MS was -- what exactly is the point of ISBroken if you can't then DO anything about it?
Sigh.
Public Function TestFix()
Dim hadbroken As Boolean
Dim myref As Reference

hadbroken = False
For Each myref In Application.References
    If myref.IsBroken Then
        MsgBox myref.Guid
    End If
Next myref

MsgBox hadbroken

If hadbroken = True Then
Application.References.AddFromGuid "{00020813-0000-0000-C000-000000000046}", 1, 5
Application.References.AddFromGuid "{00062FFF-0000-0000-C000-000000000046}", 9, 2
End If

end function

Public Function TestKill()
For Each myref In Access.References
    Select Case True
        Case myref.Guid = "{00020813-0000-0000-C000-000000000046}"
            If myref.Minor <> 5 Then
                Access.References.Remove References("Excel")
                TestKill = True
            End If
        Case myref.Guid = "{00062FFF-0000-0000-C000-000000000046}"
            If myref.Minor <> 2 Then
                Access.References.Remove References("Outlook")
                TestKill = True
            End If
    End Select
Next myref

End Function

Open in new window

0
 

Author Closing Comment

by:adhudgens
ID: 35192805
Thank you for the help!
0

Featured Post

Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

Join & Write a Comment

Suggested Solutions

A short article about problems I had with the new location API and permissions in Marshmallow
If you’re thinking to yourself “That description sounds a lot like two people doing the work that one could accomplish,” you’re not alone.
Learn how to number pages in an Access report over each group. Activate two pass printing by referencing the pages property: Add code to the Page Footers OnFormat event to capture the pages as there occur for each group. Use the pages property to …
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …

706 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now