PDA

Ver la Versión Completa : IBDataSet, conectado a un Navigator


Giniromero
23-09-2003, 17:18:54
Hola a todos,

sigo con mi aplicación, en delphi6-interbase 7 con sql 3.

Tengo una tabla, (IBDataset), relaccionada con un DBGrid, y un Navogator.

El Navigator, sólo permite, editar, eliminar, cancelar y postear registros.

El DBGrid sólo me muestra tres campos de la tabla, uno de ellos, es de comentarios, otro de fecha y otro es tipo de comentario.

El problema es que, intentando que al crear nuevo registro, me guarde la fecha actual por defecto, he descubierto que cuando tengo editado el registro de comentarios, si doy guardar no se guardan los datos, sólo los otros campos que tuvieran datos.

Si nada más escribir en el campo de comentarios, pincho en otro campo del mismo registro y guardo el registro con el botón de post, me lo guarda todo.

No se me ocurre que pueda ser.... o como evitarlo.

¿Alguna idea?

Muchas gracias

Virginia

Giniromero
24-09-2003, 12:50:42
siguiendo con lo anterior...

Lo curioso del tema, es que esto mismo lo tengo creado, tal cual, con dephi 6-Paradox, y me guarda lo escrito en el campo en el que está, aunque esté con estatus "edit".

El problema principal es que, al autocumplimentarse el campo de FECHA, y no ser siempre necesario el campo de "Tipo de consulta", lo normal es que se escriba en este campo código, sin mover el cursor a otro registro, antes de pulsar el guardar, por lo que las posibilidades de que se borre lo escrito, si vas algo rápido, son altas.

Tal vez alguien conoce un modo de decirle al programa que antes de post, si el registro está como edit, se mueva el cursor a otro campo del mismo registro, o algo así.

Muchas gracias por la ayuda,

Saludos,

Virginia

Giniromero
24-09-2003, 18:12:19
Por si a alguien le sirve de ayuda, lo he resuelto con el siguiente procedure:


//al crearse un nuevo registro, en la tabla Anota
procedure TFrmDModule.TbAnotaNewRecord(DataSet: TDataSet);
begin
//le asignamos el valor de la fecha de hoy al campo FECHA de la tabla Anota
TbAnotaFECHA.Value := date;
//le asignamos el nombre del usuario activo en el campo descripcion, (quien está haciendo el comentario)
TbAnotaALUDESCRIPCION.Value:= TbUSersUSUARIO.Value;
//Guardamos el cambio en el registro antes de dejar que comiencen a escribir en el registor
TbAnota.Post;
//volvemos a editar el registro, para que se pueda escribir en el
TbAnota.Edit;

end;


Como el problema lo daba sólo la primera vez que guardamos el registro, cuando acababamos de insertarle datos, y una vez que hemos guardado el registro, no nos vuelve a dar el problema, con esto queda eso solucionado.

Un saludo a todos.

Virginia