My dilemna: very old (1980s) RBase database, designed by someone other than
me. Not very relational in that there is a Sales table and a Payments table,
but there is a column called TotalPayments in the Sales table that has a total
of the payments so that a computed column Balance can be calculated.
In the DOS system, there is a separate form for Payments, so on closing that
form it's very easy to compute the total payments and update the Sales table
before bringing the Sales form back up.
In 9.5, they LOVE the idea of a form with multiple tabs, so I have Sales on tab
1, and Payments on tab 2.
Here's what works: If you're in Payments, I have an "on row save" eep so that
if they change the amount it sums the payments, updates the Sales table and
refreshes the Sales table. So if you save the row and then click back into tab
1, viola it's there.
What doesn't work: If you change a Payment amount and, while still in that
row, click to tab 1, your row is not yet saved so nothing has been changed. I
can see that if I then physically click into a Sales field on tab 1, it then
saves my payments and does a refresh. But just clicking on the tab 1 header
does not save the data.
I tried putting identical code in the "on leave section" of Payments,
but that does not evaluate if you click to another tab or even if you [esc] out
of the form.
I know I can do something like trap the payment going into the field, trap it
going out of the field, and if it's different than do a "saverow", but that
takes away the ability of the user to change their mind about the change.
What I also tried: I can do a "change tab eep" on tab 1 so that it puts focus
into a Sales field. That works cuz it forces a save. Only issue is that this
client worries about people making inadvertent changes so they don't want them
put "into" the data unless they click. So unless I add a "dummy" field into
the table.....
Any other ideas?
Karen