Description: If you try to edit an MS Access table using LO Base and an ODBC connection you get an error message saying the the bookmark is invalid. Steps to Reproduce: Use LO Base to connect via ODBC to an MS Access .accdb file using the Microsoft Access Driver version 16.000.15028.20050 ACEODBC.DLL Edit a record and then move off the record to commit the edit. Please watch this YouTube video: https://youtu.be/M_hqZegXcXM Actual Results: Error message blocking the edit of the record Expected Results: Record is edited Reproducible: Always User Profile Reset: Yes Additional Info: Please watch this video to see how to reproduce the bug: https://youtu.be/M_hqZegXcXM
Created attachment 179306 [details] Error message when editing an MS Access record using LO Base via ODBC
Have no Access and Windows here, but are you sure it is a bug of Base? I have searched for 'Access "not a valid bookmark"' and get many results. Some try to repair the database through ODBC-GUI, some says the file is corrupted …
MS Access ODBC driver is a very solid drive and I suspect it is a bug in Base. This is not a corruption issue with the MS Access database. This bug I believe is related to the other bug I filed: https://bugs.documentfoundation.org/show_bug.cgi?id=148343 You can replicate bug 148343 with Ubuntu. No need for Windows.
I confirm with 64-bit LO 7.4+ in 64 Win 7 with 64-bit Access Database Engine 2016. Should also be tested with 32-bit. Problem is that ODBC has this error and MS Access driver read-only bug 43187 so not usable at all.
Problem didn't exist with 32-bit Access Database Engine and LO. I set High because now 64-bit is usually used and users may not even think of 32/64 issue. Also because this shouldn't be a large problem. And because direct access also doesn't work so Access database not usable but relatively frequent.
Dear Claude von Roesgen, To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year. There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present. If you have time, please do the following: Test to see if the bug is still present with the latest version of LibreOffice from https://www.libreoffice.org/download/ If the bug is present, please leave a comment that includes the information from Help - About LibreOffice. If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a comment that includes the information from Help - About LibreOffice. Please DO NOT Update the version field Reply via email (please reply directly on the bug tracker) Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not appropriate in this case) If you want to do more to help you can test to see if your issue is a REGRESSION. To do so: 1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) from https://downloadarchive.documentfoundation.org/libreoffice/old/ 2. Test your bug 3. Leave a comment with your results. 4a. If the bug was present with 3.3 - set version to 'inherited from OOo'; 4b. If the bug was not present in 3.3 - add 'regression' to keyword Feel free to come ask questions or to say hello in our QA chat: https://web.libera.chat/?settings=#libreoffice-qa Thank you for helping us make LibreOffice even better for everyone! Warm Regards, QA Team MassPing-UntouchedBug
This bug still exists in 24.2.2
Created attachment 195559 [details] An empty Access database How can this bug be tested? There is no accdb test file here. With my own generated data, I see no problem: 1. Using Windows ODBC 64-bit applet, add a new user DSN; choose Microsoft Access Driver (*.mdb; *.accdb); on the ODBC Microsoft Access Setup page, click [Create...] and choose where to save the new accdb file. I attach an empty such file. 2. In LibreOffice, create a new ODB connected through ODBC to this DSN. 3. In LibreOffice Base, use Tools->SQL, and run these SQL commands: CREATE TABLE noPrimaryKey ( [str] VARCHAR ); CREATE TABLE hasPrimaryKey ( [id] INT NOT NULL PRIMARY KEY, [str] VARCHAR ); Note that they should be executed separately. Also note that [x] Show output of SELECT statements should be checked, otherwise you will see an error instead of success (but the table will be created). 4. Refresh tables (or reopen database), and try to edit tables. Both tables are editable for me using Version: 24.8.0.1 (X86_64) / LibreOffice Community Build ID: 6fd6cae02baed1e82d14ed2da1f2458092354dab CPU threads: 24; OS: Windows 11 X86_64 (10.0 build 22631); UI render: Skia/Vulkan; VCL: win Locale: en-US (ru_RU); UI: en-US Calc: CL threaded
Created attachment 195578 [details] The error window editing a field (In reply to Mike Kaganski from comment #8) > Created attachment 195559 [details] > An empty Access database > Both tables are editable for me using Version: 24.8.0.1 (X86_64) / > LibreOffice Community > Build ID: 6fd6cae02baed1e82d14ed2da1f2458092354dab > CPU threads: 24; OS: Windows 11 X86_64 (10.0 build 22631); UI render: > Skia/Vulkan; VCL: win > Locale: en-US (ru_RU); UI: en-US > Calc: CL threaded After I have followed al your steps to test the bug, and using your sample database (also a new created one), I follow the next adicional steps: 1 Add some registers to the table hasPrimaryKey, for example: id str --- -------- 1 A 2 B no problems till now 2 In table data view, I try to modify the first record, for example, set the str field to "Aa", the error message of this image appears, and it is not possible to change the data. I have tested on table hasPrimaryKey, because in Base usually a table without a primary key is not editable, although in this case it is possible to add data to both tables, with and without primary key (and in both cases it is not possible to modify existing records). ------ Version: 25.2.0.0.alpha0+ (X86_64) / LibreOffice Community Build ID: 233af54afb6e493c3538efe7c93d0f53f1b4c3ab CPU threads: 1; OS: Windows 10 X86_64 (10.0 build 19045); UI render: Skia/Raster; VCL: win Locale: es-ES (es_ES); UI: en-US Calc: threaded
This is NOTOURBUG. I filed MS issue at https://developercommunity.visualstudio.com/t/MS-Access-ODBC-64-bit-fails-SQLBulkOpera/10712541 ; it will likely be moved to an appropriate component (or closed), because I filed it as a Visual Studio bug, while it is indeed an Access bug, and I have no access to their Access bug tracker (or I don't know how to access it). Anyway, it shows a standalone C++ code that fails using 64-bit Access drivers, but succeeds using 32-bit drivers. Answering to "this shouldn't be a large problem" from comment 5, I can only say that guessing like that usually creates smiles at the hindsight ;-) We simply can't fix this ourselves.
A workaround is here: https://gerrit.libreoffice.org/c/core/+/171270
Mike Kaganski committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/e47197b4ef1753af4d005a6918c26e6a3d589c67 tdf#148367: avoid using SQLBulkOperations with SQL_UPDATE_BY_BOOKMARK It will be available in 25.2.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Mike Kaganski committed a patch related to this issue. It has been pushed to "libreoffice-24-8": https://git.libreoffice.org/core/commit/2b8ccebced9ebfcf2f86a13330e9f62c984f38f5 tdf#148367: avoid using SQLBulkOperations with SQL_UPDATE_BY_BOOKMARK It will be available in 24.8.1. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.