FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
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
__________________
Última edición por MaMu fecha: 01-12-2007 a las 09:08:49. |
#2
|
||||
|
||||
por que no usas la opcion de seleción multiple del dbgrid en lugar de añadir un capo?
|
#3
|
||||
|
||||
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
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#4
|
||||
|
||||
Cita:
Saludos
__________________
|
#5
|
||||
|
||||
Cita:
Saludos
__________________
|
#6
|
||||
|
||||
Cita:
Saludos
__________________
|
#7
|
||||
|
||||
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
__________________
|
#8
|
||||
|
||||
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
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#9
|
||||
|
||||
Cita:
Saludos
__________________
|
#10
|
||||
|
||||
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
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problema con CampoCalculado en Access | MaMu | Conexión con bases de datos | 1 | 10-06-2007 18:01:48 |
"floating point overflow" en campocalculado | ANXO | Conexión con bases de datos | 0 | 22-01-2006 16:59:58 |
|