https://bugs.documentfoundation.org/show_bug.cgi?id=118112

--- Comment #75 from Howard Johnson <[email protected]> ---
SUMMARY OF THIS BUG AND HOW TO FIX IT

PROBLEM:

Some time ago subforms linking (forms that have subforms) got broken in
existing, working *.odb files when LO was revised, i.e. the newer LO version
permanently broke these existing older *.odb files.  

Newly created LO subforms don't have this problem.  Only older *.odb files run
on newer LO.  

Newer LO versions don't fix the older subforms.  So your older base subforms
are forever broken unless and until you manually fix them.

>>>> To fix them you have to manually edit xml in them, as described below.


EXAMPLE: 

In my case I got this error message: 

    Could not set parameter at position C1 (values was 7)
    Query - conn:73(M)  - "SELECT * FROM `engine_maintenance`.`log, vehicle
maintance` WHERE ( `engine_maintenance`.`log, vehicle maintance`.`Equipment ID`
= :link_from_Equipment_ID ) ORDER BY `Date` ASC" at
./connectivity/source/drivers/jdbc/Object.cxx:173

The problem is in this clause:

    WHERE ( `engine_maintenance`.`log, vehicle maintance`.`Equipment ID` =
:link_from_Equipment_ID )

And specifically, but don't quote me on this, in the 

    ":link...".


SOLUTION:

You fix your .odb files one of several ways.  The method I used was described
above in #24 by Robert Großkopf:

    https://bugs.documentfoundation.org/show_bug.cgi?id=118112#c24

0) Made a backup copy of my broken database file, let's call it foo.odb
1) I opened this foo.odb with Archive Manager (in GUI).  
2) Right clicked on settings.xml and clicked Extract. Keep this screen open.
3) Opened the extracted settings.xml with kate to edit it.
4) Searched for the string; db:parameter-name-substitution="false"
5) Deleted the text: db:parameter-name-substitution="false"
6) Saved settings.xml, and closed kate.
7) Returned to the Archive Manager screen.
8) Dragged my updated settings.xml into the still open Archive Manager screen,
thus replacing settings.xml with the new one.
9) Opened foo.odb with LO and now the subform works properly again.

(There is also a "macro" talked about as a workaround, but the description of
it and how to use it is obscure, at least to me, and the link to info on it is
crossed out above, further obscuring it.)


_____
FEEDBACK!

Breaking older things is not a best practice for any software development. It
would be one thing to break it and also have the newer versions detect the
problem and fix it, but that's not what happened.  

Few I think will ever find this bug log and successfully apply the fixes
needed. I for one, waited for years to see if this bug would ever get fixed,
all the while staying with an older version of LO which worked properly. Every
time I tried to update LO I would run into this stupid problem again. Anger
built but it served no purpose.  

Finally, desperately taking another look at this I found this huge bug log
above, and was able to figure out how to make my older databases work again.  

Thank you Robert for your steps to fix this above and restated again here at
the current bottom of this log, in hopes it might make it easier to fix one's
database files

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to