none
ayuda con una base de datos RRS feed

  • Pregunta

  • buenas Amigos de esta excelente comunidad..

    Tengo una base de datos de un programilla que estoy haciendo, en la base de datos guardo los registro de la venta por dia, guardo las ventas diarias.

    tengo una pregunta creo que bastante complicada por que no conocen muchos aspectos pero ahi va.

    ahora tengo un reporte que me muestra las venta por la fecha que eliga el usuario hasta ahi todo bien, pero quiero hacer un reporte que me muestre las venta segun 2 fechas desde-hasta pero solo quiero que me muestre los totates por dia o fecha, por que si realizo una consulta me muestra todos los registros y no quiero eso, quiero el total por dia, un ejemplo si el usuario escojio la siguiente fecha 01/08/2011 hasta 10/08/2011 solo debe mostrar el total de la venta de los 10 dias, si alguin tiene una idea de como hacer esto se lo agradesco

    Estoy trabajando en studio 2010 y crystal reports, la base de datos es de access 2010 

    sábado, 3 de septiembre de 2011 16:33

Todas las respuestas

  • hola

    bueno son varios temas que tratar

    - con respecto a la query podrias usar algo como ser

    SELECT fecha, SUM(importe) FROM Ventas

    WHERE fecha BETWEEN @fechadesde AND @fechahasta

    GROUP BY fecha

    con eso tendrias las ventas por cada dia , en un rango seleccionado

     

    como veras se usa parametros para los filtros

     

    ADO.NET Parte 3 Actualización Información Sql Server

    dale una mirada al articulo para ver como aplciarlo, pero no es dificil, solo le pasas una fecha en Datetime al Parameters del OleDbCommand

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    sábado, 3 de septiembre de 2011 19:12
  • con respecto al reporte aconsejaria uses dataset tipados

    [Crystal Reports] Usar DataSet Tipado con dos DataTable

    como uso en el articulo, veras que en tu caso ejecutando la query anterior, puedes cargar los datatable del dataset tipado que asignarias al reporte

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    sábado, 3 de septiembre de 2011 19:14
  • Amigo leandro no e podido hacer funcionar la query este es el codigo da error de no se a especificado valores para algunos parametros     
    
       Dim sSelect As String = "SELECT fecha, SUM(importe) FROM Venta WHERE fecha BETWEEN @fechadesde AND @fechahasta GROUP BY fecha"
            Using dbConn As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=aqui la ruta.accdb")
                Try
                    dbConn.Open()
                    Dim command As New OleDb.OleDbCommand(sSelect, dbConn)
                    command.Parameters.AddWithValue("@fechadesde", String.Format("{0}", Me.DateTimePicker1.Text))
                    command.Parameters.AddWithValue("@fechahasta", String.Format("{0}", Me.DateTimePicker2.Text))
                    Dim da As New OleDb.OleDbDataAdapter(command)
                    Dim dt As New DataTable
                    da.Fill(dt)
                    Dim CrReport As New CrystalDecisions.CrystalReports.Engine.ReportDocument
                    ' Asigno el reporte 
                    CrReport = New CrystalDecisions.CrystalReports.Engine.ReportDocument()
                    CrReport.Load("aqui la ruta.rpt")
                    CrReport.SetDataSource(dt)
                    CrystalReportViewer1.ReportSource = CrReport
                Catch ex As Exception
                    MessageBox.Show("Error al abrir la base de datos" & vbCrLf & ex.Message)
                    Exit Sub
                End Try
            End Using
        End Sub
    

    miércoles, 7 de septiembre de 2011 20:06
  • Por favor alguien que me ayude con la query..

    Amigo leandro no e podido hacer funcionar la query este es el codigo da error de no se a especificado valores para algunos parametros     
     
       Dim sSelect As String = "SELECT fecha, SUM(importe) FROM Venta WHERE fecha BETWEEN @fechadesde AND @fechahasta GROUP BY fecha"
            Using dbConn As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=aqui la ruta.accdb")
                Try
                    dbConn.Open()
                    Dim command As New OleDb.OleDbCommand(sSelect, dbConn)
                    command.Parameters.AddWithValue("@fechadesde", String.Format("{0}", Me.DateTimePicker1.Text))
                    command.Parameters.AddWithValue("@fechahasta", String.Format("{0}", Me.DateTimePicker2.Text))
                    Dim da As New OleDb.OleDbDataAdapter(command)
                    Dim dt As New DataTable
                    da.Fill(dt)
                    Dim CrReport As New CrystalDecisions.CrystalReports.Engine.ReportDocument
                    ' Asigno el reporte 
                    CrReport = New CrystalDecisions.CrystalReports.Engine.ReportDocument()
                    CrReport.Load("aqui la ruta.rpt")
                    CrReport.SetDataSource(dt)
                    CrystalReportViewer1.ReportSource = CrReport
                Catch ex As Exception
                    MessageBox.Show("Error al abrir la base de datos" & vbCrLf & ex.Message)
                    Exit Sub
                End Try
            End Using
        End Sub
    
    

    sábado, 10 de septiembre de 2011 17:51
  • Amigo leandro por favor deme una ayuda con la query
    lunes, 12 de septiembre de 2011 17:26
  • porque envias el Text de la fecha y no directo esta mismo

    podrias usar

     command.Parameters.AddWithValue("@fechadesde", Me.DateTimePicker1.Value))
     command.Parameters.AddWithValue("@fechahasta",  Me.DateTimePicker2.Value)

    tambien puede probar usando

    Me.DateTimePicker1.Value.Date

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    lunes, 12 de septiembre de 2011 17:30
  • Nada amigo leandro da error dice que no se ah especificado valores para algunos parametros...
    • Editado Ferchocar miércoles, 14 de septiembre de 2011 0:01
    martes, 13 de septiembre de 2011 23:58