I have a database table in Calc, some columns contain formulas but (to prevent changing within the main sheet) they are also protected. I would like to be able to use Data\Forms to enter new rows in the table but (I would have expected) the cells that are protected and/or containing formulae to be protected in the form, and show the results (I have not checked, but I would expect that hidden cells/columns within the table should not appear on the form).
I also have "Data Validation..." on some cells in the sheet (using lookups from other named ranges or lists) and would like that functionality to propagate to the form.
Steps to Reproduce:
1. Create a database in a sheet (A1 = "Width", B1 = "Height", C1 = "Area", C2 = "=A2*B2")
2. Select A1:C2 and name the Area "DB"
3. Protect column C (click on column header, Ctrl-1 to format and protect the cells of the column, then Right click on the sheet tab and select "Protect Sheet...", unselect the check on "Select protected cells"). If you now click on a cell in column C the cursor does not move there.
4. Position the cursor in A1 and Open Data\Form...
The "Area" Field is open for data entry... no calculation is done when data is entered
The field for the cell in the protected column should be protected because:
1. It is a protected cell - this should be protected in the form
2. It is a formula, this formula should be propagated to new cells and when data is entered the calculation should present results.
User Profile Reset: No
The form should inherit the attributes of the main sheet...
1. Protected columns should be protected
2. Hidden columns should be hidden
3. Formula cells should inherit the formula used in existing rows
4. Validation should be inherited from existing rows (e.e. if I has a list of values for the "Length" column, the form should provide a combo control with the same list of values.
Thank you for reporting the bug.
Please attach a sample document, as this makes it easier for us to verify the bug.
(Please note that the attachment will be public, remove any sensitive information before attaching it.
See https://wiki.documentfoundation.org/QA/FAQ#How_can_I_eliminate_confidential_data_from_a_sample_document.3F for help on how to do so.)
I have set the bug's status to 'NEEDINFO'. Please change it back to 'UNCONFIRMED' once the requested document is provided.
Created attachment 159117 [details]
Assumptions concerning desired function:
1. When creating a database which contains 'derived vales' (e.g. a column with a value computed from other columns in the row) the user should only have to need the formula in the rows that are currently present, and the system should replicate the formulae to new rows when added. The user should not need to copy the formula down to future rows to some indeterminate row number.
2. Similarly for data validation, cell format, protection etc.
The spreadsheet (Data Form example.ods) contains a sheet designed to be used as a table to record values and provide a total of values in some of the cells. It also provides lookup for data validation on 2 of the entries (Class numbers based on a selection in the second sheet). It has formulae for lookup of the teacher names (VLOOKUP from the second sheet). It has a formulae for calculating the Total performance. The total performance cells are protected, The sheet is protected, but allows the insertion of new rows.
When opening Data/Form (see screenshot "Data form example 1.jpg"):
1. The protected cell is open for entry, meaning you can change a protected value (that you could not do in the sheet)
2. The cells with formulae are open for entry (see screenshot "Data form example 2.jpg"). And the value can be changed irrespective of the formula. And the formula is not applied so no calculation is done and the value entered may violate the formula relationship (Note: formulae are handled as disabled fields and show the calculated value in Excel)
3. No validation is applied to the cells that have it in the main sheet, so any value may be entered despite the validation applied in the main sheet (see screenshot "Data form example 3.jpg").
Ancillary noted items (unrelated) found whilst preparing the example:
1. If I click the "Clone Formatting.." button in the ribbon bar the cursor turns to a 'Paint Pot', if I right click on a cell and select "Clone Formatting" it does not.
Created attachment 159118 [details]
Screenshot 1 related to example
Created attachment 159119 [details]
Screenshot 2 related to example
Created attachment 159120 [details]
Screenshot 3 related to example
Note... I have upgraded to 184.108.40.206 (x64) to see if the issue has been addressed, and the example was prepared in that version, however I had seen exactly the same behaviour in 220.127.116.11, from which I had upgraded.
I have found an extension that appears to try to do some of what I am trying to achieve (https://extensions.libreoffice.org/extensions/enhanced-form). I have tried it and found a couple of limitations/bugs which I will report to the author to see if he can deal with them, but it is good for visualisation of the need:
1. Validation does not work in the form when the "Data Validation" is "Allow"="Cell Range", and "Source"=a named range. The validation takes the name of the range minus it's first character as the only entry in the list, so I replaced it with the explicit range of cells (in the form $Sheet.$A$1:$A$63), however that exposed a second bug:
2. The code is incorrect in the module 'ListFiltre' line 145 "Redim Preserve ListFiltre(x)" is using x (I cannot see where this is declared/set, but just happened to have an unchanging value of 56) for this array which is being set with the allowable values. As my array is 63 lines long, this causes an error, my belief is the code should say "Redim Preserve ListFiltre(xf)", as xf is counting the number of values that will appear in the list.
3. It is not passing values back to the main cell properly (Particularly from the cells with data validation!
Many thanks for your help.
(In reply to Paul Hodgson from comment #2)
> Created attachment 159117 [details]
> Example spreadsheet
> 1. The protected cell is open for entry, meaning you can change a protected
> value (that you could not do in the sheet)
Reproduced with the document.
1. Data - Form
2. Change the value of Total score
3. click New
All the way in version 3.3.0.
Arch Linux 64-bit
Build ID: 43bdac0ebd65dfc32a0b8cf2c42fde88ad585e3f
CPU threads: 8; OS: Linux 5.7; UI render: default; VCL: kf5
Locale: fi-FI (fi_FI.UTF-8); UI: en-US
Built on 15 June 2020
Dear Paul Hodgson,
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!
Tried to retest in 18.104.22.168, as requested, using the "Example spreadsheet" I posted initially.
1. After highlighting a column "Format cells..." is not available! (No "Ctrl-1", No "Format\Cells") so I could not even protect a column, so continued test by just selecting D1:D3 and protecting those, then selecting G1:G3 and protecting those. I toggled sheet protected off then on again.
2. In the spreadsheet when I try to enter data in C2 or G3, for example, it says the cells are protected, but in Data\Form the fields labelled "Teacher Y1" and "Teacher Yr2" are unprotected in the form, although:
2.1 If I change, for example, "Teacher Yr 1", overtyping "Adam" with "Daphne", the form shows "Daphne" until I change records away and then change records back (e.g. pressing "Next Record" then pressing "Previous Record", when "Alex" is redisplayed).
2.2 If I change "Class Yr1", say from "1A" to "1B", the formula that is dependent on this change is not invoked (i.e. "Teacher Yr1" does not change from "Adam") and when I return to the sheet I find that, not only does it still display "Adam", but the formula that was in D2 has been replaced with the fixed text "Adam".
I do not believe that the bug is fixed.
The link in the Build number on the Help\About LibreOffice screen is: https://git.libreoffice.org/core/+log/728fec16bd5f605073805c3c9e7c4212a0120dc5