Clicksort, table, related fields

In table view, I have a ‘companies’ file, which shows a related ‘addresses’ field, let’s call it ‘Address’.

When I clicksort ‘Address’, it not only sorts, but also omits records from my found set. (Apparently, it omits records that don’t have a related ‘addresses’ record.)

Is this expected behavior? If so, is there a way to prevent clicksorting on certain fields in a table?

It is expected behaviour. I guess it is due to the join type that is sent to the database.

I’d be happy too, if there was a solution for this. In Cain’s example it can be very useful for users to see which records have an address at all and which ones don’t. Changing the foundset is general “bad” behaviour in my eyes. I’d rather have the sort disabled then…

In Cain’s example it can be very useful for users to see which records have an address at all and which ones don’t.

Actually, I’m more concerned that someone might clicksort by, say, state, and then go into a panic thinking that some critical record (for someone with no known address) seems to vanish from the database. This just seems like a 7 AM panic call in the making. :roll:

My problem is: my users “mark” records (via a relation to a mark table). They basically set a 1 in a related field. If you mark a few, you might want to see what you have marked and what not. So you click on the column header of the mark and oops! All your other records are gone. My concern here is, that users take hours of time to search the data they really want. Then they “sort” and their search result is gone.

So what should be the disposition of this? Is it a bug/issue, or should I post over to feature requests?

Anybody?

The disposition of this issue will affect how/whether I use table views, and what fields I will or won’t show on them.

Is this how it should be and will be? Is this going to be fixed/enhanced soon? Is it a lower priority for a future release?

The behaviour is being caused by the fact that we use inner joins when you sort. The solution would be to introduce outer joins when you sort but this is implemented differently by each database and will require quite some work. Basicly it isn’t possible to introduce this feature very soon, maybe it will show up in the next-next version of Servoy. To not confuse your users until then you can contemplate creating your own header in which you make the headers of the related fields non-clickable.

Thanks for the clarification, Johan!

Hmm, this may be a related issue…

I have a form with a portal. I can do a find for ‘%’ in a portal field, to find only records with a related value, and it pulls up 36 of 48 records.

However, when I go ‘Select>Invert Records’, I get a zero found count. 'Show all returns to all 48 records.

Is this the same join issue, or something new? As with the click-sort, this is very disconcerting from a user standpoint. Users, who don’t understand ‘join’, will assume that the records have been lost.