I have a form that last some 200 tables opened that we buffer and require a TABLEUPDATE() for record additions and edits. We have a routine called UpdateAll() that make an array of all table object then runs through a check to TABLEUPDATE() all the tables:
For i = 1 TO LEN(atu[i, 1])
m.lSuccess = TABLEUPDATE(.T.,.F., atu(i, 1))
However, with some 200 tables some saves are quite lengthy and clients are complaining. The fact is that while any of the 200 tables may be changed and require an update, usually it is only a couple of tables needing an update, but I have a feeling TABLEUPDATE is doing an entire scan of a table.
It stuck me if Foxpro has a routine to check IF a table/cursor has been changed (buffered?) THEN my TABLEUPDATE() routine could kick in, otherwise ignore that TABLEUPDATE. VFP has routines for individual fields fields being changed, but is there a method to check if the table itself requires TABLEUPDATE?
Any ideas on that?