Campo calculado que se almacene en la BD

29/09/2004 - 19:57 por Giggs | Informe spam
Necesito crear una columna calculada (lo típico de precio*cantidad), pero
también quiero almacenarlo en la BD.

No puedo crear una columna calculada de la forma normal porque no quiere
grabarlo.

He intentado hacerlo por el evento RowChange del DateTable pero cuando
cambio el valor se produce un desbordamineto de la pila (Stack Overflow).

Lo he solucionado de la manera siguiente, pero me parece muy cutre. Seguro
que hay algo mejor.


If fila("total")<>fila("precio")*fila("cantidad") then
fila("total")=fila("precio")*fila("cantidad")
End If

Un saludo

Preguntas similare

Leer las respuestas

#1 Out of office
30/09/2004 - 03:14 | Informe spam
Hola...

Ya intentaste asignando la propiedad Expresion de la columna Total del
DataTable en cuestión?


dt.Columns("Total").Expression = "precio * cantidad"

esto funcionará si existen las columnas "Total","precio" y "cantidad", que
en este caso es obvio por el ejemplo que propones.

Saludos...

Octavio Telis Aynés
www.comunidadpuntonet.org/df/


"Giggs" wrote in message
news:#
Necesito crear una columna calculada (lo típico de precio*cantidad), pero
también quiero almacenarlo en la BD.

No puedo crear una columna calculada de la forma normal porque no quiere
grabarlo.

He intentado hacerlo por el evento RowChange del DateTable pero cuando
cambio el valor se produce un desbordamineto de la pila (Stack Overflow).

Lo he solucionado de la manera siguiente, pero me parece muy cutre. Seguro
que hay algo mejor.


If fila("total")<>fila("precio")*fila("cantidad") then
fila("total")=fila("precio")*fila("cantidad")
End If

Un saludo


Respuesta Responder a este mensaje
#2 Giggs
30/09/2004 - 10:57 | Informe spam
Sí, lo he probado pero si lo quiero almacenar en la base de datos no me
deja. Dice que debe ser una columna calculada.

El error que me da es "Error en la asignación de columna sourcecolumn
"total" porque datacolumn "total" es una columna calculada".

Un saludo
Respuesta Responder a este mensaje
#3 Octavio Telis Aynes
01/10/2004 - 22:43 | Informe spam
Hola...

Bueno, podrías hacer lo siguiente.

Digamos que para fines de mostrar la información que se captura, lo pongas
en el data table, talvés tendrá que ser un DT alternativo solo para
mostrar... y manejar en la base de datos la columna calculada.

Ahora bien, si es mucho teje maneje el andar manipulando dos DataTAble,
también podrías mandar a salvar los datos, tener la columna calculada en la
basse de datos y obtener una consulta de Refresh para mostrar los datos...

Bueno, más o menos por ahí sería el asunto.

Saludos...

Octavio Telis Aynés
www.comunidadpuntonet.org/df/

"Giggs" escribió en el mensaje
news:
Sí, lo he probado pero si lo quiero almacenar en la base de datos no me
deja. Dice que debe ser una columna calculada.

El error que me da es "Error en la asignación de columna sourcecolumn
"total" porque datacolumn "total" es una columna calculada".

Un saludo


Respuesta Responder a este mensaje
#4 Giggs
04/10/2004 - 14:04 | Informe spam
Lo de los dos DataTable sería un poco lioso para algo que ya funciona. Lo
otro está bien pero supongo que el rendimiento sería flojo.

Parece que no hay una solución que sea sencilla. ¿Qué le vamos a hacer?

Gracias a todos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida