Reporte de Ventas
Buenos en este modulo lo unico que vamos a explotar las ventas del día pero tu puedes jugar con las tablas de acuerdo a tus necesidades.Agregamos un Windows Forms y vamos a llamar Reportes.cs y lo nombramos frmReportes
Comenzamos agregando un MenuStrip en el encabezado escribimos Opciones y agregamos una unica opción llamada Menú para regresar al menú principal.
Seleccionamos un Label y en el texto colocamos Ventas Por Día
Copiamos y pegamos el Label y en el texto Seleccionar Fecha:
Para seleccionar la fecha seleccionamos el componente DataTimePicker
Lo nombramos dtpFecha
Añadimos Button en texto colocamos Consultar y lo nombramos btnConsultar
Copiamos y pegamos otro Label el texto lo ponemos vació y lo nombramos lblVenta aquí es donde vamos poner la sumatoria de las ventas.
Hacemos dodble click en botón Consultar y escribimos
using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace GatoAbarrotero { public partial class frmReportes : Form { MySqlConnection conexion = new MySqlConnection("server=localhost;User id=admin;password=adminlara;database=puntodeventadb"); public frmReportes() { InitializeComponent(); } private void BtnConsultar_Click(object sender, EventArgs e) { try { conexion.Open(); string selectQuery = "SELECT SUM(total) as ventatotal FROM ventastotales " + "WHERE CAST(fecha as date) = @dia "; MySqlCommand cmd = new MySqlCommand(selectQuery, conexion); cmd.Parameters.AddWithValue("@dia", dtpFecha.Value.Date); MySqlDataAdapter selecionnar = new MySqlDataAdapter(); selecionnar.SelectCommand = cmd; DataTable datosVentas = new DataTable(); selecionnar.Fill(datosVentas); if (datosVentas.Rows.Count == 0) { MessageBox.Show("No tuviste ventas"); conexion.Close(); } else { DataRow row = datosVentas.Rows[0]; decimal ventasPorDia = Convert.ToDecimal(row["ventatotal"] is DBNull ? 0 : row["ventatotal"]); lblventa.Text = "Las ventas totales fueron de: $" + ventasPorDia; conexion.Close(); } } catch (MySqlException E) { MessageBox.Show(E.ToString()); } } } }
Del menú opciones presionamos dos veces la opción Menú
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace GatoAbarrotero
{
public partial class frmReportes : Form
{
MySqlConnection conexion = new MySqlConnection("server=localhost;User id=admin;password=adminlara;database=puntodeventadb");
public frmReportes()
{
InitializeComponent();
}
private void BtnConsultar_Click(object sender, EventArgs e)
{
try
{
conexion.Open();
string selectQuery = "SELECT SUM(total) as ventatotal FROM ventastotales " +
"WHERE CAST(fecha as date) = @dia ";
MySqlCommand cmd = new MySqlCommand(selectQuery, conexion);
cmd.Parameters.AddWithValue("@dia", dtpFecha.Value.Date);
MySqlDataAdapter selecionnar = new MySqlDataAdapter();
selecionnar.SelectCommand = cmd;
DataTable datosVentas = new DataTable();
selecionnar.Fill(datosVentas);
if (datosVentas.Rows.Count == 0)
{
MessageBox.Show("No tuviste ventas");
conexion.Close();
}
else
{
DataRow row = datosVentas.Rows[0];
decimal ventasPorDia = Convert.ToDecimal(row["ventatotal"] is DBNull ? 0 : row["ventatotal"]);
lblventa.Text = "Las ventas totales fueron de: $" + ventasPorDia;
conexion.Close();
}
}
catch (MySqlException E)
{
MessageBox.Show(E.ToString());
}
}
private void MenúToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Hide();
frmMenu menu = new frmMenu();
menu.Show();
}
}
}
Nos vamos al formulario Menu.cs y copiamos un Button en el texto escrbimos Reportes de Ventas y lo nombramos btnReportes
Hacemos doble click en el botón Reporte de ventas
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace GatoAbarrotero
{
public partial class frmMenu : Form
{
public frmMenu()
{
InitializeComponent();
}
private void BtnProductos_Click(object sender, EventArgs e)
{
this.Hide();
frmAgregarProducto agregarProdcuto = new frmAgregarProducto();
agregarProdcuto.Show();
}
private void BtnCodigo_Click(object sender, EventArgs e)
{
this.Hide();
frmCodigoBarras codigo = new frmCodigoBarras();
codigo.Show();
}
private void BtnPunto_Click(object sender, EventArgs e)
{
this.Hide();
frmPuntoVenta punto = new frmPuntoVenta();
punto.Show();
}
private void BtnReportes_Click(object sender, EventArgs e)
{
this.Hide();
frmReportes reportes = new frmReportes();
reportes.Show();
}
}
}
Prueba Final
Probamos la aplicaciónSeleccionamos fecha
Presionamos Consultar