Monday, February 13, 2012

Further to my last message reporting the bug in connecting LibreOffice Base (ver 3.4.5) in Windows to MS Access database, below are screen shot showing the bug.

For demonstrating this bug, I have created an very simple MS Access 2003 database as with a table called ListOfNumbers containing 20 records (numbers from 100 to 119) as shown here:

Having got the MS Access database, I then create a LibreOffice Base using MS Access connectivity as shown here:

Opening the ListOfNumbers in LibreOffice shows the missing first record showing only from 101 to 119, reporting only 19 records - one short! Notice the record that is missing.

The record is actually retrieved in the recordset, only not displayed. If you sort the record set in descending order, you will now see the missing last record (value 119) and the first record (value 100) is now displayed, as shown here:

That's the missing record is always the first record. This causes me to suspect that LibreOffice code fails to reconcile the differences in the bases of two different array convention; the Ole Automation Collection starts with 1 while the other more conventional one starts with zero.

Just to prove the MS Access is not faulty, I have created a different LibreOffice Base database but this time using ODBC connectivity with the MS Access ODBC driver and the result shown below reports no missing record.

Hence the only conclusion one can draw is a fault MS Access connectivity support from LibreOffice Base.