Apache OpenOffice (AOO) Bugzilla – Issue 113631
Some Fields Not Displaying Properly in Subforms
Last modified: 2017-05-20 10:22:42 UTC
Note that this may be related to (or possibly a duplicate) of Issue 113149. This is a hard one to explain. In OOO330m2 (and the latest Dev-3.4 build), there is a specific subform field that remains blank when it should not. I have a form called "Billing and Time Tracking", which works perfectly fine. This form is duplicated as a subform in a form called "Case Details". The forms allow the user to select the specific client by either selecting the client's name from a dropdown menu, or directly entering the client's number. If the name is selected from dropdown, the "Client ID" field automatically updates with the correct client ID number. If the client ID number is entered directly, the "Client Name" dropdown jumps to the correct name. (Both actually draw on the "ClientID" field in a table called "Client Details".) The code in the dropdown is this: SELECT "ClientName", "ClientID" FROM "ClientDetails" "ClientID" This works perfectly well in all stable versions of OOo. The new nightlies and milestones introduce an error where the dropdown works fine in the mail form, but remains blank in the subform. I'm attaching some screenshots that show what I'm talking about. It should be noted that the actual selection works just fine; if you select a name from the dropdown, it actually does adjust the client ID number. It just doesn't display in the form field. This issue occurs both in embedded database files and in database files accessed via the java connector.
Created attachment 70937 [details] Proper Display of Form Field in Main Form
Created attachment 70938 [details] Sub Form Sample Showing Blank Form Field
I can confirm it, tested on win7 in OOO320_m2. The problem in query parser: - open attached file - open Query1 on edit mode - run query all four name is John and ClientID is 0 - run query in SQL directly mode all four data correct Assign developer, set target milestone, maybe it is a blocker.
Created attachment 70941 [details] test database with query
I can add - if you remove the table alias the error clears - which is also a way of saying can confirm this issue with the query parser using OOO330m_2 / Ubuntu. -but as I say, if I change the query from SELECT "Name", "ClientID" FROM "Clients" "ClientID" to SELECT "Name", "ClientID" FROM "Clients" or even SELECT "Name", "ClientID" FROM "Clients" AS "Clients" then this simple query, at least, runs as expected with escape processing enabled.
It may run without throwing any errors when you make those changes, but it still doesn't display correctly. :-) I tried it and got the same behaviour.
*** Issue 113724 has been marked as a duplicate of this issue. ***
*** Issue 114026 has been marked as a duplicate of this issue. ***
Fixed in cws fs33a
Please verify. Thanks. Double on included query.
verified in CWS fs33a find more information about this CWS, like when it is available in the master builds, in EIS, the Environment Information System: http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Path=DEV300%2Ffs33a
This is still not working in 3.3 build m8.
Can you add file explaining your problem?
I'm not sure what to add. The initial problem that I posted is still manifesting in the same way with the new build.
fs->steven_shelton: You said in the original description that this happens with an embedded database, too. Do you have such an embedded database, so we can reproduce your particular problem?
Created attachment 71821 [details] Database showing error in subforms (see "Case Details" form and "Client Name" on billing subform)
Attached! Open the CASE DETAILS form, and then in the "Notes & Billing" section (on the right-hand side) look where the "Client Name" and "Client ID" are displayed. The client number should correspond to the client name. However, the "Client Name" stays blank. You can select a name from the dropdown, but it blanks bank out when you tab off of the field. Note that the name often does display correctly when you first view it, but if you add a new record or change the client name, it blanks out again. Again, this works perfectly fine in all prior versions of OpenOffice.org.
Okay, opened the attached OOoLawLaw--Beta0.8.odb in OOO330.m8, double clicked the "Case Details" form. Immediately after opening, the "Client Name" list box in the "Notes & Billing" section displays "OUR LAW FIRM", but when moving to the next record, and back to the first one, it in fact displays an empty value. Hmm.
notes: 1. the issue encountered in the attached OOoLaw....odb doc is indeed completely different from the issue originally fixed. 2. The issue already happens in OOo 3.2.1 3. There is a workaround Because of 1., to not mix different things in one issue, I am going to submit another issue to take care of the problem, and close this one here, again. Because of 2. and 3., we won't have big chances to get an approval for 3.3 for this bug. Instead, I am going to fix this for 3.4. For the workaround: The problem is caused by the fact that "BillingAndTimeTracking.ClientID" is of type Integer, while "ClientDetails.ClientID" is of type BigInt. This triggers the bug. Changing "BillingAndTimeTracking.ClientID" to BigInt, too, makes the problem disappear. (The same should probably be done for other places where ClientID is held, e.g. in "ClientList" table.)
submitted issue 114792. Resetting this issue here to FIXED.
Issue 113724 has been marked as a duplicate of this issue. I understood that this issue is available in build 330m7. I tested today with 330m8 and found that display of query result of query with joins of two tables are still failing in 'Base' mode and not in 'Native' mode. I added an attachment to issue 113724 (http://www.openoffice.org/nonav/issues/showattachment.cgi/71929/issue113724.odb) to show the issue. Two queries simpleBase and simpleNative. I played with various field types to join: int-int, bigint-bigint, varchar-varchar, but all showed same behavior. I'm sure whether this issue needs to be reopened or the other one, for not being a duplicate. The only workaround I've found so far is to make 'views' of all queries that need to run in Base mode (Queries use to feed SRB (ORB) or parametrized queries need this).
marking issue 113724 was too fast, it in fact was no duplicate. Sadly, that slipped QA when it verified this issue here. The problem with the duplicated first record was fixed as issue 114026, in CWS dba33j, which is not yet integrated. So, strictly, issue 113724 would need to be a duplicate of issue 114026, but personally, I'd consider it a little too much bureaucracy to re-open and re-resolve it.
Maybe not the right place to continue discussion, but I checked issue 114026 and it states that it is related to use of table aliases. In the example that I've added to issue 113724, I do not use aliases in the queries, just only a inner join between two tables. So, might it be possible that this demo database (ref in two posts above) is tested against dba33j?
- opened issue113724.odb in OOO330.m9 - opened "simpleBase" query => all records display the data from the first row - opened the same DB/query in CWS dba33j => records displayed different records :)
*** Issue 114280 has been marked as a duplicate of this issue. ***
*** Issue 113149 has been marked as a duplicate of this issue. ***
*** Issue 113552 has been marked as a duplicate of this issue. ***
*** Issue 114166 has been marked as a duplicate of this issue. ***