Ver Mensaje Individual
  #1  
Antiguo 20-10-2012
pedrolazarus pedrolazarus is offline
Miembro
NULL
 
Registrado: sep 2012
Posts: 91
Reputación: 12
pedrolazarus Va por buen camino
Ayuda con Dbgrib y query active

Pasa lo siguiente, tengo un zquery activado para insertar datos desde la dbgrib, los datos se guardan correctamente, El problema esta en que quise actualizar una columna dependiendo de otra si columna[0]=x entonces columna[1]=Y), por ejemplo si coloco en la columna[0] perro en columna[1]
deberia de aparecer animal automaticamente para ello como no encontré para la dbgrib el evento onchange entonces utilice un dbedit para el onchange y aquí es donde viene el error que por lo que estuve leyendo es el evento el que lo provoca(No es un error de Lazarus si no de programacion). en el onchange del dbedit realizo una consulta dependiendo de la columna[0] ya con un dato o valor agregado lo q por supuesto activa el evento



Código:
select (Xcosa) from Tabla where x=columna[0].text;
le doy open a la consulta y luego le asigno el valor que encontré a la columna de la dbgrib

Código:
dbgrib.columna[1].field.text=query.datafielbyname(x).AsString;
Me dijeron tambien que lo hiciera asi

Código:
dbgrid.DataSource.Dataset.FieldByName('fieldname').asString:=query.datafielbyname(x).AsString;
Asi hasta alli cuando desactivo el query los datos se guardan bien. Volvi a agregar datos, cuando cuando ya habia agregado varias filas con datos y quise seleccionar
una fila de mas arriba con el mouse o con flechita arriba me tiro el siguiente error

dataset not in edit or insert mode


Al final lo que deseo es que la columna numero uno se actualice a un valor dependiendo de lo que agregue en la columna cero


Resumiendo:
Los datos se guardan correctamente Pero cuando subo una fila de la dbgrib ya sea con el mouse o con el teclado tira error porq la zquer1 esta activo y no en edicion o insertar. Pero cuando le meto la linea dbgrid.DataSource.Edit o un edit
el zquery.active se vuelve false y no guarda ninguno de los datos que estoy ingresando en la dbgrib.


Sin edit guarda pero al subir un registro mas arriba tira error.

Con edit no guarda nada.

Ejemplo:LLevo insertado todos estos datos(sin el data set en edit)

Código:
==============================
!!_ID_ !! Dato1 !!! Dato2 !!! Dato3 !!
==============================
!! 1 !! valor1 !! valor2 !! valor3 !!
==============================
!! 2 !! valor1 !! valor2 !! valor3 !!
==============================
!! 3 !! valor1 !! valor2 !! valor3 !!
==============================
Supongamos que llego al tercer id pero me doy cuenta que el id=1 hay un
dato erroneo y me pociciono sobre la columna a modificar entonces alli me
tira error. (Teniendo en cuenta que en el evento onchange estoy realizando consultas cada vez que cambio de fila)

Si no lo Hago(Subir un registro) y Desactivo el zquery los datos se guardan
correctamente en la base de datos.

Si lo hago con dataset edit no se guarda nada.

Última edición por pedrolazarus fecha: 20-10-2012 a las 17:46:06.
Responder Con Cita