Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Como puedo introducir datos de 3 tablas en un mismo gridview

28 views
Skip to first unread message

Angelo

unread,
May 31, 2007, 5:55:34 AM5/31/07
to
Hola ...

Quiero meter en un mismo grid los datos de 3 tablas ( ventas, compras,
inventario).Se me ocurren 3 formas de hacerlo pero no se como hacerlo.
.- 1 Forma. Tableadapter:
Las tablas estan agrupadas y no puedo crear un tableadaptert.
2. forma
Si creo 3 sqldatasource como puedo selecionar datos de cada uno de ellos ?
quiero coger del 1 sqldatasource el campo ventas, del 2 el campo compras y
del 3 el campo inventario. y todo ello plamarlo en el gridview .
3. forma
Con el dataadapter.
' Dataset Ventas
Dim CmdVen As OracleCommand = New OracleCommand("SELECT
TVAL1.DELCOD,DELNOM,COUNT(*) AS NUMALB, SUM((SELECT SUM(ALBARTCAN *
ALBLINPRC) FROM TVAL11 WHERE EMPRCOD='01' AND DELCOD=TVAL1.DELCOD AND
ALBCOD=TVAL1.ALBCOD)) as TOTVEN,SUM((SELECT SUM(ALBARTCAN * ALBPRECOS) FROM
TVAL11 WHERE EMPRCOD='01' AND DELCOD=TVAL1.DELCOD AND ALBCOD=TVAL1.ALBCOD))
as TOTCOM " & _

"FROM TVAL1,BDL01 WHERE TVAL1.EMPRCOD = '01' AND (ALBFEC >=:FecDes) AND
(ALBFEC <=:FecHas) AND TVAL1.DELCOD=BDL01.DELCOD AND
TVAL1.EMPRCOD=BDL01.EMPRCOD GROUP BY TVAL1.DELCOD,DELNOM", ConOra)

Dim DataVen As New OracleDataAdapter

DataVen.SelectCommand = CmdVen

' Generar Parametro de FechaDesde

CmdVen.Parameters.Add(New OracleParameter(":FecDes", OracleType.DateTime,
12))

' Asignar el valor al parametro

CmdVen.Parameters(":FecDes").Value = Date.Parse(Me.WebDateDes.Value)

' Generar Parametro de FechaHasta

CmdVen.Parameters.Add(New OracleParameter(":FecHas", OracleType.DateTime,
12))

' Asignar el valor al parametro

CmdVen.Parameters(":FecHas").Value = Date.Parse(Me.WebDateHas.Value)

DataVen.Fill(DsErka, "VENDEL")

Esto funciona correctamente, pero cuando asocio los valores a la variable
fila no coge los valores:
Dim fila As DsErka.VENDELRow

For Each fila In DsErka.VENDEL.Rows

For VarCon = 1 To 6

Me.GridVenDel.Rows(VarCon).Cells(1).Value = fila.DELNOM

Me.GridVenDel.Rows(VarCon).Cells(2).Value = fila.NUMALB

Me.GridVenDel.Rows(VarCon).Cells(3).Value = fila.TOTVEN

Me.GridVenDel.Rows(VarCon).Cells(4).Value = fila.TOTCOM

Me.GridVenDel.Rows(VarCon).Cells(5).Value = fila.MARGEN

Next

Next

Luis Ruiz Pavón

unread,
May 31, 2007, 10:03:04 AM5/31/07
to
Te dejo un enlace para anidar varios GridView y así podrías hacerlo:

http://www.codeproject.com/aspnet/MultiNestMDGridview.asp

Salu2
--
Colabora con el foro: Si la respuesta te es de utilidad marca la pregunta
como respondida.
Luis Ruiz Pavón
MCP
Blog: http://geeks.ms/blogs/lruiz

"Angelo" wrote:

> Hola ...
>
> Quiero meter en un mismo grid los datos de 3 tablas ( ventas, compras,
> inventario).Se me ocurren 3 formas de hacerlo pero no se como hacerlo.

> ..- 1 Forma. Tableadapter:

Víctor Alameda

unread,
Jun 3, 2007, 10:37:01 PM6/3/07
to
Que tal Luis,

Si quieres mostrar las 3 tablas en una mismo GridView, una forma sería que
utilizaras la instrucción INNER JOIN dentro de tu setencia SELECT de SQL.

Ej.

SELECT Table1.*, Table2.*, Table3.* FROM Table1 INNER JOIN Table2 ON
Table1.Id = Table2.Id INNER JOIN Table3 ON Table2.Id = Table3.Id

Debes de tomar en cuenta que para utilizar esta sentencia, deberá de existir
un Id común para ligar a las 3 tablas. Esta sentencia la puedes utilizar con
DataSets o con el control SqlDataSource, de esta forma ligarás un solo
SqlDataSource a tu GridView

Espero que esto te sirva, sino no dudes postearlo para ayudarte a resolver
tus dudas.

Saludos!
Víctor Alameda
DevelopersDotNet.com

Víctor Alameda

unread,
Jun 3, 2007, 10:40:00 PM6/3/07
to
Perdon Angelo :) me equivoque en el nombre :)

Saludos!

0 new messages