Issue 14970 - Logical dBase fields once having a value can be uninitialised using the check box
Summary: Logical dBase fields once having a value can be uninitialised using the check...
Status: CLOSED NOT_AN_OOO_ISSUE
Alias: None
Product: Base
Classification: Application
Component: code (show other issues)
Version: OOo 1.0.3
Hardware: PC Windows XP
: P4 Trivial (vote)
Target Milestone: ---
Assignee: bettina.haberer
QA Contact: issues@dba
URL:
Keywords: needmoreinfo, oooqa
Depends on:
Blocks:
 
Reported: 2003-05-27 15:36 UTC by kelvine
Modified: 2009-07-28 21:36 UTC (History)
2 users (show)

See Also:
Issue Type: ENHANCEMENT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments
Issues.dbf table (97 bytes, application/octet-stream)
2003-12-28 23:37 UTC, kelvine
no flags Details
Simple data entry form showing checkbox (7.85 KB, application/vnd.sun.xml.writer)
2003-12-28 23:38 UTC, kelvine
no flags Details

Note You need to log in before you can comment on or make changes to this issue.
Description kelvine 2003-05-27 15:36:32 UTC
Hi,

Using the checkbox either via the data source window or the Table Control on a 
Form can allow a user to set a dBase boolean field to an uninitialised state.

I believe dBase boolean fields can have a tristate value when the record is 
uninitialised.

I did not think however that once a field had been initialised it was able to 
be set to unitialised.
Comment 1 Frank Schönheit 2003-05-28 09:13:37 UTC
Hard to find the best solution here.

I agree that the tristate is potentially confusing for unexperienced
users, but I wouldn't argue that it's completely nonsense to set it to
this state even in an existing record which was initialized before.
This feature may be desirable for experienced users.

Customizing this (on a per-table basis) may be a good solution.

Another way: an extension of the table design: Currently, the table
design does not distinguish between server-side ("server" in a more
general sense, so that we also include our dBase implementation)
properties and client-side properties. Examples for such properties
would be:
- the type of a column - this clearly is something which is stored in
the database
- the control which is to be used to display a column
- the server-side default of a column, this can be some meta-data like
"USER", which would cause the database to automatically insert the
name of the current user when a new record is interted.
- the client-side default of a column, which is presented in the UI
when a new record is entered (in opposite to the server-side default).

Implementing a table design which distinguishs between the real table
structure as far as the server is concerned, and the client-side
representation of a column, would automaticall allow specifying
something like "this boolean column should be displayed with a
checkbox control which does not allow the 'intedermined' state".

At the moment, I'd prefer the last solution, though it's the most
extensive one. But perhaps there are other ideas, too :)
Comment 2 kelvine 2003-05-28 12:11:44 UTC
Hi,

Some additional thoughts from my perspective which may help.

The Text Box is fine with Tristate/Bistate fields as this can be set.

With the Table Control if I could right click on the heading and set 
the checkbox column to tristate or bistate and have this stick that 
would be good.

With the data source window if I could right click in the heading of 
a checkbox field and select tristate or bistate and have that stick 
to this data source that would be fine.  If the data source was 
deleted and created again I would expect to have to reset this.  To 
me this could work the same as the Column Format -> Alignment for a 
column in the data source.

So I'm not suggesting too much in the way of smarts.   Just the 
ability for the user to determine the settings.  Smarts are good, 
but I am more than happy just to be able to define these settings.

Hope that helps

Kelvin
Comment 3 Rainer Bielefeld 2003-12-28 10:01:00 UTC
Hi kelvine,

Does this problem still exist in “OOo 1.1.0�

If it does, please:
- attach a very small dbase database and a step by step instruction how to 
  reproduce your problem, so that it can be reproduced by anyone without any 
  knowledge in database access.
- find a better summary for this issue as an enhancement request like
  "OOo ... should have ... because ..."

If I will not see any further action as votes, attachments or confirmations in
this issue, I will have to close this issue 2004-01-31 as WFM.


CU

Rainer 
Comment 4 kelvine 2003-12-28 23:36:12 UTC
Hi,

As requested I will attach a dBase table called Issues.dbf.

Under Windows this file can be placed in the folder "C:\Program 
Files\OpenOffice.org1.1.0\user\database\biblio". That means it is available as 
part of the Biblio datasource and no extra work is required to define a new 
datasource.

Also attached is a Form/document which is called "Issue14970Form.sxw". This 
document can be run from anywhere. It links to the Issues.dbf table which is 
stored in the biblio folder as stated above.

The table has two fields
IssueNo: To hold the issue number
Resolved: A logical field which from a user perspective should be True or 
False.

Normally as a developer I would present the user with a Form. It would set the 
default value of Resolved to False.

The Form provided shows this behaviour.

Using the Form enter IssueNo=14790 and Resolved=False. That is unticked.

The checkbox on a form created using the Autopilot automatically sets up the 
checkbox field to Tristate=No and Default=Not Selected which is what we want.

OpenOffice.org provides a second method for the user to change the data. This 
is the datasource window.

For this example open Writer
Press F4 to open the datasource window
Click on the + in front of the Bibliography datasource
Click on the + in front of Tables
Click on the Issues table

At the right are the records that you have entered into the table.
For a record click on the checkbox for the Resolved column
Click again and then click again.

The checkbox cycles through three values.

Unticked -> Ticked -> Faint grey tick

These represent Selected, Not Selected and Not defined.

Using the Form we are able to set a default value (Not selected) and restrict 
Logical fields to Two values.

Using the datasource window it is not possible to set a default value and the 
user can force the field to a Not defined state.

The problems with this are:

- This could result in inconsistency of data
- Users being confused when expecting to only Select or Not Select the 
checkbox in the datasource window

This issue still exists in OOo1.1.0.

I hope this further information is of use.

Kelvin
Comment 5 kelvine 2003-12-28 23:37:34 UTC
Created attachment 12150 [details]
Issues.dbf table
Comment 6 kelvine 2003-12-28 23:38:53 UTC
Created attachment 12151 [details]
Simple data entry form showing checkbox
Comment 7 hans_werner67 2004-02-02 12:38:26 UTC
change subcomponent to 'none'
Comment 8 ace_dent 2008-05-14 22:59:29 UTC
This Issue requires more information ('needmoreinfo'), but has not been updated
within the last year. Please re-test with one of the latest versions of OOo -
the problem(s) may already be addressed. Either use the latest stable version:
http://download.openoffice.org/index.html
or consider trying the new OOo 3 BETA (still in testing):
http://download.openoffice.org/3.0beta/

Please report back the outcome of your testing, so that this Issue may be closed
or progressed as necessary - otherwise the issue may be Resolved as Invalid in
the future.

Regards
Andrew

Cleaning-up and Closing old Issues as part of:
~ The Grand Bug Squash, pre v3 ~
Comment 9 Mechtilde 2009-07-28 16:11:20 UTC
no response -< invalid
Comment 10 Mechtilde 2009-07-28 21:36:21 UTC
-> closed