Vous êtes sur la page 1sur 6

14/09/2017 Exercice VB: Gestion des rservations et des sjours pour Htel

Cours informatique
Cours comptabilit
Cours conomie
Cours marketing
Cours management
Cours gestion
Cours statistique
Cours finance
Cours lectricit
Annonces Google Rservations htel Gestion facture Logiciel gestion client

Exercice VB: Gestion des rservations et des sjours pour Htel


7
Jaime

Partager
Annonces Google

Gestion planning
Moteur de Base de Donnes - Pour
dveloppement d'applis
Gestion Hotel Moteur SQL dploiement libre HFSQL Windows, Linux, Mobile, Cluster, Cloud pcsoft.fr

On dsire informatiser la gestion des rservations et des sjours pour lhtel Ibis :

Pour les sjours, on enregistre la date dentre, le type de sjour (Journalier, Semaine, Weekend) et la dure du sjour. Pour un sjour Semaine, la dure est 7j., pour
type Weekend la dure est 3j., et pour le type Journalier la dure est le nombre de jours souhaits par le client.

Le schma relationnel de la base de donnes est le suivant :

Client (IdClient, NomClient, AdresseClient, TelClient)

Rservation (CodeReservation, IdClient, Date, PensionComplete)

Sejour (NumSejour, CodeReservation, DateSejour, TypeSejour, DureeSejour)

ReservationAnnulee (CodeReservation, IdClient, DateAnnulation)

Travail faire :

1. Cration de la BD

a. a. Crer la base de donnes Sous SQL SERVER en respectant le schma relationnel ci-
dessus, les principales caractristiques des champs doivent tre dduites.

Raliser une interface utilisateur conviviale et ergonomique pour lapplication de gestion des
rservations.

1. 2) Gestion des Clients

a. Ecrire le code pour les boutons (premier, suivant, prcdent, dernier) en affichant le
message de dbordement.
b. Ecrire le code pour le bouton Ajout en vrifiant la contrainte de remplissage de tous les
champs et l'unicit du code client.
c. Ecrire le code pour le bouton Supprimer
d. Ecrire le code pour le bouton Modifier
e. Ecrire le code pour le bouton Rechercher pour afficher les informations correspondantes ou
afficher un message de non existence.

1. 3) Gestion des rservations

a. Ecrire le code qui permet dafficher les informations dun Client (Nom, Tlphone) ds
quon choisit le numro du client dans le combo.
b. Ecrire le code pour ajouter les informations de rservations dans la table rservation.

1. Gestion sjour

a. Raliser l'interface de la feuille "Ajout dun sjour"


b. Le numro de rservation est rempli partir de la table rservation dans une liste.
c. Le numro de sjour est auto incrment
d. Le type de sjour est un combo qui contient (journalier, Week end, Semaine).
e. le bouton Nouveau permet deffacer les zones de texte.
f. Le bouton Ajouter permet lajout dun nouveau sjour dans la table Sjour. Vrifier
lunicit de lenregistrement, si non message derreur.

1. 5) Feuille Rservation par type

a. Raliser la feuille "Rservation par type" pour afficher toutes les rservations et la dure
de sjour pour un type de sjour donn partir d'un combo.
b. En bas de la feuille ajouter un label qui affiche le nombre des rservations affiches dans la
grille.

1. 6) Rservation annule

Ecrire un programme pour grer les rservations annules tel que :

a. Sur la feuille de Ajout de rservation ajouter en bas la partie Annulation de


rservation , placer un bouton Annuler . Quand on clique sur ce bouton, le numro de
la rservation annuler est saisi dans un Inputbox .

http://www.cours-gratuit.com/exercices-vb/exercice-vb-gestion-des-reservations-et-des-sejours-pour-hotel 1/6
14/09/2017 Exercice VB: Gestion des rservations et des sjours pour Htel
b. Le programme vrifie dabord si le numro de rservation fourni est enregistr dans la table
Rservation , puis aprs une confirmation de lutilisateur, ajoute la rservation annule
dans la table Rservation annule .
c. La rservation annule est supprime de la table Rservation .

1. 7) Etat

a. Crer un tat ddition de toutes les Rservations ralises avec les sjours pour chaque
rservation.
b. b. Sur la feuille Ajout de sjour placer un bouton Imprimer facture qui permet
dimprimer la facture pour un sjour daprs les rgles :

Sjour journalier 480 dh /jour


