access runtime bugs

This page is intended to show a few bugs/flaws happening using access 2007 and 2010 runtime (with and without access 2010 SP1) AND windows 7 (SP1 and non-SP1). This is of course not exhaustive but it is sometimes a BIG bug. These flaws don't happen using win xp pro sp3 or win vista sp1 concerning access 2007 runtime v2 (access 2010 runtime has not been tested on vista / xp). The tests have been done in 3 environments, each time opening the same database:

Configuring test environment

The following registry keys have been added (14.0 for runtime 2010, 12.0 for runtime 2007):

Tests and samples are done on the .mdb file (not the mde), holding code and tables. The file format is access 2000 (as some users still use access 2000), and converting to last format didn't help anyway.
The registry keys have been added with and without the \Wow6432Node in the path, on access 2003 only setting security low was needed.

problem 1: footer becomes header - no code needed (access 2010 runtime, even with SP1 of a2K10)

Suppose you have a continuous form without header, a detail band and a footer. If you open this form on no data (empty table), footer goes top and buttons begin to move alone from top to bottom (2010 runtime was tested, really????).
access 2007 runtime

access 20010 runtime

Download sample!, just no data in table and move mouse over buttons.

problem 2: one form with many (identical subform) causes some subforms not to display (no vb code needed - just a few macros) (access 2010 full version and runtime, even with SP1 of a2K10)

To reproduce problem,
1. Set the date of your computer to Jan 12th, 2012 (just because sample mdb holds data from Jan 9th, 2012 to Feb 2012),
2. open this sample,
3. maximize window,
4. click Agenda button

access 2010

access 2000/2002/2003/2007/runtimes before 2010

To force it to display correctly in access 2010, either move the window or press F9. Perhaps MS should add "auto-f9" to the options :).

problem 3: error on Like with accentuated characters

In the following sample, type "Clé" in the text zone then "Rechercher" (search). It runs a query filtering where a field is like "Clé*".

Only 2 values are filtered but 8 names begin with Clé in the table. You can see it immediatly when running the query "Bugged", the parameter is in the like.
I couldn't find any reason explaining why 6 rows were not displayed and 2 were. This happens with any access version. It seems to be related with index and non-English character in a text field:

problem 4: on win 7 64 bits, mdb has to be compiled with access 2007

To reproduce the problem, start access 2003, create a blank database, put a table in it, then copy it to a machine where access 2007 runtime is installed.
Double clicking the file will cause a gpf when starting runtime if it is on win 7 64 bits (and that will not happen on win 7 32 bits). Open file with access 2007 32 bits (using network), close it, you can reopen it using runtime on win 7 64 bits without error, "great"! THIS IS CATASTROPHIC: suppose a customer has an mdb running fine in win/32, using any access <=2003 or even access runtime<=2007. The user buys a new computer using 64 bits windows (it will be the case soon on all computers). If the user wants to use runtime 2007 to run its existing application, he has to find a computer where access 2007 is installed to open its application once in order to be able to run it on its new computer. No, it is NOT a joke!

problem 5: access runtime 2010 64 bits

I wasn't able to run any application after installing access runtime 2010 64 bits on win 7 pro 64 bits (always an error at startup). No problem when replaced by runtime 2010 32 bits. Should I compile mdb on 64 bits?

problem 6, all access versions: bug in format function

Look at this code (dt is defined as date)
seldate = Format(Dt, "mm/dd/yyyy hh:nn:ss")

After execution, date holds 10/17/2011 00:00:00(month/day/year hour:min:sec) for most pc's, but if you set regional settings in control panel to French(Switzerland) for example, default date format becomes d.MM.yyyyn and Format function returns 10.17.2011 00:00:00... with dots instead of "/" even if slashes are hardcoded in format parameter.

Problem 7: If access 2000 is installed

Starting access 2000 will reset the access 2007 sandbox mode to value 3, causing macros not to run correctly. Strange to see an older version changing config of a newer version!

problem 8: Docmd.Quit to be replaced by application.Quit

I didn't find the cause, but in some case the Docmd.Quit triggers an error in access 2007 runtime on win7/64 bits when some forms are still opened (and some have an OnClose event, perhaps it is the cause). No error occurs on 32 bits version. Replacing Docmd.Quit by Application.Quit solves the issue.

problem 9: (bug or feature?) No export from a report to word

Using access, if you preview a report in run-time mode, you have a button in the toolbar to send it to word, where you can modify it. This icon is not present in access run-time, even is word is bought and installed, and can't be added because toolbar cannot be customized (this is something that was feasable with access 2000 runtime, but I couldn't find a way to customize toolbars and display them in access 2007). It is perhaps a feature (so not a bug), but the user loses one (important) functionnality.

Workaround: using access 2003, create a new toolbar using tools/customize/Toolbars, drag the buttons you need to the toolbar and import in in .mdb
After this, add this code in a form onload event:
If SysCmd(acSysCmdRuntime) Then
On Error Resume Next
Me.Toolbar = "toolbarName"
On Error GoTo 0
End If
and import the toolbar in the .mdb. I didn't find a way to import through vba without adding references to msoffice.

problem 10: continuous form with DCount and DLookup (2007 runtime) (a patch has been received for this one, unfortunately only for this one!)

If you have a continuous forms with in the detail some zones with ControlSource "=dcount(...)" or "=dlookup(...)", the zones are not computed on a2K7 runtime (if you are on win 7 sp1). This problem also occured on vista and was fixed by installing vista sp 1. On slow computers (virtual machine on a mac for example), you have the screen flickering every one minute (seems refresh is done on display by runtime 2007).
access 2003

access 2007 runtime

access 2010 runtime

On access 2007, the counts appear only (in detail and in footer):

Here is a sample to reproduce the problem. Strange, if you change the name of the field on the form [ID traitement] to [ID_Traitement], and do it also in the query ReqCountS´anceD, it works better, here is the patch. Would it be related to spaces in field names?
BUT the problem is not really solved:
MicroSoft support told me about known problems with DCount and DLookup and access 2007, and that an access 2007 sp3 / runtime v3 should arrive soon. However, I am able to reproduce such a problem using a recordset, without dlookup/dcount. It also happens if a zone from another form (background, even not hidden) is used to compute the expression (for example, if you filter on a zone from top form).
May 1st, 2011: a patch has been provided, you can download it here.