![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
|||
|
|||
|
Gracias por tu respuesta Roman.
Cuando menciono repetir, hago referencia por ejemplo a tener una Tabla Clientes en el modulo de datos para hacer consultas (o recuperar informacion) y tener otra tabla exactamente igual en la forma Clientes en la que hago operaciones de modificacion de datos (insertar, editar, eliminar) pero con algunos eventos que se generan con base en datos manipulados esta forma. |
|
#2
|
||||
|
||||
|
Po lo general evito usar un grid para editar información, Esto me permite separar por un lado los datasets para actualizacoón de datos de los datasets para recuperación de datos.
Dicho en concreto, tengo un dataset tblCliente (suponiendo que uso un TTable) en un datamodule general en donde, además, tendré un tblFactura, tblPedido, tblProducto, etc. En este datamodule programo básicamente los eventos OnNewRecord (si necesito valores por defecto), OnBeforePost, para hacer validaciones y OnPostError para manejar errores generados en el servidor. En el formulario Clientes (donde mostraría una lista de clientes) coloco un dataset para alimentar al grid que muestre los clientes. Pero este dataset es de sólo lectura. Cuando requiera editar los datos de un cliente o agregar uno nuevo abro una ventana para ello con sus correspondientes dbedits enlazados al tblCliente del datamodule general.Si es un registro nuevo uso tblCliente.Append. Si estoy editando un registro existente uso tblCliente.Locate para colocarme en el registro correspondiente.Al Locate le paso como argumento la llave primaria del registro, misma que obtengo del dataset que usé para alimentar al grid. // Saludos |
|
#3
|
|||
|
|||
|
El procedimiento que describes es muy parecido al que yo estoy siguiendo, pero queria saber la opinión de una persona versada en el tema como tú.
Gracias Roman. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|