Visual Basic.NET - Select

   
Vista:

Select

Publicado por Viviana (18 intervenciones) el 14/03/2011 17:03:27
buenas tengo la siguiente consulta:
estoy sumando varios campos, pero no comprendo porque el primer registro lo muestra bien en el datagridview, pero la segunda fila me suma dos veces un registro, no se que pasa?.
el primer registro hace todo bien, el segundo me suma dos veces los datos de una tabla..


oConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + vp_conn
oComm.CommandText = " SELECT tblfracciones.num_sorteo, sum(IIf(tblfracciones.monto_fraccion>0, tblfracciones.monto_fraccion,0)) + " & _
" sum(IIf(tbldevagenlot.fracciones>0, tbldevagenlot.fracciones,0)), " & _
" sum(IIf(tblfracciones.monto>0, tblfracciones.monto,0)) + sum(IIf(tbldevagenlot.valor>0, tbldevagenlot.valor,0))" & _
" FROM tblfracciones INNER JOIN tbldevagenlot ON tbldevagenlot.num_sorteo = tblfracciones.num_sorteo" & _
" GROUP BY tblfracciones.num_sorteo"
oComm.Connection = oConn
oComm = New OleDbCommand(oComm.CommandText, oConn)
oConn.Open()
oData = oComm.ExecuteReader()
Do While oData.Read()
Me.DataGridView.Rows.Add(oData(0), oData(1), oData(2))
Me.DataGridView.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
Me.DataGridView.DefaultCellStyle.Format = "###,###.00"
Loop
oData.Close()
oConn.Close()
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Select

Publicado por viviana (18 intervenciones) el 15/03/2011 20:39:26
ya no, ya lo hice gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Select

Publicado por xve (88 intervenciones) el 15/03/2011 20:56:42
Podrías informarnos de cual es la solución??

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Select

Publicado por viviana (18 intervenciones) el 15/03/2011 20:59:02
tuve que hacer este, porque estaba trabajando con access, y este maneja la programacion diferente a sql , este es el codigo

oComm.CommandText = " SELECT max(p.consecutivo), p.num_sorteo, " & _
" max(IIf(p.mtofracc_consolidado>0,p.mtofracc_consolidado, 0) + " & _
" IIf(tbldevagenlot.fracciones>0,tbldevagenlot.fracciones,0)), " & _
" max(IIf(p.monto>0,p.monto, 0) + " & _
" IIf(tbldevagenlot.valor>0,tbldevagenlot.valor,0)) " & _
" FROM tblfracciones p " & _
" INNER JOIN tbldevagenlot ON tbldevagenlot.num_sorteo = p.num_sorteo " & _
" GROUP BY p.num_sorteo "
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar