FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Actualizar DBGrid en Pc's
Hola a todos(as)
Espero no equivocarme en la redaccion de mis dudas... Estoy trabajando con tablas de paradox 7 en delphi 7. El programa creado es para red, los Netdir y Privatedir estan bien configurados. El problema es el siguiente. Cuando ejecuto la captura de datos en la PC1 no veo el cambio en la PC2 bueno si lo veo pero hasta que cierro la tabla y la vuelvo abrir, pero mi pregunta es hay alguna forma de hacer esto sin la necesidad de abrir y cerrar la tabla hay una forma mas rapida? Code. Table1.Append; Table1.FieldByName('Codigo').AsString := Codigo.Text; Table1.FieldByName('Fecha).AsDateTime:= Date; Table1.Post; Este es el codigo de captura de datos. El DbGrid esta direccionado al DataSet del Table1. Espero haya descrito bien la duda y espero me puedan ayudar.... Saludos y Gracias.....
__________________
Have a nice day :) |
#2
|
||||
|
||||
Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
||||
|
||||
Podrías intentar usar Table.FlushBuffers cuando hagas ediciones para asegurar que la tabla física se actualiza y usar Table.Refresh en un Timer para actualizar la tabla cada x tiempo.
// Saludos |
#4
|
||||
|
||||
table.flushbuffer solo libera los buffers de memoria despues de grabar pero no tine ningun efecto en el comportamiento de la tabla, despues del post tendrias que agregar
Código Delphi: Table1.Refresh; como dice delphi.com.ar Luis |
#5
|
||||
|
||||
Cita:
// Saludos |
#6
|
|||
|
|||
Amigos ya hice lo que me dicen pero no se actualiza la tabla del PC2 ya que adicione el dato en la PC1.
Estoy compilando en Windows XP Pro y el Prgrama lo estoy instalando en Windows 98 Se hay algun problema o hay algo que me falta? Gracias por la ayuda que estoy recibiendo de ustedes.....
__________________
Have a nice day :) |
#7
|
||||
|
||||
Cita:
Cita:
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#8
|
||||
|
||||
Cita:
|
#9
|
||||
|
||||
Cita:
Tratándose de tablas Paradox, que podés aceder a sus archivos, podrías probar de utilizar ShellNotifications, pero dudo que eso funcione en unidades remotas.
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#10
|
|||
|
|||
Miren hice lo que me dicen al principio osea:
Citar: Originalmente publicado por roman Podrías intentar usar Table.FlushBuffers cuando hagas ediciones para asegurar que la tabla física se actualiza y usar Table.Refresh en un Timer para actualizar la tabla cada x tiempo. Esto fue lo que hice en el codigo y no funciona con el PC remoto. Code: Table1.Append; Table1.FieldByName('Codigo').AsString := Codigo.Text; Table1.FieldByName('Fecha).AsDateTime:= Date; Table1.Post; Table1FlushBuffers; Table1Refresh; En el Timer (InTime) Table1Refresh; El timer tiene un tiempo de 20seg. El PC remoto tiene un DBGrid dirigido a la misma tabla y tiene tambien lo escrito en el Timer, pero no se ve el cambio de las ultimas adiciones al menos que cierre la tabla y la vuelva a abrir. Alguien sabe el por que o que esta causando que no se actualizen los datos? Nota: la tabla si sufre el cambio fisicamente he.....
__________________
Have a nice day :) Última edición por pgraciap fecha: 22-05-2004 a las 21:36:28. |
#11
|
||||
|
||||
Mira estoy utilizando la etiqueta Delphi que creó precisamente Román, lo cual facilita la lectura del código
Creo que no has entendido bien lo que te han dicho mis compañeros. Imagínate que la pc1 da un alta y hace el correspondiente flushBuffers, para descargar la memoria intermedia a disco, en este momento en Pc2 alguien tiene abierta una consulta en el formulario pongamos frConClientes, en este formulario es donde debieras tener un Timer activado que se dispare cada x segundos y te haga el refresco de la tabla para que este usuario vea el cambio hecho por PC1. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
|
|
|