[Gambas-user] Cant get DataCombo to work as expected...

Martin Fischer martin.fischer6 at web.de
Wed Aug 30 21:08:22 CEST 2023


Hi to all,

I'm currently playing around with gambas, tying to figure out if I could
use it to create some little toolies for my personal need.

I was quite familiar with VB6 back in the good old days, but well...
long time ago. Nowadays I make my living as java backend dev.

Now: I created a learing project with gambas that uses data-bound
controls to display/edit a "person" table in a sqlite3 DB. Here is the
relevant relational schema:

person
   person_id INT PK
   sex_id INT FK -> sex.sex_id
   given_name VARCHAR(80)
   ...
sex
   sex_id INT PK
   name VARCHAR(80)

Some rows as example:
person:
   1, 1, Martin, ...
   2, 1, Juliane, ...
sex:
   1 Male
   2 Female
   ...

Quite obvious what's going on here...

I then created a gambase database project that uses a control hierarchy
as follows:

Form
   DataSource - attached to a Connection opened via code
              - bound to the "person" table
     DataBrowser
       DataControl for given_name
       ...
       DataCombo for sex_id

This DataCombo has the following settings:
- Table: sex
- Field: sex_id
- Display: name

I understand that the underlying assumption of the DataCombo is that
- the Field property specifies both the name of the column in the table
   of the parent datasource and the name of the pk column of the
   lookup-table
- there is a pk whith the name specified in the Field property in the
   lookup table
This effectively enforces that these two columns have the same name.
(And by the way, that there can not be two references to such a lookup
table in the same table - which sometimes is a problem...)
Anyway: my schema should be OK with this.

Now: what happens is:
- the DataCombo does not contain values to select from.
   Should be: all rows from the sex table: SELECT name from sex
- the DataCombo shows the value of the sex_id column from the person
   table.
   Should be: the name column of the row in the sex table with the same
   sex_id value

This example is so primitive that I'm surprised that it went wrong.
Maybe I did not understand the meaning of the properties or the DataCombo...

I would be pleased if someone could take the time to look into this.
I'm sure that it's only a small detail that I might have missed.

You find this project attached here. It is working except the faulty
behaviour of the DataCOmbo.

Thanks in advance.

____________________________________
Martin Fischer



More information about the User mailing list