Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   not in edit mode II (https://www.clubdelphi.com/foros/showthread.php?t=81558)

naty_prog 24-11-2012 11:06:10

not in edit mode II
 
hola amigos, les comento que yo tengo un problema con este mensaje. en mi sistema tengo la opcion de habilitar carreras que he eliminado,con sus planes y materias.el problema surge cuando quiero habilitarlos.este es el codigo del bitbtn para habilitar dichas carreras:

Código Delphi [-]
procedure TForm_carrera.BitBtn1Click(Sender: TObject);
begin
  inherited;
  DM.IBDataSet_carrera.Open;
 if (dm.IBDataSet_carrera.Active )then
   begin
    DM.IBDataSet_carrera.Locate('id_carrera',DM.IBQuery_carreraID_carrera.Value,[]);
    DM.IBDataSet_plan_estudio.Locate('id_pe',DM.IBQuery_plan_estudioID_PE.Value,[]);
    DM.IBDataSet_materia.Locate('id_materia',DM.IBQuery_materiaID_MATERIA.Value,[]);

    DM.IBDataSet_carrera.Edit;
    DM.IBDataSet_plan_estudio.Edit;
    DM.IBDataSet_materia.Edit;

    DM.IBDataSet_carreraESTADO.Value:=1;
    DM.IBDataSet_plan_estudioESTADO.Value:=1;
    DM.IBDataSet_materiaESTADO.Value:=1;

    DM.IBDataSet_carrera.Post;
    DM.IBDataSet_plan_estudio.Post;
    DM.IBDataSet_materia.Post;

    DM.IBTransaction_Sistema.CommitRetaining;
    DM.IBQuery_carrera.Close;
    DM.IBQuery_carrera.Open;
    DM.IBQuery_plan_estudio.Close;
    DM.IBQuery_plan_estudio.Open;
    DM.IBQuery_materia.Close;
    DM.IBQuery_materia.Open;

   end;
 end;

no se porqué, ni se me ocurre como puedo hacer para que el ibdataset_carrera, ibdataset_plan_estudio e ibdataset_materia, estén listos para poder habilitar los registros.

saludos!!!!:o

Casimiro Notevi 24-11-2012 12:08:38

Cita:

Empezado por naty_prog
les comento que yo tengo un problema con este mensaje

¿Qué problema?, ¿qué mensaje?

Cita:

Empezado por naty_prog
en mi sistema tengo la opcion de habilitar carreras que he eliminado,con sus planes y materias

¿A qué te refieres con 'habilitar carreras que he eliminado"?

Cita:

Empezado por naty_prog
no se porqué, ni se me ocurre como puedo hacer para que el ibdataset_carrera, ibdataset_plan_estudio e ibdataset_materia, estén listos para poder habilitar los registros.

¿Que estén listos para habilitar los registros?

No sé si es porque todavía no me he tomado el café, pero yo no entiendo nada, ¿puedes explicarlo de otra forma?

CSIE 24-11-2012 16:28:06

Hola,

A simple vista, hay tres datasets, pero solo haces "open" de uno de ellos.

Después veo que no estructuras bien el código, algo más lógico sería:

Código Delphi [-]
 if dm.IBDataSet_carrera.Active then
   begin
    if DM.IBDataSet_carrera.Locate('id_carrera',DM.IBQuery_carreraID_carrera.Value,[]) then 
    begin
        DM.IBDataSet_carrera.Edit;
        DM.IBDataSet_carreraESTADO.Value:=1;
        DM.IBDataSet_carrera.Post;
    end;

y por último, sería más rápido y lógico usar sentencias SQL del tipo "UPDATE carrera SET ESTADO=1 WHERE id_carrera=:id_carrera", en vez de datasets.

Además deberías de tener en cuenta el uso de triggers en la DB, por ejemplo, si cuando activas el ESTADO de la tabla CARRERAS siempre tienes que actualizar el ESTADO de las otras dos tablas (PLAN_ESTUDIOS y MATERIA).

Saludos

naty_prog 24-11-2012 19:33:15

not in edit mode II
 
hola:)

les comento que ya he podido resolver el problema, gracias por la ayuda CSIE, me sirvio de mucho. y gracias igual Casimiro Notevi,aunque te haya mareado con el tema jeje. el problema era que al ejecutar el form para habilitar una carrera eliminada (a la que le he dado anteriormente el estado 0,deshabilitado),donde tengo un bitbtn para pasar del estado 0 a 1 (habilitado) de dicho registro, me arrojaba un cuadro o ventana con este mensaje "not in edit mode",por lo tanto no me dejaba realizar la accion deseada.
Pero encontre la forma y lo logré.disculpas si no me exprese con claridad.
muchas gracias y saludos^\||/


La franja horaria es GMT +2. Ahora son las 17:58:07.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi