Bonjour!
Voila, j´ai crée un form pour afficher une requete dans une datagrid.
Le probleme c´est que si c´est des periodes courtes cela marche(exemple du 2021-10-01 au 2021-10-08).
Par contre avec des dates plus longues j´ai une erreur fatal. Et je comprends pas pourquoi.
Ceci est mon code actuel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
Imports CrystalDecisions.CrystalReports.Engine
Imports MySql.Data.MySqlClient
Imports CrystalDecisions.Shared
Imports System.Configuration
Public Class Venta_Pales_por_Fecha_RPT
    Dim da As MySqlDataAdapter
    Dim ds As DataSet
    Dim p(7) As MySqlParameter
    Dim MysqlConn As MySqlConnection
    Dim COMMAND As MySqlCommand
    Dim READER As MySqlDataReader
    Dim con As New MySqlConnection(ConfigurationManager.ConnectionStrings("MACNX").ToString)
 
    Private Sub CrystalReportViewer1_Load(sender As Object, e As EventArgs)
 
    End Sub
 
    Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker1.ValueChanged
        'DateTimePicker1.CustomFormat = "yyyy-MM-dd"
    End Sub
 
    Private Sub DateTimePicker2_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker2.ValueChanged
        'DateTimePicker1.CustomFormat = "yyyy-MM-dd"
    End Sub
 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Me.Cursor = Cursors.WaitCursor
 
        Dim table As New DataTable()
        Dim command As New MySqlCommand("SELECT
                    Produccion.Producto,
                    Produccion.Producto_tipo,
                    Produccion.Formato,
                    Produccion.Marcado,
                    Produccion.Codigo_referencia,
                    Produccion.Particularidad,
                    count(*) as TOTAL_PALES,
                    SUM(Piezas) AS TOTAL_PIEZAS,SUM(Kilos) AS TOTAL_Kilos,
                    CONCAT(Produccion.Longitud, 'x',Produccion.Anchura) AS TAMANO
                    FROM Lote_Cliente, Produccion
                    WHERE (fecha_preparacion BETWEEN @FECHAINICIO AND @FECHAFINAL) AND Lote_Cliente.numero_lote_cliente = Produccion.Lote_cliente AND Produccion.Nave = @NAVE AND Produccion.Producto = @PRODUCTO
                    GROUP BY Produccion.Producto,Produccion.Producto_tipo,Produccion.Formato,Produccion.Marcado,Produccion.Codigo_referencia,Produccion.Particularidad,TAMANO
                    ORDER BY Produccion.Producto, Produccion.Producto_tipo,Produccion.Formato,TAMANO ASC,Produccion.Codigo_referencia,Produccion.Marcado ASC", con)
 
        command.Parameters.Add("@FECHAINICIO", MySqlDbType.Date).Value = DateTimePicker1.Value
        command.Parameters.Add("@FECHAFINAL", MySqlDbType.Date).Value = DateTimePicker2.Value
        command.Parameters.Add("@NAVE", MySqlDbType.Text).Value = ComboBox1.Text
        command.Parameters.Add("@PRODUCTO", MySqlDbType.Text).Value = ComboBox2.Text
        Dim adapter As New MySqlDataAdapter(command)
        adapter.Fill(table)
 
        DataGridView1.DataSource = table
 
        con.Close()
        con.Close()
        Me.Cursor = Cursors.Default
    End Sub
Quand je lance sur un client du type HeidiSQL cela tarde 2minutes mais il m´affiche sans erreur. Par contre dans ce cas je vois pas.
Je suis sur VB de temps à autres donc si je reviens poser des questions c´est normal.
Merci