Ver Mensaje Individual
  #1  
Antiguo 13-09-2006
Avatar de anghell77
anghell77 anghell77 is offline
Miembro
 
Registrado: may 2006
Posts: 194
Reputación: 19
anghell77 Va por buen camino
Modificación de Datos mediante Consultas..


NOTA:
SOPAS!!!!!
Un Error, bien lo dice Román en la otra guía de estilo en el punto 1....
Pero este fue un error de Dedote....a pesar de no haberlo tecleado.... Presioné este Foro, previendo que fuera SQL, pero ya ven que a veces se nos van las cabras (nos despistamos).....Esta nota fue escrita luego de levantar el Post....Si algún moderador está pendiente, y desea moverlo, adelante...Gracias


Buen día, compañeros....
Trabajando en Delphi 7 y Paradox....

Como propone el buen amigo Lepe aquíhttp://clubdelphi.com/foros/showthread.php?t=31954
me enseñó a modificar en tiempo de ejecución los datos que arroja una consulta...

Pues bien, bajo ese precepto...agrego la duda, que nada tiene que ver con el código del hilo anterior: Realizo una consulta, me despliega los datos en un DBGrid, en evento OnDblClick de éste, me arroja un nuevo formulario con los datos seleccionados y todo bien. Bueno, pues éste Formulario es para Modificar los datos que hayan sido entrados erróneamente y que se desea corregir....

Código Modificar:

Código Delphi [-]
DataModule2.Selec_Cve.Close; 
DataModule2.Selec_Cve.RequestLive:=true;
DataModule2.Selec_Cve.Open;
//Esta es la consulta que me devuelve los datos seleccionados en el DBGrid

//Estos son los DBEdits correspondientes a la consulta, que se activan para poder modificarse
DBEdit1.ReadOnly:=false;          DBEdit2.ReadOnly:=false;
DBEdit3.ReadOnly:=false;          DBEdit4.ReadOnly:=false;
DBEdit5.ReadOnly:=false;          DBEdit6.ReadOnly:=false;
DBEdit7.ReadOnly:=false;          DBEdit8.ReadOnly:=false;
DBEdit9.ReadOnly:=false;          DBEdit10.ReadOnly:=false;
DBEdit11.ReadOnly:=false;         DBEdit12.ReadOnly:=false;
DBEdit13.ReadOnly:=false;         DBEdit14.ReadOnly:=false;
DBEdit15.ReadOnly:=false;         DBEdit16.ReadOnly:=false;

Bien, pues como éste formulario presenta a base de DBEdits los datos, he añadido (para facilidad del usuario) unos Combobox, para que batalle menos y de paso no escriba datos que no debe, como la selección de la ubicación del libro que está modificando. Y al evento on Change de éstos, he dispuesto que envíe lo que se ha seleccionado al campo correspondiente:

Ojalá lo haya podido explicar. Hasta aquí todo bien, el problema viene cuando, al momento de Actualizar.

Actualizar:

Código Delphi [-]
CveSelect:=DBEdit1.Text; //Variable que Almacena la Clave del Libro que se ha modificado
AutorSelect:=DBEdit3.Text; //Variable que Almacena el Autor del Libro Modificado
DataModule2.Selec_Cve.Refresh;
Info_Modif.Close; //Cierra el Formulario

//Aqui limpio el SQL de la primera consulta y muestra el primer formulario con los datos modificados

DataModule2.Cve_Tit_Aprox.Close;            DataModule2.Cve_Tit_Aprox.SQL.Clear;
DataModule2.Cve_Tit_Aprox.SQL.Add('select *from Inventario where Titulo=:entrada');
   DataModule2.Cve_Tit_Aprox.ParamByName('entrada').AsString:=CveSelect;
DataModule2.Cve_Tit_Aprox.Open;
DataModule2.HelpTableRecNo.Value:=DataModule2.Cve_Tit_Aprox.RecNo;
DataModule2.HelpTableRecordCount.Value:=DataModule2.Cve_Tit_Aprox.RecordCount;
   ShowMessage('Registro Actualizado');

//Actualiza la Consulta

Esa es la bronca, que en realidad no actualiza los campos si es que no se ha tecleado algo sobre los DBEdits...y suponiendo que se teclee pues bueno, eso funciona, pero si se entra directamente a los Combobox, sin tocar DBEdits, no actualiza nada.

Editando, los Combobox reemplazan DBEdits y la selección de algún Item de éstos se envía directamente al DBEdit correspondiente, y es de suponerse que debería de funcionar, pero como no se toca DBEdit alguno (vamos, suponiendo que la única parte "modificable" fuera donde se ubican los Combobox), al momento de cerrar el Formulario, y devolver el "Registro Actualizado" devuelve el correcto, mas no la actualización de éste.

Agradezco la ayuda..

{Saludos}
__________________
"...Ayer Bastaba un Sueño..."

Última edición por anghell77 fecha: 13-09-2006 a las 07:45:30.
Responder Con Cita