Exercice Visual Basic : EFF TSDI Juin 2008 Variante 1

Le gérant d’une société de commercialisation des pièces électroniques souhaite développer une application pour gérer les ventes, pour cela, il a fait appel à un développeur en free lance pour concevoir et mettre en œuvre ce nouveau système.

Le Développeur a proposé le schéma relationnel suivant :

Clients(N°Client, Nom, Prénom, Titre, Adresse, CodePostal, Ville, Téléphone)

Factures(N°Facture, N°Client, DateFacture, Remarques)

DétailsFacture(N°Facture, RefProduit, Quantité, Remise)

Produits(RefProduit, Description, Catégorie, PrixVente)

Travail à faire :

  1. Créer la base de données sous SQL SERVER (2 Pts)
  2. Faire quelques enregistrements pour le test
  3. Créer une interface de mise à jour des clients (4 Pts)
    1. Ajout (le contrôle de saisie est obligatoire et confirmation d’ajout)
    2. Modification
    3. Suppression
    4. Boutons de navigation
  4. Créer une interface de mise à jour des produits (2 Pts)
  5. Créer une interface de mise à jour des factures et Détails Facture (4 Pts)
  6. Créer une feuille de recherche :
    1. Recherche client (Afficher les informations relatives à un client) (2 Pts)
    2. Recherche facture :
      1. i.    Avec le N°Facture (Afficher les détails d’une facture) (2 Pts)
      2. ii.    Par date (Afficher la liste des factures enregistrées) (2 Pts)
      3. iii.    Entre deux dates (Afficher la liste des factures enregistrées entre deux dates) (2 Pts)
  7. Créer un état pour imprimer une facture avec les détails et le montant de la facture (4 Pts)
  8. Créer un état permettant de lister les factures entre deux dates (2 Pts)
  9. Empaqueter et déployer votre application (3 Pts)
  10. Créer une page web permettant d’afficher la liste des produits (2 Pts)
  11. Créer une page permettant de passer une commande via Internet, une commande validée doit avoir au moins un produit. Le client doit s’enregistrer avant de passer une commande, si le client est déjà enregistré, il suffit d’indiquer son N°Client (6 Pts)
  12. Après validation d’une commande, un message de confirmation doit s’afficher avec le montant total des produits choisis (3 Pts)

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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
Public Class Form1
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'TODO : cette ligne de code charge les données dans la table 'GMDSET.Clients'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
        Me.ClientsTableAdapter.Fill(Me.GMDSET.Clients)
 
    End Sub
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 
        Try
            Me.ClientsTableAdapter.InsertQuery(NclientTextBox.Text, NomTextBox.Text, PrenomTextBox.Text, TitreTextBox.Text, AdresseTextBox.Text, CodepostalTextBox.Text, VilleTextBox.Text)
            MsgBox(" Le client est ajouté !")
            Me.ClientsTableAdapter.Fill(Me.GMDSET.Clients)
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
 
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Try
            Dim i As Integer
            i = InputBox(" Suppression ", " Entrez le numéro du client a supprimé  ( Attention toutes les informations relatives a ce client seront supprimées ) !")
            Me.ClientsTableAdapter.DeleteQuery(i)
            Me.ClientsTableAdapter.Fill(Me.GMDSET.Clients)
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
 
    End Sub
 
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
 
        Try
            Me.ClientsTableAdapter.UpdateQuery(NclientTextBox.Text, NomTextBox.Text, PrenomTextBox.Text, TitreTextBox.Text, AdresseTextBox.Text, CodepostalTextBox.Text, VilleTextBox.Text, nClient)
            MsgBox(" Client modifié ! ")
            Me.ClientsTableAdapter.Fill(Me.GMDSET.Clients)
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
 
    End Sub
 
    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        Try
            Dim i As Integer
            i = InputBox("Recherche", "Entrez le numéro du client à rechrecher !")
            Me.ClientsTableAdapter.FillBynumclient(Me.GMDSET.Clients, i)
            nClient = NclientTextBox.Text
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
 
    End Sub
