Bonjour,

Voila, depuis quelques temps j'essai tant bien que mal a afficher 2 résultats de table dans un seul Crystal Report.

Mais quelque chose cloche et je ne trouve pas la solution et je viens ici en espérant que quelqu'un puisse trouver solution a mon problème.

J'ai créer un DataTable sous le nom de "SACARMANTENIMIENTO" et une autre "Mantenimiento_Programacion". Toutes les 2 contient 'Numero_Interno' pour faire la relation. La commande query fonctionne correctement sous phpMyAdmin ou autre logiciel pour faire les requête et m'affiche correctement ce que je veux. Jusque ici pas de problème. Le problème viens lorsque je charge le Crystal Report.

Dans le Crystal Report j'ai les tables "SACARMANTENIMIENTO" et "Mantenimiento_Programacion" avec la relation mise en place. Comme les capture si dessous.
Nom : Sans titre.png
Affichages : 183
Taille : 25,4 Ko
Nom : Sans titre1.png
Affichages : 150
Taille : 16,1 Ko

Mais au lancement aucun résultat est affiché. Par contre si j’enlève la relation il m'affiche correctement les données de "Mantenimiento_Programacion". J'ai essayer de créer un sous rapport pour afficher mais je ne sais pas comment le charger dans mon code.

Voici mon code pour si quelqu'un peu me dire comment afficher correctement avec ma requête sous Crystal Report.



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
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Try
                Dim ds As New DataSet
                Dim query As String
                p(0) = New MySqlParameter("@FECHAINICIO", MySqlDbType.String)
                p(0).Value = DateTimePicker1.Text
                p(1) = New MySqlParameter("@FECHAFIN", MySqlDbType.String)
                p(1).Value = DateTimePicker2.Text
                p(2) = New MySqlParameter("@Numero_Interno", MySqlDbType.String)
                p(2).Value = ComboBox1.Text
 
 
 
 
                query = "SELECT        Flota.Modelo, Flota.Marca, Flota.Tipo_Maquinaria, Flota.Numero_Serie, Flota.Matricula, Flota.Numero_Interno, Mantenimiento.Tipo_Mantenimiento, Mantenimiento.Descripcion, Mantenimiento.Fecha_Reparacion,
                         Mantenimiento.Taller, Mantenimiento.Materiales, Mantenimiento.Horas_Km, Mantenimiento.Accion, Mantenimiento.Fecha
FROM            Flota INNER JOIN
                         Mantenimiento ON Flota.Numero_Interno = Mantenimiento.Numero_Interno
WHERE        (Mantenimiento.Fecha BETWEEN @FECHAINICIO AND @FECHAFIN) AND (Mantenimiento.Numero_Interno = @Numero_Interno);(SELECT * FROM
Mantenimiento_Programacion WHERE Mantenimiento_Programacion.Numero_Interno = @Numero_Interno)"
 
 
                Dim dscmd As New MySqlDataAdapter(query, con)
                dscmd.SelectCommand.Parameters.Add(p(0))
                dscmd.SelectCommand.Parameters.Add(p(1))
                dscmd.SelectCommand.Parameters.Add(p(2))
                dscmd.Fill(ds, "SACARMANTENIMIENTO")
                dscmd.Fill(ds, "Mantenimiento_Programacion")
                con.Close()
                Dim cryds As New SacarMantenimientoReport
                cryds.SetDataSource(ds.Tables(0))
                cryds.SetDataSource(ds.Tables(1))
                CrystalReportViewer1.ReportSource = cryds
                CrystalReportViewer1.Refresh()
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
 
    End Sub
Merci de votre aide.