Sjour week-end 320 dh /jour
Sjour semaine 260 dh /jour
Si le client a choisi une pension complte ajouter 100 dh par jour.

1 Public Class Facturation


2 Inherits System.Windows.Forms.Form
3 Private Sub Facturation_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
4 Dim etat As New sejour
5 CrystalReportViewer1.ReportSource = etat
6 End Sub
7 End Class
8 -------------------------------------------------------------------------------
9 Imports System.Data.SqlClient
10
11 Public Class Gestion_des_clients
12 Inherits System.Windows.Forms.Form
13 Dim pos, i, trouv As Integer
14 Dim mot_rech, var As String
15
16 Private Sub Gestion_des_clients_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
17 cmd = New SqlCommand
18 cmd.Connection = cn
19 cmd.CommandText = "select * from client"
20 da = New SqlDataAdapter(cmd)
21 ds = New DataSet
22 da.Fill(ds, "client")
23
24 End Sub
25
26 Private Sub bt_premier_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_premier.Click
27 pos = 0
28 txb_id.Text = ds.Tables("client").Rows(0).Item(0)
29
30 txb_nom.Text = ds.Tables("client").Rows(0).Item(1)
31 txb_adresse.Text = ds.Tables("client").Rows(0).Item(2)
32 txb_tel.Text = ds.Tables("client").Rows(0).Item(3)
33
34 End Sub
35
36 Private Sub bt_dernier_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_dernier.Click
37 pos = ds.Tables("client").Rows.Count - 1
38
39 txb_id.Text = ds.Tables("client").Rows(pos).Item(0)
40 txb_nom.Text = ds.Tables("client").Rows(pos).Item(1)
41 txb_adresse.Text = ds.Tables("client").Rows(pos).Item(2)
42 txb_tel.Text = ds.Tables("client").Rows(pos).Item(3)
43
44 End Sub
45
46 Private Sub bt_precedent_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_precedent.Click
47 If pos > 0 Then
48 pos = pos - 1
49 txb_id.Text = ds.Tables("client").Rows(pos).Item(0)
50 txb_nom.Text = ds.Tables("client").Rows(pos).Item(1)
51 txb_adresse.Text = ds.Tables("client").Rows(pos).Item(2)
52 txb_tel.Text = ds.Tables("client").Rows(pos).Item(3)
53 Else
54 MsgBox("c est le premier enregistrement")
55 End If
56
57 End Sub
58
59 Private Sub bt_suivant_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_suivant.Click
60 If pos < ds.Tables("client").Rows.Count - 1 Then
61 pos = pos + 1
62 txb_id.Text = ds.Tables("client").Rows(pos).Item(0)
63 txb_nom.Text = ds.Tables("client").Rows(pos).Item(1)
64 txb_adresse.Text = ds.Tables("client").Rows(pos).Item(2)
65 txb_tel.Text = ds.Tables("client").Rows(pos).Item(3)
66 Else
67 MsgBox("c est le dernier enregistrement")
68 End If
69
70 End Sub
71
72 Private Sub bt_ajouter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_ajouter.Click
73
74 If txb_id.Text = "" Or txb_nom.Text = "" Or txb_adresse.Text = "" Or txb_tel.Text = "" Then
75 MsgBox("vous devez remplir toutes les champs")
76
77 Else
78
79 ds.Tables("client").Constraints.Add("pk1", ds.Tables("client").Columns("id_client"), True)
80 row = ds.Tables("client").NewRow
81
82 row.Item(0) = txb_id.Text
83 row.Item(1) = txb_nom.Text
84 row.Item(2) = txb_adresse.Text
85 row.Item(3) = txb_tel.Text

