Ver Mensaje Individual
  #2  
Antiguo 28-02-2011
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Reputación: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Eso es porque quien se encarga de asignar el nuevo valor es el motor de base de datos. Así que hasta que éste recibe de parte del programa la instrucción "Insert Into", es decir, hasta que haces el ApplyUpdates, no se asignará el valor al campo.

No has puesto una copia exacta del mensaje de error que te aparece al intentar guardar el registro, pero es casi seguro que la causa esté en la propiedad Required del objeto campo. Hay que ponerla en False (tanto en el TSQLTable / TSQLQuery / TSQLDataSet como en el conjunto de datos cliente) para que te deje guardar el registro en memoria y luego enviarlo al servidor sin haberle dado valor a ese campo.

Pero si lo que necesitas es que el nuevo valor esté disponible visualmente desde que se empieza la captura del nuevo registro, temo que tendrás que cambiar el tipo del campo en la base de datos por un simple Integer. EDITO: Bueno, no necesariamente; dependerá del enfoque que manejes respecto a ese campo autoincrementado y si hay más usuarios que puedan agregar registros a la tabla simultáneamente.

Saludos.

Al González.

Última edición por Al González fecha: 28-02-2011 a las 23:24:07.
Responder Con Cita