¾ Ecrire le code pour les boutons de déplacements
(Premier, Suivant, Précèdent, Dernier).
¾ Ecrire le code pour les boutons : Nouveau,
Ajouter, Modifier et Supprimer.
4.
Tester votre application.Solution:
Imports System.Data.SqlClient
'On va ajouter un module (parce que on travail par plusieurs formulaire):
Module Module1
Public con As New SqlConnection
("database=Client_Produit; server=; integrated security=sspi")
Public cmd As SqlCommand Public dr As SqlDataReader Public da As SqlDataAdapter Public ds As New DataSet
Public Form_Client As New Form2 Public Form_Produit As New Form3 Public pos As Integer
End Module
'Code du formulaire MDI: Public Class Form1
Private Sub Form14_Load(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Le formulaire devient un MDI: Me.IsMdiContainer = True
End Sub
'Le code du chargement de la feuille Client: Private Sub MenuItem2_Click (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem2.Click
'Tu précises lMdi de la formulaire client : Form_Client.MdiParent=Me
'Tu donnes le size maximum au formulaire client: Form_Client.WindowState = FormWindowState.Maximized Form_Client.Show() Form_Produit.Hide() End Sub
' Le code du chargement de la feuille produit: Private Sub MenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem3.Click
'Tu précises lMdi de la formulaire produit : Form_Produit.MdiParent=Me
'Tu donnes le size maximum au formulaire
produit: Form_Produit.WindowState = FormWindowState.Maximized Form_Client.Hide() Form_Produit.Show() End Sub End Class
'Le code de la Formulaire Client :
Imports System.Data.SqlClient
Public Class Form2
Private Sub Form2_Load (ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
con.Open()
Me.TxtCode.Select()
'Remplir le dataset par tous les clients:
da = New SqlDataAdapter("select * from client", con) da.Fill(ds, "client")
End Sub
'Créé une procédure qui permet de remplir le Dataset
'On appelé cette procédure ds les Bouton
'Ajouter, modifier et supprimer:
Public Sub RemplirDS() ds.Clear()
da = New SqlDataAdapter("select * from client", con) da.Fill(ds, "client")
End Sub
'Le code de de Bouton nouveau :
Private Sub btnNouveau_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
btnNouveau.Click Me.TxtCode.Text = "" Me.TxtNom.Text = "" Me.TxtPrenom.Text = "" Me.TxtCode.Select() End Sub
'Le code du Bouton Ajouter :
Private Sub BtnAjouter_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
BtnAjouter.Click
cmd = New SqlCommand("insert into client values (" &
Me.TxtCode.Text & ",'" & Me.TxtNom.Text & "','" &
Me.TxtPrenom.Text & "')", con) cmd.ExecuteNonQuery()
MsgBox("le client est ajouté !!", MsgBoxStyle.Information) 'L’appel de la procédure RempirDS:
RemplirDS() End Sub
'Le code du Bouton modifier :
Private Sub btnModifier_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
btnModifier.Click
cmd = New SqlCommand("update client set nom_cli='" &
Me.TxtNom.Text & "', pren_cli='" & Me.TxtPrenom.Text & "' where code_cli=" & Me.TxtCode.Text & "", con) cmd.ExecuteNonQuery()
MsgBox("le client est Modifié !!", MsgBoxStyle.Information)
'L’appel de la procédure RempirDS:
RempirDS() End Sub
'Le code du Bouton supprimer :
Private Sub btnSupprimer_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
btnSupprimer.Click
cmd = New SqlCommand("delete client where code_cli="
& Me.TxtCode.Text & "", con) cmd.ExecuteNonQuery()
MsgBox("le client est supprimé !!",MsgBoxStyle.Information)
'L’appel de la procédure RempirDS:
RempirDS() End Sub
'Le code du Bouton premier :
Private Sub BtnPremier_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
BtnPremier.Click pos = 0
Me.TxtCode.Text = ds.Tables("client").Rows(pos).Item(0)
Me.TxtNom.Text = ds.Tables("client").Rows(pos).Item(1)
Me.TxtPren.Text= ds.Tables("client").Rows(pos).Item(2)
End Sub
'Le code du Bouton dernier :
Private Sub btnDernier_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
btnDernier.Click
pos = ds.Tables("client").Rows.Count - 1
Me.TxtCode.Text = ds.Tables("client").Rows(pos).Item(0)
Me.TxtNom.Text = ds.Tables("client").Rows(pos).Item(1)
Me.TxtPren.Text= ds.Tables("client").Rows(pos).Item(2)
End Sub
'Le code du Bouton suivant :
Private Sub btnSuivant_Click (ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
btnSuivant.Click
Me.bntPrécédent.Enabled = True
If pos = ds.Tables("client").Rows.Count - 1 Then
Me.btnSuivant.Enabled = True
Else
pos = pos + 1
Me.TxtCode.Text = ds.Tables("client").Rows(pos).Item(0)
Me.TxtNom.Text = ds.Tables("client").Rows(pos).Item(1)
Me.TxtPren.Text= ds.Tables("client").Rows(pos).Item(2) End If
End Sub
'Le code du Bouton précédent :
Private Sub bntPrécédent_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
bntPrécédent.Click Me.btnSuivant.Enabled = True If pos = 0 Then Me.bntPrécédent.Enabled = True Else pos = pos - 1
Me.TxtCode.Text = ds.Tables("client").Rows(pos).Item(0)
Me.TxtNom.Text = ds.Tables("client").Rows(pos).Item(1)
Me.TxtPren.Text= ds.Tables("client").Rows(pos).Item(2) End If
End Sub End Class
---
'Le code de la Formulaire produit :
Imports System.Data.SqlClient
Public Class Form2
Private Sub Form2_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load con.Open()
'Remplir le datset par tous les clients:
da = New SqlDataAdapter("select * from produit", con) da.Fill(ds, "produit")
'Remplir le combobox par les codes des clients:
cmd = New SqlCommand("select code_cli from client",con) Dim dr As SqlDataReader = cmd.ExecuteReader While dr.Read
Me.ComboClient.Items.Add(dr(0)) End While
dr.Close()
'Créé une procédure qui permet de remplir le DataSet 'On appelé cette procédure ds les Bouton
'Ajouter, modifier et supprimer:
Public Sub RemplirDS() ds.Clear()
da = New SqlDataAdapter("select * from produit", con)
da.Fill(ds, "produit") End Sub
'Le code de de Bouton nouveau :
Private Sub btnNouveau_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
btnNouveau.Click Me.TxtCode.Text = "" Me.TxtNom.Text = "" Me.TxtPrix.Text = "" Me.ComboClient.SelectedIndex = -1 Me.TxtCode.Select() End Sub
'Le code de de Bouton Ajouter :
Private Sub BtnAjouter_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
BtnAjouter.Click
cmd = New SqlCommand("insert into produit values (" &
Me.TxtCode.Text & ",'" & Me.TxtNom.Text & "'," &
Me.TxtPrix.Text & "," & Me.ComboClient.Text & ")", con)
cmd.ExecuteNonQuery()
MsgBox("le produit est ajouté !!", MsgBoxStyle.Information)
'L’appel de la procédure RemplirDS:
RemplirDS() End Sub
'Le code de de Bouton Modifier :
Private Sub btnModifier_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnModifier.Click
cmd = New SqlCommand("update produit set
code_pro='" & Me.ComboClient.Text & "',
nom_pro='" & Me.TxtNom.Text & "', prix_pro='" & Me.TxtPrix.Text & "' where code_cli=" &
Me.TxtCode.Text & "", con) cmd.ExecuteNonQuery()
MsgBox ("le produit est Modifié !!", MsgBoxStyle.Information)
'L’appel de la procédure RemplirDS: RemplirDS()
End Sub
'Le code de Bouton supprimer :
Private Sub btnSupprimer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSupprimer.Click
cmd = New SqlCommand("delete produit where code_pro=" & Me.TxtCode.Text & "", con) cmd.ExecuteNonQuery()
MsgBox ("le produit est supprimé !!", MsgBoxStyle.Information)
'L’appel de la procédure RemplirDS: RemplirDS()
'Le code de Bouton premier :
Private Sub BtnPremier_Click (ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
BtnPremier.Click
pos = 0
Me.TxtCode.Text =ds.Tables("produit").Rows(pos).Item(0)
Me.TxtNom.Text =ds.Tables("produit").Rows(pos).Item(1)
Me.TxtPrix.Text =ds.Tables("produit").Rows(pos).Item(2)
Me.ComboCli.Text=ds.Tables("produit").Rows(pos).Item(3) End Sub
'Le code de Bouton dernier :
Private Sub btnDernier_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDernier.Click
pos = ds.Tables("produit").Rows.Count - 1
Me.TxtCode.Text=ds.Tables("produit").Rows(pos).Item(0)
Me.TxtNom.Text =ds.Tables("produit").Rows(pos).Item(1)
Me.TxtPrix.Text =ds.Tables("produit").Rows(pos).Item(2)
Me.ComboCli.Text=ds.Tables("produit").Rows(pos).Item(3) End Sub
'Le code de Bouton suivant :
Private Sub btnSuivant_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSuivant.Click
Me.bntPrécédent.Enabled = True
If pos = ds.Tables("produit").Rows.Count –1 Then
Me.btnSuivant.Enabled = True
Else
pos = pos + 1
Me.TxtCode.Text =ds.Tables("produit").Rows(pos).Item(0)
Me.TxtNom.Text =ds.Tables("produit").Rows(pos).Item(1)
Me.TxtPrix.Text =ds.Tables("produit").Rows(pos).Item(2)
Me.ComboCli.Text=ds.Tables("produit").Rows(pos).Item(3) End If
'Le code de Bouton précédent :
Private Sub bntPrécédent_Click (ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles bntPrécédent.Click Me.btnSuivant.Enabled = True
If pos = 0 Then
Me.bntPrécédent.Enabled = True Else
pos = pos - 1
Me.TxtCode.Text =ds.Tables("produit").Rows(pos).Item(0)
Me.TxtNom.Text =ds.Tables("produit").Rows(pos).Item(1)
Me.TxtPrix.Text =ds.Tables("produit").Rows(pos).Item(2)
Me.ComboCli.Text=ds.Tables("produit").Rows(pos).Item(3) End If
End Sub End Class
TP N° 15 :Création et exécution d’un crystal Report avec le Dataset.
Objectif : Dans cet exercice vous allez créeret exécuter un cristal report avec le Dataset. Travail demandé :
1. Créer l’interface ci-dessous :
de la
3.