Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ayuda con Error Access Violation (https://www.clubdelphi.com/foros/showthread.php?t=79792)

Salnhack 10-08-2012 21:08:04

Ayuda con Error Access Violation
 
Buenas

Necesito que me ayuden con lo siguiente

Al Hacer click en un boton el cual me debe generar una consulta

Código Delphi [-]
procedure TForm19.suiButton1Click(Sender: TObject);
begin
   with DataModule3.Query1 do
     begin
       Close;
       SQL.Clear;
       SQL.Add('UPDATE procesamiento SET inicioproceso=1');
       ExecSQL;
       Close;
       SQL.Clear;
       SQL.Add('Insert Into mesactivo(mesactivo)');
       Sql.Add('values (:pmes)');
       ParamByName('pmes').AsInteger:=suiDBGrid1.Columns.Items[3].Field.AsInteger;
       ExecSQL;
     end;
end;


me sale un error de Access Violation y no se porque y me marca la siguiente linea del codigo

Código Delphi [-]
ParamByName('pmes').AsInteger:=suiDBGrid1.Columns.Items[3].Field.AsInteger;


agradeceria cualquier ayuda

Gracias

Casimiro Notevi 10-08-2012 21:54:43

Y si pones un breakpoint en esa línea, antes de ejecutarla, ¿qué valor tiene suiDBGrid1.Columns.Items[3].Field.AsInteger?

Salnhack 10-08-2012 22:12:16

Hola
 
el codigo lo que me deve hacer el iniciar el procesamiento en la aplicaciones, en una form tengo un DBLookupComboBox donqe cargo el año y en dependencia al año escogido se carga en el dbrid los meses, escojo el mes en que voy a inicializar al aplicaciones y en la tabla procesamiento pongo 1 (0 no inicializado y 1 inicializado), luego en la tabla mes activo inserto el id del mes en que inicie a trabajar.

eso es lo deve hacer el codigo

en suiDBGrid1.Columns.Items[3].Field.AsInteger tiene el valor del id del mes que voy a activar

Casimiro Notevi 10-08-2012 22:14:33

Cita:

Empezado por Salnhack (Mensaje 439341)
en suiDBGrid1.Columns.Items[3].Field.AsInteger tiene el valor del id del mes que voy a activar

Sí, pero
Cita:

Empezado por Casimiro Notevi
si pones un breakpoint en esa línea, antes de ejecutarla, ¿qué valor tiene suiDBGrid1.Columns.Items[3].Field.AsInteger?

.

Salnhack 10-08-2012 22:25:34

gracias
 
Gracias a tu pregunta me di cuenta cual era el problema y es que estaba utilizando el mismo query con que cargaba el dbgrid y por eso me daba el error pues suiDBGrid1.Columns.Items[3].Field.AsInteger
no tenia ningun valor a la hora de asignarselo a la consulta.

mil gracias.

Casimiro Notevi 10-08-2012 22:42:42

Cita:

Empezado por Salnhack (Mensaje 439343)
Gracias a tu pregunta me di cuenta cual era el problema y es que estaba utilizando el mismo query con que cargaba el dbgrid y por eso me daba el error pues suiDBGrid1.Columns.Items[3].Field.AsInteger
no tenia ningun valor a la hora de asignarselo a la consulta.

mil gracias.

Era lógico, con casi toda seguridad el problema estaba ahí.


La franja horaria es GMT +2. Ahora son las 01:42:09.

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