http://www.cours-gratuit.com/exercices-vb/exercice-vb-gestion-des-reservations-et-des-sejours-pour-hotel 2/6
14/09/2017 Exercice VB: Gestion des rservations et des sjours pour Htel
86 Try
87 ds.Tables("client").Rows.Add(row)
88
89 odb = New SqlCommandBuilder(da)
90 da.Update(ds, "client")
91
92 ds.Clear()
93 da.Fill(ds, "client")
94
95 'dt = ds.Tables("client")
96 MessageBox.Show("enregistrement effectu...", "Enregistrer", MessageBoxButtons.OK)
97
98 Catch ex As Exception
99 MsgBox(ex.Message)
100 init()
101 Exit Sub
102 End Try
103 End If
104
105 End Sub
106
107 Private Sub bt_supprimer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_supprimer.Click
108
109 var = MessageBox.Show("voulez vous supprimer cette enregistrement", "Supprimer", MessageBoxButtons.YesNo)
110
111 If var = vbYes Then
112 ds.Tables("client").Rows(pos).Delete()
113
114 odb = New SqlCommandBuilder(da)
115 da.Update(ds, "client")
116
117 ds.Clear()
118 da.Fill(ds, "client")
119
120 dt = ds.Tables("client")
121
122 MessageBox.Show("l'enregistrement a etais supprimer", "Supprimer", MessageBoxButtons.OK)
123 ElseIf var = vbNo Then
124 MessageBox.Show("suppretion annuler...", "Supprimer", MessageBoxButtons.OK)
125
126 End If
127
128 End Sub
129 Sub init()
130 txb_id.Text = ""
131 txb_nom.Text = ""
132 txb_adresse.Text = ""
133 txb_tel.Text = ""
134 End Sub
135
136 Private Sub bt_modifier_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_modifier.Click
137
138 'row = ds.Tables("client").Rows(pos)
139
140 ds.Tables("client").Rows(pos).Item(0) = txb_id.Text
141 ds.Tables("client").Rows(pos).Item(1) = txb_nom.Text
142 ds.Tables("client").Rows(pos).Item(2) = txb_adresse.Text
143 ds.Tables("client").Rows(pos).Item(3) = txb_tel.Text
144
145
146 odb = New SqlCommandBuilder(da)
147 da.Update(ds, "client")
148
149 ds.Clear()
150 da.Fill(ds, "client")
151 dt = ds.Tables("client")
152 MessageBox.Show("modification effectu.......", "Modifier", MessageBoxButtons.OK)
153
154 End Sub
155
156
157 Private Sub bt_rechercher_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_rechercher.Click
158 pos = 0
159 trouv = 0
160
161 mot_rech = InputBox("taper le Cin du client")
162 dt = ds.Tables("client")
163 While pos < dt.Rows.Count
164 If mot_rech = dt.Rows(pos).Item(0) Then
165
166 txb_id.Text = dt.Rows(pos).Item(0)
167 txb_nom.Text = dt.Rows(pos).Item(1)
168 txb_adresse.Text = dt.Rows(pos).Item(2)
169 txb_tel.Text = dt.Rows(pos).Item(3)
170
171 trouv += 1
172 Exit While
173
174 Else
175 pos += 1
176 End If
177 End While
178
179 If trouv = 0 Then
180
181 var = MessageBox.Show("ce client ne figure pas sur la liste", "erreur", MessageBoxButtons.OK)
182
183 txb_id.Text = ""
184 txb_nom.Text = ""
185 txb_adresse.Text = ""
186 txb_tel.Text = ""
187
188 End If
189 End Sub
190 End Class
191 -----------------------------------------------------------------------------
192
193 Imports System.Data.SqlClient
194
195 Public Class Gestion_des_rservations

