Delete button not working in Clarion 11.1.13815 - ABC Browse Template and MSQL child tables

I’m working on a program using the MS SQL database. I have a form windows open with a parent window and some ABC browse lists on child tables. New and Changes work as expected however when I delete a record nothing happens after I confirm the record deletion. Does anyone one know what the issue is?


Kurt Boller

Not really much to go on, but have you checked you have permission on the db to delete?
Do you have a constraint that stops it?

do you have Primary Unique key?

Yes I do. It’s not the key used on the browse but I don’t think that matters.

The point raised by Clarion_clarion is not really “does your table have a primary key”? It is: does the key used on the browse uniquely identify the record? Say, for example, your table called COMPANY has a primary key (ID), and has columns for COUNTRY and SIZE. If you have a browse where you want to display companies by size within each country, you should add the ID as a third component to the key for the browse, and declare it as a unique key, because otherwise the position information that Clarion has is not enough to identify the record you actually want to delete (because there could be two companies of the same size in a country). Trying to delete from a browse with a non-unique key that is something that will cause Clarion to silently fail to delete the record.

Is the problem in trying to delete the parent or one of the children? If the parent, then Sean’s point is important. If you have any foreign keys set up on any of the child tables, and children exist, then you cannot delete the parent. However, rather that nothing happening you should get an error (something like “constraint violated”).

Thanks Jon. The keys were not set as unique (even though they would be in reality) so I updated them so they are checked as unique and rebuilt the project. That did not correct the problem with either browse.

Discussed, and debugged in some depth during the ClarionLive Open Webinar yesterday.

The issue was the use of the Time Stamps global extension, which marks a deleted record as deleted,rather than deleting it.

Thanks Bruce for helping me resolve it.