Bonjour mes ami(e)s développeurs(euses),
Je voudrais avoir des aides concernant l'utilisation des rapports local.
J'ai une application qui gère des produits, clients, et autres pour un garage. l'utilisateur pourra enregistrer une commande.
Ce que je souhaiterais faire c'est afficher un bon de commande en fonction du client choisi dans une combo box.
Code du combo box qui fonctionne parfaitement :
je rempli donc ma combo box sur 2 colonne qui affichera le nom et prénom du client
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 Public Sub ComboClients() strConn = "Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\EstDistribution.mdf;Integrated Security=True" ObjetConnection = New SqlConnection(strConn) ObjetConnection.Open() strSql = "SELECT * FROM clients" ObjetCommand = New SqlCommand(strSql) ObjetCommand.Connection() = ObjetConnection Dim myReader As SqlDataReader = ObjetCommand.ExecuteReader() Dim dt As New DataTable dt.Columns.Add("colone1") dt.Columns.Add("colonne2") Do While myReader.Read Dim v1 = myReader.Item(0) Dim v2 As String = myReader.GetString(1) & " " & myReader.GetString(2) dt.Rows.Add(v1, v2) Loop myReader.Close() cbClients.DataSource = dt cbClients.DisplayMember = "colonne2" ObjetConnection.Close() cbClients.SelectedIndex = -1 cbClients.SelectedItem = Nothing End Sub
la tout se complique pour moi, j'arrive pas à afficher la commande concernant le client. dans mon data-set, j'ai créer une data-table qui fait appelle à une requête avec des jointure qui m'affiche toutes les commandes présente dans la base de données.
Voici le code au niveau du changement de la combobox :
j'ai une erreur au niveau de la synthaxe : Incorrect syntax near '.'.
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 strConn = "Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\EstDistribution.mdf;Integrated Security=True" dv = CType(Me.cbClients.SelectedItem, DataRowView) 'Défini l'item 0 de la combobox ObjetConnection = New SqlConnection(strConn) ObjetConnection.Open() Dim daCommandesClientsDetails As SqlClient.SqlDataAdapter = New SqlDataAdapter("SELECT date_commande, nom, prenom, email," & "adresse, tel, libelle, reference, stock, prix, description, quantite FROM clients" & "INNER JOIN commande ON commande.id_client = clients.id_client INNER JOIN concerne" & "ON concerne.id_commande = commande.id_commande INNER JOIN produits ON produits.id_produit = concerne.id_produit" & "WHERE clients.id_client = " & dv(0), strConn) Dim dt1 = New DataTable daCommandesClientsDetails.Fill(dt1) ReportViewer1.ProcessingMode = ProcessingMode.Local If System.IO.File.Exists(System.IO.Directory.GetCurrentDirectory() & "\..\..\RapportBonCommande.rdlc") Then ReportViewer1.LocalReport.ReportPath = System.IO.Directory.GetCurrentDirectory() & "\..\..\RapportBonCommande.rdlc" ElseIf System.IO.File.Exists(System.IO.Directory.GetCurrentDirectory() & "\RapportBonCommande.rdlc") Then ReportViewer1.LocalReport.ReportPath = _ System.IO.Directory.GetCurrentDirectory() & "\RapportBonCommande.rdlc" End If ReportViewer1.LocalReport.DataSources.Clear() ReportViewer1.LocalReport.DataSources.Add(New ReportDataSource("EstDistributionDataSet", dt1)) ReportViewer1.RefreshReport()
Je vous remercie d'avance ^^
Partager