http://www.cours-gratuit.com/exercices-vb/exercice-vb-gestion-des-reservations-et-des-sejours-pour-hotel 3/6
14/09/2017 Exercice VB: Gestion des rservations et des sjours pour Htel
196 Inherits System.Windows.Forms.Form
197 Private Sub Gestion_des_rservations_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
198 cmd = New SqlCommand
199 cmd.Connection = cn
200 cmd.CommandText = "select * from client"
201 da = New SqlDataAdapter(cmd)
202 ds = New DataSet
203 da.Fill(ds, "client")
204
205 cb_num_client.DataSource = ds.Tables(0)
206 cb_num_client.DisplayMember = "id_client"
207 cb_num_client.Text = ""
208 'cb_num_client.ValueMember = "id_client"
209
210
211 End Sub
212
213 Private Sub cb_num_client_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cb_num_client.SelectedIndexChanged
214 Dim i As Integer
215 For i = 0 To ds.Tables("client").Rows.Count - 1
216 If cb_num_client.Text = ds.Tables("client").Rows(i).Item(0) Then
217 lbl_nom.Text = ds.Tables("client").Rows(i).Item(1)
218 lbl_tel.Text = ds.Tables("client").Rows(i).Item(3)
219 End If
220 Next
221 End Sub
222
223 Private Sub bt_ajout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_ajout.Click
224 cmd = New SqlCommand
225 cmd.Connection = cn
226 cmd.CommandText = "select * from Rservation"
227 da = New SqlDataAdapter(cmd)
228 ds = New DataSet
229 da.Fill(ds, "Rservation")
230 row = ds.Tables("Rservation").NewRow
231 row.Item(0) = txb_cod_reservation.Text
232 row.Item(1) = cb_num_client.Text
233 row.Item(2) = txb_date.Text
234 row.Item(3) = txb_pension.Text
235
236 ds.Tables("Rservation").Rows.Add(row)
237
238 odb = New SqlCommandBuilder(da)
239 da.Update(ds, "Rservation")
240 MsgBox("ajout effecut")
241
242 End Sub
243
244
245
246 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_annuler.Click
247
248
249 Dim pos, trouv As Integer
250 Dim mot_rech, var As String
251
252 pos = 0
253 trouv = 0
254 mot_rech = InputBox("taper le code_rservation supprimer")
255
256 cmd = New SqlCommand
257 cmd.Connection = cn
258 cmd.CommandText = "select * from Rservation "
259 da = New SqlDataAdapter(cmd)
260 ds = New DataSet
261 da.Fill(ds, "Rservation")
262
263
264
265 While pos < ds.Tables("Rservation").Rows.Count
266 If ds.Tables("Rservation").Rows(pos).Item(0) = mot_rech Then
267
268 var = MessageBox.Show("voulez vous vraiment supprimer cet enregistrement", "supprimer", MessageBoxButtons.YesNo)
269 If var = "6" Then
270 cmd = New SqlCommand
271 cmd.Connection = cn
272 cmd.CommandType = CommandType.StoredProcedure
273 cmd.CommandText = "annuler_reservation"
274
275 cmd.Parameters.Add("@mot", SqlDbType.Int)
276 cmd.Parameters.Add("@dat", SqlDbType.DateTime)
277 cmd.Parameters(0).Value = mot_rech
278 cmd.Parameters(1).Value = txb_date_annulation.Text
279
280 cmd.ExecuteNonQuery()
281
282 MsgBox("effectu")
283 End If
284
285 trouv += 1
286 Exit While
287 Else
288 pos += 1
289 End If
290
291 End While
292
293 If trouv = 0 Then
294
295 MessageBox.Show("ce numro ne figure pas sur la liste", "erreur", MessageBoxButtons.OK)
296
297 End If
298
299 End Sub
300 End Class
301 ------------------------------------------------------------------------------
302
303 Imports System.Data.SqlClient
304
305 Public Class Gestion_sjour

http://www.cours-gratuit.com/exercices-vb/exercice-vb-gestion-des-reservations-et-des-sejours-pour-hotel 4/6
14/09/2017 Exercice VB: Gestion des rservations et des sjours pour Htel
306 Inherits System.Windows.Forms.Form
307
308 Private Sub Gestion_sjour_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
309 remplir_list()
310
311 End Sub
312 Sub remplir_list()
313 cmd = New SqlCommand
314 cmd.Connection = cn
315 cmd.CommandText = "select * from Rservation"
316 da = New SqlDataAdapter(cmd)
317 ds = New DataSet
318 da.Fill(ds, "Rservation")
319
320 ListBox1.DataSource = ds.Tables(0)
321 ListBox1.DisplayMember = "code_reservation"
322
323 'cb_num_client.ValueMember = "id_client"
324 End Sub
325
326 Private Sub bt_ajouter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_nouveau.Click
327 TextBox1.Text = ""
328 ComboBox1.Text = ""
329 TextBox2.Text = ""
330 End Sub
331
332 Private Sub bt_ajouter_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_ajouter.Click
333 cmd = New SqlCommand
334 cmd.Connection = cn
335 cmd.CommandText = "select * from sejour"
336 da = New SqlDataAdapter(cmd)
337 ds = New DataSet
338 da.Fill(ds, "sejour")
339 row = ds.Tables("sejour").NewRow
340
341 'Try
342 ' row(1) = ListBox1.SelectedItem
343 ' row(2) = TextBox1.Text
344 ' row(3) = ComboBox1.Text
345 ' row(4) = TextBox2.Text
346 'Catch ex As Exception
347 ' MsgBox(ex.Message)
348 'End Try
349
350
351 'ds.Tables("sejour").Rows.Add(row)
352 'odb = New SqlCommandBuilder(da)
353 'da.Update(ds, "sejour")
354 'MsgBox("enregistrement effectu")
355
356 End Sub
357
358 Private Sub bt_imprimer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_imprimer.Click
359 Dim frm As New Facturation
360
361 Dim etat As New sejour
362 frm.CrystalReportViewer1.ReportSource = etat
363 frm.CrystalReportViewer1.SelectionFormula = "{Sejour.NumSejour}=" & TextBox3.Text
364 frm.Show()
365
366
367
368 End Sub
369 End Class
370 ------------------------------------------------------------------------------
371 Imports System.Data.SqlClient
372
373 Module Module1
374 Dim str As String = "data source='.';initial catalog=FF_V9_2007;integrated security=sspi"
375 Public cn As New SqlConnection(str)
376 Public ds As DataSet
377 Public da As SqlDataAdapter
378 Public cmd As SqlCommand
379 Public dt As DataTable
380 Public row As DataRow
381 Public odb As SqlCommandBuilder
382
383 End Module
384 -----------------------------------------------------------------------------
385
386 Public Class Form1
387 Inherits System.Windows.Forms.Form
388
389
390 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
391 cn.Open()
392
393 End Sub
394
395
396 Private Sub MenuItem6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem6.Click
397 Dim frm As New Gestion_des_rservations
398 frm.Show()
399 End Sub
400
401 Private Sub MenuItem7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem7.Click
402 Dim frm As New Gestion_sjour
403 frm.Show()
404 End Sub
405
406 Private Sub MenuItem8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem8.Click
407 Dim frm As New Rservation_par_type
408 frm.Show()
409 End Sub
410
411 Private Sub MenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem1.Click
412 Dim frm As New Gestion_des_clients
413 frm.Show()
414 End Sub
415

