Visual Basic.NET - Consulta entre fechas

 
Vista:

Consulta entre fechas

Publicado por JAF16 (6 intervenciones) el 07/05/2008 10:27:11
Tengo un formulario con dos controles datetimepicker uno como Inicio y el
otro Fin y el siguiente código, la idea es que la consulta me devuelva los
valores entre las fechas de los controles, he probado de varias formas y me
da error, que es lo que tengo mal

Dim da As OleDbDataAdapter = New OleDbDataAdapter("SELECT
NOMBREOBRA,PROVEEDORES.PROVEEDORNOMBRE,SUM(ALBARAN.IMPORTEALBARAN) FROM OBRAS
INNER JOIN (TARIFAPROVEEDOR INNER JOIN (ALBARAN INNER JOIN PROVEEDORES ON
ALBARAN.IDPROVEEDOR=PROVEEDORES.IDPROVEEDOR) ON
TARIFAPROVEEDOR.IDTARIFA=ALBARAN.IDTARIFA)ON
OBRAS.IDOBRA=TARIFAPROVEEDOR.IDOBRA GROUP BY
NOMBREOBRA,PROVEEDORES.PROVEEDORNOMBRE WHERE ALBARAN.FECHAALBARAN >=@INICIO
AND ALBARAN.FECHAALBARAN <=@FIN", conexion)
Dim DS As DataSet = New DataSet
conexion.Open()
da.SelectCommand.Parameters.AddWithValue("@INICIO",
Me.Inicio.Value.Date)
da.SelectCommand.Parameters.AddWithValue("@FIN", Me.FIN.Value.Date)
da.Fill(DS)
Me.DataGridView1.DataSource = DS.Tables(0)
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
sin imagen de perfil

RE:Consulta entre fechas

Publicado por P. J. (706 intervenciones) el 07/05/2008 17:40:54
...
A TODO ESTO, ¿donde te marco el error?

Viendo el codigo creo que es por la consulta:

"SELECT NOMBREOBRA,PROVEEDORES.PROVEEDORNOMBRE,SUM(ALBARAN.IMPORTEALBARAN)
FROM OBRAS
INNER JOIN (TARIFAPROVEEDOR INNER JOIN (ALBARAN INNER JOIN PROVEEDORES ON
ALBARAN.IDPROVEEDOR=PROVEEDORES.IDPROVEEDOR) ON
TARIFAPROVEEDOR.IDTARIFA=ALBARAN.IDTARIFA)ON
OBRAS.IDOBRA=TARIFAPROVEEDOR.IDOBRA GROUP BY
NOMBREOBRA,PROVEEDORES.PROVEEDORNOMBRE
WHERE ALBARAN.FECHAALBARAN >=@INICIO
AND ALBARAN.FECHAALBARAN <=@FIN"

Como tienes un clausula SUM deberia agruparse (eso creo), quedaria asi despues del where:

WHERE ALBARAN.FECHAALBARAN BETWEEN @INICIO AND @FIN
GROUP BY NOMBREOBRA,PROVEEDORES.PROVEEDORNOMBRE

Ah, el BETWEEN es para buscar entre un rango.
Salu2
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

RE:Consulta entre fechas

Publicado por jaf16 (6 intervenciones) el 07/05/2008 17:51:37
Muchas gracias, era así era
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