PDA

Ver la Versión Completa : tabla paradox no refresca


JoseQ
20-09-2004, 17:45:19
realizo una insercion en una tabla A, esta tabla A tiene una clave ajena que apunta a la tabla B, despues de hacer la insercion cierro la tabla A,la vuelvo a abrir y la refresco,entonces selecciono un registro la tabla B y filtro la tabla A x el valor del registro de B,pero no me muestra los registros que acabo de insertar, si los que ia estaban en la tabla, una vez cierro y abro el programa entonces si que me vuelven a aparecer, alguna sugerencia para refrescar la tabla?

marcoszorrilla
20-09-2004, 18:01:54
Desde donde haces los cambios únicamente tienes que ejecutar un Post una vez finalizados éstos y un FlushBuffers en el evento AfterPost del Ttable.

La consulta o el filtro es lo que tienes que refrescar si ya estaba abierta.

Puedes utilizar un Timer que lance un refresco cada x tiempo.

Un Saludo.

JoseQ
20-09-2004, 19:19:30
el post lo uso ...

lo de vaciar los bufers tp me funciona,

el filtro lo aplico una vez exas todas las inserciones

i aunk ponga un timer k me refresk cada segundo la tabla asta k no cierro la aplicacion no me salen los registros aparecidos


Añado a la explicacion del anterior post que en ciertas ocasiones si que me muestra los registros, xo no dnd deberia, es decir los mete como si tuviera otro valor de la clave ajena, i digo 'como' xk en la tabla esta bien, es decir, si inserto en la categoria A mi programa m muestra esos registros en la categoria H, xo el campo si k pone A.

marcoszorrilla
20-09-2004, 20:00:08
¿Qué tipo de tablas estas usando?

Un Saludo.

JoseQ
21-09-2004, 09:56:52
tablas paradox 7, componentes BDE, delphi 7 (build 8.1)

JoseQ
21-09-2004, 13:09:24
--------------------ups

marcoszorrilla
21-09-2004, 15:10:42
Pues te aseguro que con tablas Paradox lo que te he dicho funciona perfectamente, te pregunta este detalle porque en otro tipo de tablas hay que hacer un Commit ó CommitRetaining en la primera parte. En lo tocante a la segunda hay que hacer un refresh mientras sea posible, en Paradox lo es y en otros tipos de tablas no hay más que cerrar y volver a abrir la tabla.

Un Saludo.

JoseQ
24-09-2004, 10:23:51
mi proble es curioso, inserto varios registros en la tabla B aunk solo muestro 3 de ellos,un campo Blob que almacena un BMP y que muestro en un DBimage,un campo Date que almacena una fecha que muestro en un DBedit y un campo alphanumerico que muestro en un dbcheckbox (valores si/no), bien, pues de estos tres campos me muestra el dbedit i el dbcheckbox, xo no la fecha que se deberia mostrar en el dbedit, alguna sugerencia ?¿?¿?¿?¿?¿?

marcoszorrilla
24-09-2004, 15:19:46
Como insertas los datos?

Estas seguro de que la fecha se guarda correctamente.

Un Saludo.

JoseQ
24-09-2004, 17:28:17
hombre io creo k si que se guarda, mas que nada porquer al cerrar/abrir el programa si que aparece la fecha, el codigo es este :



while not DM.privfotosd.eof do
begin
DM.fotos.insert;
DM.fotosnumfoto.AsInteger:=i;
DM.fotoscodigo.AsInteger:=dbedit1.Field.AsInteger;
DM.fotosnombre.value:='F'+inttostr(i)+'.jpg';
DM.fotoscodnmo.value:=DM.patologicodigoest.value;
dm.fotosCodpro.Value:=DM.PatologiNumero.value;
DM.fotosfecha.Value:=date;
DM.fotos.post;
DM.privfotosd.next;
end;
DM.privfotosd.refresh



mas facil no pot ser

marcoszorrilla
24-09-2004, 22:07:51
DM.privfotosd.refresh//
Esto no sirve para el otro equipo, aquí haces un refresco para el
equipo que esta procesando los datos.

El otro equipo, el que teóricamente está viendo los datos es que el
tiene que hacer el refresh, por medio de un timer por ejemplo cada
x segundos.

Un Saludo.