![]() |
RequestLive de TQuery no puede, q mas puedo usar?
Hola necesito modifcar el valor de un campo resultado de una consulta y no puedo hacerlo con Update pues debo de asignar a los campos el resultado de ciertas operaciones segun los valores de cada registro. Obviamente asigne True a RequestLive pero al tratar de hacer las modificaciones me enviaba un error ("Cannot Modify a ReadOnly Dataset"), lei en la ayuda y el problema segun era q no debo usar Joins, Distincts, etc en la consulta para poder modificarla. La modifique de este manera:
Código:
SELECT Contratos.NCONTRATO, Clientes.RAZON_SOCIAL, Ventas_mov.NUM_RECIBO, Nota:Uso Delphi 6, Paradox 7 y un TQuery para la consulta. Ya cheque y los .db no son solo lectura. Salu2 |
Normalmente no podrás modificar los resultados de una consulta que involucre varias tablas.
Echale una leída a la ayuda de la componente TUpdateSql. Esta componente se usa precisamente para casos como el tuyo. // Saludos |
Hola Roman, tarde pues me puse a seguir tu consejo y solo tengo un ultimo problema. Genero la consulta y campos persistentes para el Query q la construye. Ademas añadi un campo calculado (MONTOCOMISION) q obtiene el total q deseo asignar a un campo fisico (COMISION) de una de las tablas involucradas en la consulta, ahora lo q me falta es pasarle una clave consecutiva para identificar a los regsitros incluidos en dicha consulta en particular y el valor del campo calculado que corresponde a cada registro.
Hago lo siguiente en AfterPost de la cabecera: Código:
Espero haberme explicado. Salu2. Nota: Al asignar update Object al Query la Rejilla me permite agregar valores y supuestamente se guardan pero no ocurre en la realidad. |
Hola una vez mas, leyendo mas acerca del UpdateSQL encontre q este permite editar sobre el resultado de la consulta pero segun como el desarrollador lo establezca se estaran vaciando los datos almacenados en cache a la base de datos y como mi sistema estara en red intente hacer la actualizacion despues de guardar en la tabla de cabecera asi:
Código:
MyQuery.Database.StartTransaction; Código:
update Ventas_Mov Salu2 |
La franja horaria es GMT +2. Ahora son las 21:51:08. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi