PDA

Ver la Versión Completa : Ayuda con insert


Teitek
28-10-2006, 12:59:34
Saludos, tengo un problemita, os explico

Tengo una base de datos paradox compartida en dos maquinas, y bueno en principio en ambas maquinas se ven las actualizaciones que ha realizado una u otra, el problema viene cuando ambas maquinas se ponen de acuerdo para añadir un registro, entonces... si por ejemplo las 2 maquinas estan en el formulario de añadir un registro la última que haga el ingreso modifica al registro que la anterior agrego. La ultima que inserte el registro actualiza a la anterior, solo se me ocurre una forma de solucionarlo pero he de cambiar muchas cosas en la aplicacion y es utilizando el InsertRecord.

A ver si alguien me puede echar una mano de como ha echo estas cosas porque a mi no se me ocurre y no veo nada de info al respecto.

Muchas gracias y un saludo

Lepe
28-10-2006, 14:35:49
Faltaría decir cómo lo haces ahora mismo para intentar proporcionar una forma "compatible".

Si el último que grabe, modifica el registro, yo buscaría una forma de "buscar de nuevo la clave primaria" antes de grabar (Evento BeforePost).

Otra solución, podría ser que en el evento OnNewRecord, se hiciera un Post automático con valores predefinidos, así sería muy raro encontrar incidencias.

Saludos

Teitek
28-10-2006, 15:40:11
Pues ahora mismo lo hago de la unica forma que sé...

Inserto con Table1.Insert
y cuando tengo todos los datos metidos hago un Table1.Post;

Nada mas....
El tema esque si una aplicacion está en Insert Mode y la otra igual, la ultima que haga el post actualiza el registro y no se me ocurre forma de solucionar esto..
:(

La verdad esque estoy empezando ahora con el tema de las bases de datos y estoy muy pez

Un saludo y muchas gracias por la respuesta

Lepe
28-10-2006, 20:55:10
Pues lo más simple es lo más cómodo. En el Evento OnNewRecord añades:

//campos que no pueden ser nulos:
tabla.FieldByName('nombrecampo').AsXXX := lo que sea
tabla.Post;
tabla.edit;

Así el usuario nota un parpadeo del DBNavigator, pero el registro se guarda y después queda en modo edición. Esta idea es lo que le gusta al usuario, si está dando de alta el cliente 24 cuando le dé a guardar, que siga siendo el cliente 24.

Si usas la otra forma, (buscar la clave primaria en el evento BeforePost), el usuario puede ver que está insertando el cliente nº 24, pero al grabar, cambia y obtiene el 25, los usuarios ven un poco raro eso.

Saludos