FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
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. |
#2
|
||||
|
||||
disculpas si ha sido tratado mil veces o es demasiado trivial el asunto
es q no lo encontre igualmente gracias por leer |
#3
|
||||
|
||||
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 |
#4
|
||||
|
||||
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! |
#5
|
|||
|
|||
hola,
mira si en lugar de asignar como calculated, lo puedes asignar como internalcalc, creo que este si que te servirá. un saludo |
#6
|
|||
|
|||
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? ; No sé si me equivoco, podria ser?? |
#7
|
||||
|
||||
Cita:
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. |
#8
|
||||
|
||||
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. |
#9
|
||||
|
||||
me queda la duda como generar el "campo calculado" en una consulta de access....
|
|
|
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 |
|