2 pièce(s) jointe(s)
Crystal Report + 2 Query + VB Net
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.
Pièce jointe 219547
Pièce jointe 219548
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:
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.