http://www.cours-gratuit.com/exercices-vb/exercice-vb-gestion-des-reservations-et-des-sejours-pour-hotel 5/6
14/09/2017 Exercice VB: Gestion des rservations et des sjours pour Htel
416
417 Private Sub MenuItem4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
418
419
420 End Sub
421 End Class
422 ------------------------------------------------------------------------------
423
424 Imports System.Data.SqlClient
425
426 Public Class Rservation_par_type
427 Inherits System.Windows.Forms.Form
428
429 Private Sub Rservation_par_type_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
430 cmd = New SqlCommand
431 cmd.Connection = cn
432 cmd.CommandText = "select * from sejour"
433 da = New SqlDataAdapter(cmd)
434 ds = New DataSet
435 da.Fill(ds, "sejour")
436
437 ComboBox1.DataSource = ds.Tables(0)
438 ComboBox1.DisplayMember = "TypeSejour"
439
440
441 End Sub
442
443 Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
444 cmd = New SqlCommand
445 cmd.Connection = cn
446 cmd.CommandText = "select CodeReservation,DureeSejour from sejour where TypeSejour='" & ComboBox1.Text & "'"
447 da = New SqlDataAdapter(cmd)
448 ds = New DataSet
449 da.Fill(ds, "sejour")
450 DataGrid1.DataSource = ds.Tables(0)
451 cmd = New SqlCommand
452 cmd.Connection = cn
453 cmd.CommandText = "select count(*) from sejour where TypeSejour='" & ComboBox1.Text & "'"
454 Dim i As Integer
455 i = cmd.ExecuteScalar
456 Label3.Text = i
457 End Sub
458
459 End Class

Booking.com Booking.com
- Hotels - Hotels
Plus de 350000 Htels Plus de 350000 Htels
dans le Monde Le site dans le Monde Le site
officiel de Booking.com ! officiel de Booking.com !
booking.com booking.com

1 commentaire Trier par Les plus rcents

Ajouter un commentaire...

Atshibind Alvine Comis Bralima


formidable
Jaime Rpondre 18 mars 2016 04:58

plugin Commentaires Facebook

Voir Aussi ...


Exercice Visual Basic : Manipuler un Texte
Exercice Visual Basic : Fiche Client
Exercice Visual Basic : Voyage
Exercice Visual Basic : Tableau avec Windows Form
Exercice Visual Basic : Papillon Volante
Exercice Visual Basic : Courbe
Exercice Visual Basic : Utilisation des collections
Exercice Visual Basic : Mini application de gestion de petit commerce
Exercice Visual Basic : TP Gestion Commande
Exercice Visual Basic : Club de Sport

Web scraping R Pour nous contacter : ks.smartweb@gmail.com

http://www.cours-gratuit.com/exercices-vb/exercice-vb-gestion-des-reservations-et-des-sejours-pour-hotel 6/6