Problema con CampoCalculado
Tengo un campo calculado de tipo booleano, simplemente para usarlo como selector de registros, tipo una casilla de correo, en donde seleccionamos los mensajes a borrar por ejemplo.
Estoy usando Delphi 7, y las JVCL, las cuales traen un DBGrid que dibuja directamente un checkbox en el campo boleano. Pero resulta que al hacer clic en el DBGrid (seleccion fila completa) cuando intento modificar el checkbox, me tira el siguiente error: "Cannot update a complex query with more then one table"
Porque no se puede actualizar una consulta compleja con mas de una tabla? Tengo un Query (de Zeos, conectandose a mySQL) donde consulto 3 tablas a la vez, ya que es necesario. El campo es calculado, hay alguna posibilidad de cambiarle el estado? O alguna otra idea de como hacer un selector de registros. PD: el selector de registros es aquel CheckBox que se encuentra al inicio de la fila de un registro, no se si lo expreso bien o se entiende. Saludos y gracias |
por que no usas la opcion de seleción multiple del dbgrid en lugar de añadir un capo?
|
No se puede hacer y punto.
Supongo tendrás que usar un UpdateSql unido al query original. Ahora cuando modifiques el valor, se ejecutará el query correspondiente (normalmente el updateSql), tú código no varía, solo añade dicho objeto y configura sus propiedades. Saludos |
Cita:
Saludos |
Cita:
Saludos |
Cita:
Saludos |
Logre configurarlo en el DataSource, y haciendo doble clic aparece el editor. Pero alli mismo, no me figura el campo calculado. Genere el comando modify con otro campo, y luego lo edite manualmente al campo calculado. Pero cuando o en que momento se ejecuta esto?
Saludos |
Cuando editas un registro y le das a guardar (en un dbnavigator, o con la sentencia Dataset.Post), se ejecutará el UpdateSql.
Lo mismo ocurrirá al insertar, borrar etc. Cada sql se ejecutará con su opción correspondiente del DBNavigator. Supongo que en dichas sqls del UpdateSql solo tendrías que hacer referencia a la tabla que quieres modificar. En principio, y dado que es un campo calculado no te hace falta grabar nada, pero el "Grid debe creer" que sí se puede guardar el registro. Saludos |
Cita:
Saludos |
Existen Grids en Torry.net que hacen lo que pides, por ejemplo el SelectDbGrid v.1 (free con fuentes)
Por mi parte, siempre he usado la forma Standard o el VirtualStringTree (pero no es un control db-aware). De todas formas, si te empeñas, seguro que lo consigues. Saludos |
La franja horaria es GMT +2. Ahora son las 15:31:19. |
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