PDA

Ver la Versión Completa : Evento OnnewRecord


novaten
15-04-2005, 19:37:48
ya he puesto un post hace algunos dias, por cierto, gracias a todos por las respuestas pero no me han funcionado :(.

Yo tengo una serie de Dbedits y dbnav en un formulario, el caso es que cuando doy a nuevo para insertar un nuevo registro quiero que el campo IDAparato, en el dbedit se cubra automaticamente el numero de ficha que va tener, en la base de datos tengo el generador y el tigger funcionando, el problema es que el numero lo genera al guardar el registro, esto tiene que ser asi.

Hice una nueva tabla en la que guardo los valores de cada generador en el momento actual, el problema es que no se como hacer para que cuando le doy a nuevo me cubra el dbedit del principio.

no se si me explicado bien.

probe poniendo en el evento onewrecord del dataset lo siguiente:

editID.text := IntToStr(IB_Tabla_autonumericos.Fields[1].AsInteger);

pero no funciona :(

¿a alguien se le ocurre otra cosa?

un saludo.

marcoszorrilla
15-04-2005, 20:21:54
Al decir que no funciona que quieres decir, te da error, te pone un número que no corresponde...?

Un Saludo.

roman
15-04-2005, 20:59:18
probe poniendo en el evento onewrecord del dataset lo siguiente:

editID.text := IntToStr(IB_Tabla_autonumericos.Fields[1].AsInteger);


Me parece recordar que ya te habíamos indicado que no es ésta la manera de inicializar valores de campos en el evento OnNewRecord pero lo pondré más claro:

En el evento OnNewRecord se inicializan valores de los campos, no de los controles de datos

La sentencia debería ser del estilo:

DataSet.FieldByName(...).AsString :=
IntToStr(IB_Tabla_autonumericos.Fields[1].AsInteger);

Los controles de datos únicamente reflejan los valores del dataset asociado y normalmente no se deben hacer asignaciones directas a estos controles.

// Saludos

novaten
15-04-2005, 22:37:45
ok muchas gracias a todos, siempre me resolveis mis dudas. muchas gracias, ya solvente