End Class
-----------------------------------------------------------------------------
Public Class Form2
 
    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 
        'TODO : cette ligne de code charge les données dans la table 'GMDSET.Clients'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
        Me.ClientsTableAdapter.Fill(Me.GMDSET.Clients)
        'TODO : cette ligne de code charge les données dans la table 'GMDSET.factures'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
        Me.FacturesTableAdapter.Fill(Me.GMDSET.factures)
        Try
            ComboBox1.SelectedValue = NclientTextBox.Text
        Catch ex As Exception
 
        End Try
    End Sub
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Try
            Me.FacturesTableAdapter.InsertQuery(Val(NfactureTextBox.Text), Val(NclientTextBox.Text), CDate(DatefactureDateTimePicker.Text), RemarquesTextBox.Text)
            MsgBox(" Facture Ajoutée !")
            Me.FacturesTableAdapter.Fill(Me.GMDSET.factures)
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
 
 
    End Sub
 
    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
        Try
            NclientTextBox.Text = ComboBox1.SelectedValue.ToString
        Catch ex As Exception
 
        End Try
 
    End Sub
 
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Try
            Dim i As Integer
            i = InputBox("Suppression ", "Entrez le numéro de la facture a supprimer")
            Me.FacturesTableAdapter.DeleteQuery(i)
            MsgBox(" Supprimée")
            Me.FacturesTableAdapter.Fill(Me.GMDSET.factures)
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
 
    End Sub
 
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Try
            Me.FacturesTableAdapter.UpdateQuery(NfactureTextBox.Text, NclientTextBox.Text, DatefactureDateTimePicker.Text, RemarquesTextBox.Text, nfacture)
            MsgBox(" Facture modifiée ")
            Me.FacturesTableAdapter.Fill(Me.GMDSET.factures)
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
 
    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        Try
            Dim i As Integer
            i = InputBox("Recherche ", "Entrez le numéro de la facture a rechercher")
            Me.FacturesTableAdapter.FillBynum(Me.GMDSET.factures, i)
            nfacture = i
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
 
    End Sub
End Class
----------------------------------------------------------------------------
Public Class Form3
 
    Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'TODO : cette ligne de code charge les données dans la table 'GMDSET.produits'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
        Me.ProduitsTableAdapter.Fill(Me.GMDSET.produits)
 
    End Sub
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Try
            Me.ProduitsTableAdapter.InsertQuery(RedproduitTextBox.Text, DescriptionTextBox.Text, CategorieTextBox.Text, PrixventeTextBox.Text)
            MsgBox(" Ajouté !")
            Me.ProduitsTableAdapter.Fill(Me.GMDSET.produits)
 
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
 
    End Sub
 
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Try
            Dim i As Integer
            i = InputBox("Suppression", " entrez le numero du produit a supprimer")
            Me.ProduitsTableAdapter.DeleteQuery(i)
            Me.ProduitsTableAdapter.Fill(Me.GMDSET.produits)
 
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
 
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Try
            Me.ProduitsTableAdapter.UpdateQuery(Val(RedproduitTextBox.Text), DescriptionTextBox.Text, CategorieTextBox.Text, Val(PrixventeTextBox.Text), refprod)
            MsgBox(" Modifié !")
            Me.ProduitsTableAdapter.Fill(Me.GMDSET.produits)
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
 
    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        Try
            Dim i As Integer
            i = InputBox("RECHERCHE", " entrez le numero du produit a rechercher")
            refprod = i
            Me.ProduitsTableAdapter.FillByref(Me.GMDSET.produits, i)
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
End Class
-----------------------------------------------------------------------------
Public Class Form4
 
    Private Sub DetailsfacturesBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Me.Validate()
        Me.DetailsfacturesBindingSource.EndEdit()
        Me.TableAdapterManager.UpdateAll(Me.GMDSET)
 
    End Sub
 
    Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'TODO : cette ligne de code charge les données dans la table 'GMDSET.detailsfactures'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
        Me.DetailsfacturesTableAdapter.Fill(Me.GMDSET.detailsfactures)
 
    End Sub
End Class
-----------------------------------------------------------------------------
 
Partial Class GMDSET
End Class
 
Namespace GMDSETTableAdapters
 
    Partial Public Class facturesTableAdapter
    End Class
End Namespace
------------------------------------------------------------------------------
Module Module1
    Public nClient As Integer
    Public nfacture As Integer
    Public refprod As Integer
End Module