Ver Mensaje Individual
  #1  
Antiguo 19-08-2010
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 585
Reputación: 20
jafera Va por buen camino
Cambio de valor de un campo en un grid

Hola de nuevo a todos.

Aprovechando vuestro "savoir faire" que dirian los franceses, os planteo otra duda que me ha surgido al trabajar con un JVDBGrid.

Tal y como comenté en mi anterior post, estoy trabajando con un grid que se llena mediante una tabla, todo esto en firebird 1.5.

Los datos de este grid son filtrados por un id del maestro, lógico claro, en los registros de este grid solo puede haber uno con un campo que se llama ACTUAL y que contenga el valor "S", este valor siempre es el último del grid.

Cuando añado un nuevo registro automaticamente le pone valor S al campo ACTUAL (onnewrecord), pero en el evento beforepost tengo puesto lo siguiente:

Código Delphi [-]
 
If Camions_Aux.State in [dsInsert] then
        begin
                Actual_S.Close;
                Actual_S.ParamByName('ID_CAMIO').AsInteger := F_ModulDades.Camions_AuxID_CAMIO.Value;
                Actual_S.ParamByName('ID').AsInteger:=F_ModulDades.Camions_AuxID.Value;
                Actual_S.Open;
                if Actual_S.RecordCount > 0 then
                begin
                        ShowMessage('Només es pot asignar el camió a un parc');
                        Camions_AuxACTUAL.Value := 'N';
                end;
        end;

El motivo del state es para que no actue si estoy modificando un dato que no sea ACTUAL.

Bueno despues de soltar el lastre mi pregunta.

Puedo poner ACTUAL a S pero en el registro anterior al nuevo?, tal y como tengo el código actualmente me pone a S el ultimo registro y yo quisiera poner a S el penultimo.

Gracias a todos y saludos

Josep
Responder Con Cita