Hola Arturo, arriba te dejé el link donde explica todo acerca del
manejo de buffering de tablas en VFP, es un excelente artículo acerca
del concepto. Por lo que dices vas a usar tablas de VFP, así que bueno
ahí está.
Ahora si vas a usar un motor de base de datos necesitarás las
funciones de tableupdate/tablerevert sólo si usas vistas remotas. Si
usas sqlPassThrough tienes todo el control de lo que se hace o no en
la base de datos, no necesitas preocuparde del buffering. El buffering
se aplica para que cuando le pides a VFP que actualiza la data remota
con la data de la vista usando tableupdate , dependiendo del
resultado que te devuelta tableupdate puedes crear una rutina para
manejar los conflictos entre los registros locales y los remotos en
caso de que otro usuario haya modificado la data mientras que el
usuario editaba la vista. Supon lo siguiente:
creas una vista que tenga nombre,apellido y región,
el usuario a y el usuario b leen la data de un registro al mismo
tiempo ( ej juan gonzales region x )
ambos la editan
a cambia el apellido por 'perez' y envía sus cambios
b también lo hace pero cuando vfp envía el tableupdate tendrás un
conflicto, pues el valor actual ( curval) de apellido no es el mismo
que vió el usuario ( oldval ) cuando trajo la data.
Usar Sql pass nos hace olvidar que esto puede ocurrir y pocos manejan
los conflictos con rutinas de este tipo, porque en aplicaciones
pequeñas es baja la probabilidad ( metodo optimista ) pero es algo
que se debe hacer, hay que alertar al usuario si la data ha sido
cambiada mientras el la editaba y preguntarle que acción tomar
( descartar, leer de nuevo, mostrar el cambio )
espero que te sirva.
Saludos.