FORMULARIOS MAESTROS DETALLES (VB2005)

11/04/2006 - 12:50 por Jose Luis Bellón | Informe spam
Hola,

Tengo la siguiente inquietud que no se resolver
Escenario:
Tabla maestro: Id, Fecha, Nombre, Total1, Total2 (Id es clave)
Tabla detalle : Id, Id_producto, Cantidad, Precio, Importe, Subtotal1,
Subtotal2

Pregunta:
Como se realiza la actualización en Total1, Total2, es decir, a medida que
se van agregando registros en el detalle, los los datos en subtotal1,
subtotal2 se sumen en total1, total2.
Gracias

Preguntas similare

Leer las respuestas

#1 Javier Càceres
11/04/2006 - 16:18 | Informe spam
Hola Jose

Supongo cada datagrid lo tienes amarrado a un dataset y que la relación
entre la tabla maestro y la de detalle es un primary key en la maestro; pues
bien a medida que la persona modifique la vista detalle en cada evento de
actualización de fila, debes actualizar el origen de datos del detalle y
maestro y volver a filtrar los totales así:

//Obtienes el ID del elemento seleccionado en el maestro
string strCurrentOrderID = dvOrders[grdOrders.CurrentRowIndex]
"OrderID"].ToString();

// Filtras la vista de detalle

dvOrderDetails.RowFilter = "OrderID = " + strCurrentOrderID;
grdOrderDetails.CaptionText = "Order# " + strCurrentOrderID;
grdOrderDetails.DataSource = dvOrderDetails;

Saludos dede Colombia!
Javier

"Jose Luis Bellón" wrote:

Hola,

Tengo la siguiente inquietud que no se resolver
Escenario:
Tabla maestro: Id, Fecha, Nombre, Total1, Total2 (Id es clave)
Tabla detalle : Id, Id_producto, Cantidad, Precio, Importe, Subtotal1,
Subtotal2

Pregunta:
Como se realiza la actualización en Total1, Total2, es decir, a medida que
se van agregando registros en el detalle, los los datos en subtotal1,
subtotal2 se sumen en total1, total2.
Gracias
Respuesta Responder a este mensaje
#2 Jose Luis Bellón
11/04/2006 - 23:29 | Informe spam
Hola Javier,

Muchas gracias por tu respuesta, muy atento de tu parte!!
No entiendo bien lo que me propones.
De todas formas intento explicar un poco mejor lo que no se resolver:

Tabla maestro: Id, Fecha, Nombre, Total (Id es PK y ademas Identity)

Tabla detalle: Id, Id_producto, Cantidad, Precio_Unitario, Importe (Id es
FK, Importe es un campo calculado en la base SQL = Cantidad * Precio_Unitario

He creado un dataset que incluyen las dos tablas y la realción entre estas
(campo Id)

He creado un Winform y he arrastrado como campos la tabla maestro y como
grilla la tabla detalle, quedando el formulario de esta forma:
-
Id : _____1
Fecha : 11/04/2006
Nombre: Fulano, Detal
-
Id | Id_prod.| Cant.| P.U.| Importe
-
1 | 015 | 10 | $5 | $50
1 | 032 | 6 | $2 | $12
-
Total: $62
-

Lo que quiero lograr es: a medida que el usuario agrega una linea (registro)
en el detalle acumule en el total, para este ejemplo: al agregar la primer
linea suma 50, luego con la segunda suma 62.

Aclaración: En el formulario esten muchos registros maestros y por cada
maestro muchos detalles.

Desde ya muchismas gracias por tu tiempo!!!
Desde argentina
Jose Luis Bellón



"Javier Càceres" wrote:


Hola Jose

Supongo cada datagrid lo tienes amarrado a un dataset y que la relación
entre la tabla maestro y la de detalle es un primary key en la maestro; pues
bien a medida que la persona modifique la vista detalle en cada evento de
actualización de fila, debes actualizar el origen de datos del detalle y
maestro y volver a filtrar los totales así:

//Obtienes el ID del elemento seleccionado en el maestro
string strCurrentOrderID = dvOrders[grdOrders.CurrentRowIndex]
"OrderID"].ToString();

// Filtras la vista de detalle

