Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-11-2008
Avatar de peccatum
peccatum peccatum is offline
Miembro
 
Registrado: oct 2005
Posts: 89
Poder: 19
peccatum Va por buen camino
Campo en memoria de un dataset.

Hola,

Estoy usando los controles básicos de bases de datos de Delphi y ADOQuery, yo lo que quiziera es tener un campo en el dataset que esté en memoria, no fisicamente en la base de datos, ya que por cada registro voy a calcular algo desde otras tablas y colocar el valor ahí (por cada ID_Articulo calcular la existencia teórica en base a otras consultas).

Campo calculado no me sirve, por que éste calculo no sucede en el evento OnCalcFields... lo que intente es agregar un campo de data pero al parecer este campo tiene que estar apuntando a uno físico en la DB.

La otra que se me ocurrió es poneer la columna en el dbgrid pero se me complico el planteo de la lógica para recorrer el grid ya que este no se recorre como un dataset.

algúna sugerencia?


PD: no puedo tocar la estructura de la DB.
Responder Con Cita
  #2  
Antiguo 05-11-2008
Avatar de peccatum
peccatum peccatum is offline
Miembro
 
Registrado: oct 2005
Posts: 89
Poder: 19
peccatum Va por buen camino
disculpas si ha sido tratado mil veces o es demasiado trivial el asunto

es q no lo encontre

igualmente gracias por leer
Responder Con Cita
  #3  
Antiguo 05-11-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
No creo que se trate de cuantas veces se toque el tema, para mi que el planteamiento que haces no es muy claro.
Disculpa pero por mi parte necesito un poco mas de explicacion.
Por ejemplo que base de datos usas, creo que dependiendo de esta se podra dar una u otra opinion.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #4  
Antiguo 05-11-2008
Avatar de peccatum
peccatum peccatum is offline
Miembro
 
Registrado: oct 2005
Posts: 89
Poder: 19
peccatum Va por buen camino
Hola Caral...

Estoy con Access... componentes ADO como te había comentado...

Tengo un TQuery que me trae n campos de una tabla.

Yo en el dbgrid quiero que me aparezcan n + 1 campos, donde este campo no sea real en la base de datos.

como dije campo calculado no me sirve... se me habia ocurrido agregar un campo más al dbgrid (no al dataset) , pero no he logrado mucho por ese camino (el problema es que no se como ir actualizando el campo 'ficticio' a medida que van cambiando los campos 'reales').

Ahora voy a probar con una memoryTable.

Saludos!
Responder Con Cita
  #5  
Antiguo 05-11-2008
JosepGA JosepGA is offline
Miembro
 
Registrado: jun 2007
Ubicación: Tarragona
Posts: 166
Poder: 17
JosepGA Va por buen camino
hola,

mira si en lugar de asignar como calculated, lo puedes asignar como internalcalc, creo que este si que te servirá.

un saludo
Responder Con Cita
  #6  
Antiguo 05-11-2008
pinkpanter pinkpanter is offline
Miembro
 
Registrado: oct 2006
Posts: 19
Poder: 0
pinkpanter Va por buen camino
Y una vista?

En Acces puedes generar Vistas?
Si es asi, puedes generar una vista con el campo calculado y ligas el dbgrid con la vista. Puedes poner el campo "calculado" del dbgrid readonly.
Cada vez que modifiques algun valor del dbgrid, cargas de nuevo el adoquery...Como llenas el dbgrid? Con una sentencia SQL?
Código Delphi [-]
 
 adoquery1.close;
 adoquery1.sql.text:=' select * from vista '
 adoquery1.execsql;
 adoquery1.open;
;

No sé si me equivoco, podria ser??
Responder Con Cita
  #7  
Antiguo 05-11-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.267
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por peccatum Ver Mensaje
...ya que por cada registro voy a calcular algo desde otras tablas y colocar el valor ahí (por cada ID_Articulo calcular la existencia teórica en base a otras consultas).
Calcular es en el cliente creo que te va a resultar muy lento. Si para cada línea tienes que realizar cálculos verás como "se pinta" cada fila.

Creo que lo mejor es que intentes hacerlo en la Base de datos, utilizando consultas o tablas temporales (ya que estás utilizando Access).

Para acceder a las consultas que tengas creadas con Access, si accedes con ADO puedes ejecutarlas como si se trataran de Stored Procedures (con el componentes de ADO para stored Procs).
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #8  
Antiguo 05-11-2008
Avatar de peccatum
peccatum peccatum is offline
Miembro
 
Registrado: oct 2005
Posts: 89
Poder: 19
peccatum Va por buen camino
Gracias a todos por las respuestas.

Neftali, efectivamente es como decís, cada vez que ejecuto la función que calcula sobre otras tablas veo en camara lenta como se va cargando, pero como es algo que no se hace cada vez que se refresca la tabla, mucho no me molesta... por ahora....


Gran saludo.
Responder Con Cita
  #9  
Antiguo 05-11-2008
Avatar de peccatum
peccatum peccatum is offline
Miembro
 
Registrado: oct 2005
Posts: 89
Poder: 19
peccatum Va por buen camino
me queda la duda como generar el "campo calculado" en una consulta de access....
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Copiar el contenido de un DataSet a otro DataSet Javi2 Varios 82 22-11-2022 09:26:16
Dataset JerS Conexión con bases de datos 2 16-06-2008 22:58:44
dataset Netyco SQL 2 15-10-2007 11:57:26
Usar campo LookUp como indice en DataSet amadis Conexión con bases de datos 4 17-05-2007 04:01:57
Al intentar modificar un campo me dice "Cannot modify a read-only dataset" raulahol SQL 1 22-01-2007 05:16:53


La franja horaria es GMT +2. Ahora son las 04:26:20.


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
Copyright 1996-2007 Club Delphi