Ver Mensaje Individual
  #17  
Antiguo 09-04-2012
donpedro donpedro is offline
Miembro
 
Registrado: nov 2009
Posts: 102
Reputación: 0
donpedro cantidad desconocida en este momento
hola de nuevo, estoy mejorando la pantalla y estoy frenado en algo: en la nueva pantalla estoy utilizando un dbgrid y un listbox (con base de datos mysql). estoy pasando registros de un dbgrid al listbox como se muestra en la siguiente figura.


lo que quiero es que cuando mueva una materia del dbgrid al listbox dicha materia se quite del dbgrid. me explico,, si por ejemplo muevo la materia matematica que se compare si algun registro del dbgrid es igual a los del listbox y si es asi que lo quite del dbgrid para asi poder ver las materias que no he agregado... espero que hallan entendido. trate con el siguiente codigo el cual esta en el mismo boton donde muevo los items.
Código Delphi [-]
procedure TFASIGPORGRADOS.BitBtn11Click(Sender: TObject);
  VAR A:INTEGER;
begin



LISTBOX1.Items.Add(DMDATOS.AQMATERIASDESCRIPCION.AsString);//con este linea muevo del dbgrid al listbox

//aqui quiero comparar los registros del dbgrid con los del listbox
for A := 0 to ListBOX1.ITEMS.Count - 1 do
  BEGIN
    WITH DMDATOS DO
    BEGIN
      AQMATERIAS.Active:=FALSE;
      AQMATERIAS.Close;
      AQMATERIAS.SQL.Clear;
      AQMATERIAS.SQL.Add('SELECT * FROM MATERIA WHERE DESCRIPCION NOT LIKE'+''''+'%'+LISTBOX1.Items.Strings[A]+'%'+'''');
      AQMATERIAS.ExecSQL;
      AQMATERIAS.ACTIVE:=TRUE;

    END;

  END;

         end;

cuando ejecuto ese codigo y selecciono por ejemplo matematica y lo paso al listbox dicha materia se quita del dbgrid, pero si elijo otra por ejemplo lengua española se me agrega al listbox se me borra del dbgrid pero matematica vuelve y aparece en el dbgrid..

espero que me hallan entendido,, espero respuesta y muchas gracias de antemano...
Responder Con Cita