dvOrderDetails.RowFilter = "OrderID = " + strCurrentOrderID;
grdOrderDetails.CaptionText = "Order# " + strCurrentOrderID;
grdOrderDetails.DataSource = dvOrderDetails;

Saludos dede Colombia!
Javier

"Jose Luis Bellón" wrote:

> Hola,
>
> Tengo la siguiente inquietud que no se resolver
> Escenario:
> Tabla maestro: Id, Fecha, Nombre, Total1, Total2 (Id es clave)
> Tabla detalle : Id, Id_producto, Cantidad, Precio, Importe, Subtotal1,
> Subtotal2
>
> Pregunta:
> Como se realiza la actualización en Total1, Total2, es decir, a medida que
> se van agregando registros en el detalle, los los datos en subtotal1,
> subtotal2 se sumen en total1, total2.
> Gracias
Respuesta Responder a este mensaje
#3 Javier Càceres
12/04/2006 - 00:01 | Informe spam
Hola Jose

Tienes dos tablas en un dataset y cada una unida a un datagrid, entonces
cuando actualizas una, quieres que en la segunda se refleje también el
cambio; para hacer esto después de cambiar algun dato en la primera debes
actualizar el origen de datos (es decir actualizar la base de datos con los
cambios llamando al método Update del DataSet, por ejemplo) y filtrar la
vista del segundo datagrid, el cual como está relacionado con el primero
reflejará los cambios.

Javier

"Jose Luis Bellón" wrote:

Hola Javier,

Muchas gracias por tu respuesta, muy atento de tu parte!!
No entiendo bien lo que me propones.
De todas formas intento explicar un poco mejor lo que no se resolver:

Tabla maestro: Id, Fecha, Nombre, Total (Id es PK y ademas Identity)

Tabla detalle: Id, Id_producto, Cantidad, Precio_Unitario, Importe (Id es
FK, Importe es un campo calculado en la base SQL = Cantidad * Precio_Unitario

He creado un dataset que incluyen las dos tablas y la realción entre estas
(campo Id)

He creado un Winform y he arrastrado como campos la tabla maestro y como
grilla la tabla detalle, quedando el formulario de esta forma:
-
Id : _____1
Fecha : 11/04/2006
Nombre: Fulano, Detal
-
Id | Id_prod.| Cant.| P.U.| Importe
-
1 | 015 | 10 | $5 | $50
1 | 032 | 6 | $2 | $12
-
Total: $62
-

Lo que quiero lograr es: a medida que el usuario agrega una linea (registro)
en el detalle acumule en el total, para este ejemplo: al agregar la primer
linea suma 50, luego con la segunda suma 62.

Aclaración: En el formulario esten muchos registros maestros y por cada
maestro muchos detalles.

Desde ya muchismas gracias por tu tiempo!!!
Desde argentina
Jose Luis Bellón



"Javier Càceres" wrote:

>
> Hola Jose
>
> Supongo cada datagrid lo tienes amarrado a un dataset y que la relación
> entre la tabla maestro y la de detalle es un primary key en la maestro; pues
> bien a medida que la persona modifique la vista detalle en cada evento de
> actualización de fila, debes actualizar el origen de datos del detalle y
> maestro y volver a filtrar los totales así:
>
> //Obtienes el ID del elemento seleccionado en el maestro
> string strCurrentOrderID = dvOrders[grdOrders.CurrentRowIndex]
> "OrderID"].ToString();
>
> // Filtras la vista de detalle
>
> dvOrderDetails.RowFilter = "OrderID = " + strCurrentOrderID;
> grdOrderDetails.CaptionText = "Order# " + strCurrentOrderID;
> grdOrderDetails.DataSource = dvOrderDetails;
>
> Saludos dede Colombia!
> Javier
>
> "Jose Luis Bellón" wrote:
>
> > Hola,
> >
> > Tengo la siguiente inquietud que no se resolver
> > Escenario:
> > Tabla maestro: Id, Fecha, Nombre, Total1, Total2 (Id es clave)
> > Tabla detalle : Id, Id_producto, Cantidad, Precio, Importe, Subtotal1,
> > Subtotal2
> >
> > Pregunta:
> > Como se realiza la actualización en Total1, Total2, es decir, a medida que
> > se van agregando registros en el detalle, los los datos en subtotal1,
> > subtotal2 se sumen en total1, total2.
> > Gracias
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida