De nos
jours, les entreprises, organisations aussi petites quelles soient
optent pour l’informatisation de leur système, pour les avantages qu’il leurs
procure :
La facilite d’accès aux informations et
la gestion du travail que se soit pour le stock, la paie du personnel, la vente,
l’achat, la maintenance, et toute autre information
qu’on avait du mal à faire autrefois manuellement et des cas où il fallait
nous déplacer pour le faire, aujourd’hui
c’est devenu possible sans bouger et tout en investissant un tout
petit effort.
C’est pour cette raison qu’on abordera
dans cet article une Conception avec une interface qui permettra d’informatiser le système d’une Compagnie aérienne.
Ressources logicielles :
Analyse :
PowerAMC Evaluation 11
Développement :
·
Visual basic 2008
·
Microsoft Access 2007
·
Sunisoft IrisSkin For .net
1. Partie analyse :
1-1 : Analyse des
besoins :
Cette démarche d’étude permet à identifier
les besoins d’une compagnie aérienne. En effet nous avons réalisé une petite
étude on s’appuie sur les informations disponible sur les sites web des
compagnies très connue comme Royale Air Maroc et Jet4you.
Durant cette étude on a pu identifier les
besoins suivants :
Gérer les Réservations.
Gérer l’organisation de vols.
Gérer les avions.
Gérer les lignes.
Gérer les pilotes.
Gérer les remises.
Gérer la
sécurité.
1.2. Le modèle conceptuel
de donnée (MCD):
1.2.1. Les tables :
Chaque Pilote est caractérisé par :
N°pilote, nom, prénom,
nationalité, adresse et N°Téléphone.
Chaque Vol est
caractérisé par :
N°vol, date de départ et l’heure d’arrivé.
Chaque Avion est
caractérisé par :
N°avion, Nom et capacité total.
Chaque ligne est
caractérisé par :
Aéroport de départ, aéroport d’arrivée et prix
unitaire.
Chaque Passager
est caractérisé par :
N°réservation, nom, prénom, N°passeport, Titre,
nationalité et adresse mail.
Chaque Classe
est caractérisé par :
Type classe et remise.
Chaque Catégorie
est caractérisé par :
Type catégorie et remise.
1.2.2. Les
cardinalités :
Un pilote peut
être affecter de 1,n vol
Un vol peut être
affecter de 1,n pilote
Une ligne concerne
1,n vol
Un vol concerne
1,1 ligne
Un passager peut
réserver dans 1, n vol
Un vol peut
avoir 1, n réservation
Un passager
appartient à 1,1 catégorie
Une catégorie
peut avoir 1, n passager
Un passager peut
réserver dans 1, n classes
Une classe peut
avoir 1, n passager
Un avion
effectue 1, n vol
Un vol effectue
par 1,1 avion
Un avion
contient 1, n classe
Une classe on
peut trouver dans 1, n avions
Un vol peut
avoir 1, n nombre de réservation d’une classe
Une classe peut
être réserver 1,n dans un vol
1.3. Le
modèle logique de donnée (MLD) :
2. Partie développement :
Le module :
Imports System
Imports System.Data
Imports System.Data.OleDb
Module Module1
Public cn As
OleDb.OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\Users\adil\Desktop\mini projet vb.net\base de données
vb\gestion.mdb")
Public numero_aller As
Integer
Public numero_retour As
Integer
Public type_res As String
Public type_class As String
End Module
Réservation :
La fermeture de la
form :
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
cn.Close()
End Sub
Private Sub
Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
Try
cn.Open()
Dim req1 As New OleDb.OleDbCommand
Dim datread1 As
OleDb.OleDbDataReader
req1.Connection = cn
req1.CommandType = CommandType.Text
req1.CommandText = " select distinct
aeroport_depart from
ligne"
datread1 = req1.ExecuteReader
While datread1.Read
ComboBox1.Items.Add(datread1.GetValue(0))
ComboBox2.Items.Add(datread1.GetValue(0))
End While
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Radio button : Aller simple :
Private Sub
RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
RadioButton1.CheckedChanged
If RadioButton1.Checked = True
Then
DateTimePicker2.Enabled = False
type_res = "Aller simple"
End If
End Sub
Radio button : Aller/Retour :
Private Sub
RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
RadioButton2.CheckedChanged
If RadioButton2.Checked = True
Then
DateTimePicker2.Enabled = True
type_res = "Aller - Retour"
End If
End Sub
Button : Rechercher :
Private Sub
Button1_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
Button1.Click
If ComboBox1.Text = "Aéroport
de depart" Then
MsgBox("il faut selectionner l'aéroport de depart")
ElseIf
ComboBox2.Text = "Aéroport d'arrivée"
Then
MsgBox("il
faut selectionner l'aéroport d'arrivée")
ElseIf RadioButton1.Checked
= True Then
Form2.Show()
Me.Hide()
Else
Form3.Show()
Me.Hide()
End If
End Sub
ComboBox : Aéroport de depart :
Private Sub
ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
ComboBox1.SelectedIndexChanged
If ComboBox1.Text <> "Aéroport
de depart" Then
ComboBox2.Items.Clear()
ComboBox2.Text = "Aéroport d'arrivée"
Dim req1 As
New OleDb.OleDbCommand
Dim datread1 As
OleDb.OleDbDataReader
req1.Connection = cn
req1.CommandType
= CommandType.Text
req1.CommandText = " select distinct
aeroport_arrivee from ligne where aeroport_depart ='" &
ComboBox1.Text & "' "
datread1 = req1.ExecuteReader
While datread1.Read
ComboBox2.Items.Add(datread1.GetValue(0))
End While
End If
End Sub
Button : Annuler :
Private Sub
Button2_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs)
Me.Close()
End Sub
Button radio : economique :
Private Sub
RadioButton5_CheckedChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
RadioButton5.CheckedChanged
type_class = "economique"
End Sub
Button radio : homme d’affaire :
Private Sub
RadioButton6_CheckedChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
RadioButton6.CheckedChanged
type_class
= "homme d'affaire"
End
Sub
Button : Prècedent :
Private Sub Button2_Click(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
Form1.Show()
Me.Close()
End Sub
Button : Suivant :
Private Sub
Button1_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
Button1.Click
Dim trouve1 As Integer = 0
Dim trouve2 As Integer = 0
For i As Integer = 0 To
DataGridView1.RowCount - 1
If DataGridView1.Item(0, i).Value = True Then
trouve1 = trouve1 + 1
numero_aller = DataGridView1.Item(1, i).Value
End If
Next
For i As Integer = 0 To
DataGridView2.RowCount - 1
If DataGridView2.Item(0, i).Value = True Then
trouve2 = trouve2 + 1
numero_retour = DataGridView2.Item(1, i).Value
End If
Next
If trouve1 = 0 Then
MsgBox("vous
n'avez pas selectionner un vol d'aller !!!!")
ElseIf
trouve1 > 1 Then
MsgBox("vous
avez selectionner plusieurs vols d'aller en meme temps !!!!")
ElseIf
trouve2 = 0 Then
MsgBox("vous
n'avez pas selectionner un vol de retour!!!!")
ElseIf
trouve2 > 1 Then
MsgBox("vous
avez selectionner plusieurs vols de retour en meme temps !!!!")
Else
Form4.Show()
Me.Hide()
End If
End Sub
Chargement de la form :
Private Sub
Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
MyBase.Load
Dim req1 As New OleDb.OleDbCommand
Dim datread1 As
OleDb.OleDbDataReader
req1.Connection = cn
req1.CommandType = CommandType.Text
If Form1.RadioButton5.Checked Then
req1.CommandText = " SELECT N°vol,date_depart,heure_depart
FROM(SELECT vol.N°vol,
vol.date_depart, vol.heure_depart, place_reserver.type_classe,
place_reserver.nb_reservation, avion.N°avion, capacité.nb_place,
vol.aeroport_depart, vol.aeroport_arrivee, vol.duree_vol FROM (classe INNER
JOIN ((avion INNER JOIN capacité ON avion.N°avion = capacité.N°avion) INNER
JOIN vol ON avion.N°avion = vol.N°avion) ON classe.type_classe =
capacité.type_classe) INNER JOIN place_reserver ON (vol.N°vol =
place_reserver.N°vol) AND (classe.type_classe = place_reserver.type_classe))
where aeroport_depart='" &
Form1.ComboBox1.Text & "' and
aeroport_arrivee='" & Form1.ComboBox2.Text &
"' and type_classe='economique'
and nb_reservation < nb_place and date_depart> #" & Date.Today.ToString("MM/dd/yyyy") & "# "
ElseIf Form1.RadioButton6.Checked Then
req1.CommandText = " SELECT
N°vol,date_depart,heure_depart FROM(SELECT vol.N°vol, vol.date_depart,
vol.heure_depart, place_reserver.type_classe, place_reserver.nb_reservation,
avion.N°avion, capacité.nb_place, vol.aeroport_depart, vol.aeroport_arrivee,
vol.duree_vol FROM (classe INNER JOIN ((avion INNER JOIN capacité ON
avion.N°avion = capacité.N°avion) INNER JOIN vol ON avion.N°avion = vol.N°avion)
ON classe.type_classe = capacité.type_classe) INNER JOIN place_reserver ON
(vol.N°vol = place_reserver.N°vol) AND (classe.type_classe =
place_reserver.type_classe)) where aeroport_depart='" &
Form1.ComboBox1.Text & "' and
aeroport_arrivee='" & Form1.ComboBox2.Text & "' and type_classe='homme d''affaire' and
nb_reservation < nb_place and date_depart> #" & Date.Today.ToString("MM/dd/yyyy")
& "# "
End If
datread1
= req1.ExecuteReader
If Not datread1.HasRows Then
MsgBox("aucun
vol n'ai organiser pour le moment !!!")
Else
While datread1.Read
DataGridView1.Rows.Add(False,
datread1.GetValue(0), datread1.GetDateTime(1).ToString("dd/MM/yyyy"),
datread1.GetDateTime(2).ToString("HH:mm"))
End While
End If
Dim req2 As New OleDb.OleDbCommand
Dim datread2 As
OleDb.OleDbDataReader
req2.Connection = cn
req2.CommandType = CommandType.Text
If Form1.RadioButton5.Checked Then
req2.CommandText
= " SELECT N°vol,date_depart,heure_depart
FROM(SELECT vol.N°vol, vol.date_depart, vol.heure_depart,
place_reserver.type_classe, place_reserver.nb_reservation, avion.N°avion,
capacité.nb_place, vol.aeroport_depart, vol.aeroport_arrivee, vol.duree_vol
FROM (classe INNER JOIN ((avion INNER JOIN capacité ON avion.N°avion =
capacité.N°avion) INNER JOIN vol ON avion.N°avion = vol.N°avion) ON
classe.type_classe = capacité.type_classe) INNER JOIN place_reserver ON
(vol.N°vol = place_reserver.N°vol) AND (classe.type_classe =
place_reserver.type_classe)) where aeroport_depart='" &
Form1.ComboBox2.Text & "' and
aeroport_arrivee='" & Form1.ComboBox1.Text & "' and type_classe='economique' and nb_reservation
< nb_place and date_depart> #" & Date.Today.ToString("MM/dd/yyyy") & "# "
ElseIf
Form1.RadioButton6.Checked Then
req2.CommandText = " SELECT N°vol,date_depart,heure_depart FROM(SELECT
vol.N°vol, vol.date_depart, vol.heure_depart, place_reserver.type_classe,
place_reserver.nb_reservation, avion.N°avion, capacité.nb_place,
vol.aeroport_depart, vol.aeroport_arrivee, vol.duree_vol FROM (classe INNER
JOIN ((avion INNER JOIN capacité ON avion.N°avion =
capacité.N°avion) INNER JOIN vol ON avion.N°avion = vol.N°avion) ON
classe.type_classe = capacité.type_classe) INNER JOIN place_reserver ON
(vol.N°vol = place_reserver.N°vol) AND (classe.type_classe =
place_reserver.type_classe)) where aeroport_depart='" &
Form1.ComboBox2.Text & "' and
aeroport_arrivee='" & Form1.ComboBox1.Text & "' and type_classe='homme d''affaire' and
nb_reservation < nb_place and date_depart> #" & Date.Today.ToString("MM/dd/yyyy")
& "# "
End If
datread2
= req2.ExecuteReader
If Not
datread2.HasRows Then
MsgBox("aucun vol n'ai organiser pour le moment !!!")
Else
While datread2.Read
DataGridView2.Rows.Add(False,
datread2.GetValue(0), datread2.GetDateTime(1).ToString("MM/dd/yyyy"),
datread2.GetDateTime(2).ToString("HH:mm"))
End While
End If
End Sub
Button : Prècedent :
Private Sub
Button2_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
Button2.Click
Form1.Show()
Me.Close()
End Sub
Button : Suivant :
Private Sub
Button1_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
Button1.Click
Dim trouve As Integer = 0
For i As Integer = 0 To
DataGridView1.RowCount - 1
If DataGridView1.Item(0, i).Value = True Then
trouve = trouve + 1
numero_aller = DataGridView1.Item(1, i).Value
End If
Next
If trouve = 0 Then
MsgBox("vous
n'avez pas selectionner une vol !!!!")
ElseIf
trouve > 1 Then
MsgBox("vous
avez selectionner plusieurs vols en meme temps !!!!")
Else
Form4.Show()
Me.Hide()
End If
End Sub
Button : chargement de la form:
Private Sub
Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
MyBase.Load
Dim req1 As New OleDb.OleDbCommand
Dim datread1 As
OleDb.OleDbDataReader
req1.Connection = cn
req1.CommandType = CommandType.Text
If Form1.RadioButton5.Checked Then
req1.CommandText
= " SELECT N°vol,date_depart,heure_depart
FROM(SELECT vol.N°vol, vol.date_depart, vol.heure_depart,
place_reserver.type_classe, place_reserver.nb_reservation, avion.N°avion,
capacité.nb_place, vol.aeroport_depart, vol.aeroport_arrivee, vol.duree_vol
FROM (classe INNER JOIN ((avion INNER JOIN capacité ON avion.N°avion =
capacité.N°avion) INNER JOIN vol ON avion.N°avion = vol.N°avion) ON
classe.type_classe = capacité.type_classe) INNER JOIN place_reserver ON
(vol.N°vol = place_reserver.N°vol) AND (classe.type_classe =
place_reserver.type_classe)) where aeroport_depart='" &
Form1.ComboBox1.Text & "' and
aeroport_arrivee='" & Form1.ComboBox2.Text & "' and type_classe='economique' and nb_reservation
< nb_place and date_depart> #" & Date.Today.ToString("MM/dd/yyyy") & "# "
ElseIf
Form1.RadioButton6.Checked Then
req1.CommandText = " SELECT N°vol,date_depart,heure_depart FROM(SELECT
vol.N°vol, vol.date_depart, vol.heure_depart, place_reserver.type_classe, place_reserver.nb_reservation,
avion.N°avion, capacité.nb_place, vol.aeroport_depart, vol.aeroport_arrivee,
vol.duree_vol FROM (classe INNER JOIN ((avion INNER JOIN capacité ON
avion.N°avion = capacité.N°avion) INNER JOIN vol ON avion.N°avion = vol.N°avion)
ON
classe.type_classe =
capacité.type_classe) INNER JOIN place_reserver ON (vol.N°vol =
place_reserver.N°vol) AND (classe.type_classe = place_reserver.type_classe))
where aeroport_depart='" &
Form1.ComboBox1.Text & "' and
aeroport_arrivee='" & Form1.ComboBox2.Text & "' and type_classe='homme d''affaire' and
nb_reservation < nb_place and date_depart> #" & Date.Today.ToString("MM/dd/yyyy")
& "# "
End If
datread1
= req1.ExecuteReader
If Not
datread1.HasRows Then
MsgBox("aucun vol n'ai organiser pour le moment !!!")
Else
While datread1.Read
DataGridView1.Rows.Add(False,
datread1.GetValue(0), datread1.GetDateTime(1).ToString("dd/MM/yyyy"),
datread1.GetDateTime(2).ToString("HH:mm"))
End While
End If
Imports System.Net.Mail
Imports System.Net.Mail.SmtpClient
Imports System.Net.Mail.MailMessage
Imports System.Net.NetworkCredential
Public Class Form4
Button : Prècedent :
Private Sub Button2_Click(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
If Form1.RadioButton1.Checked Then
Form2.Show()
Me.Close()
Else
Form3.Show()
Me.Close()
End If
End Sub
Button : Suivant :
Private Sub
Button1_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
Button1.Click
Dim req1 As New OleDb.OleDbCommand
Dim req2 As New OleDb.OleDbCommand
Dim req3 As New OleDb.OleDbCommand
Dim req4 As New OleDb.OleDbCommand
Dim req5 As New OleDb.OleDbCommand
Dim req6 As New OleDb.OleDbCommand
Dim req7 As New OleDb.OleDbCommand
Dim categorie As String
Dim numero As Integer
Dim prix As Integer = 0
Dim
prix_uni As Integer
= 0
If DateDiff(DateInterval.Year,
DateTimePicker1.Value, Date.Today) <2 Then
categorie = "Bèbè"
ElseIf DateDiff(DateInterval.Year, DateTimePicker1.Value,Date.Today) < 12 Then
categorie = "Enfant"
Else
categorie = "Adulte"
End If
req1.Connection = cn
req2.Connection = cn
req3.Connection = cn
req4.Connection = cn
req5.Connection = cn
req6.Connection
= cn
req7.Connection = cn
req3.CommandText = "SELECT
prix_unitaire from ligne where aeroport_depart = '" &
Form1.ComboBox1.Text & "' and
aeroport_arrivee='" & Form1.ComboBox2.Text & "'"
prix_uni
= req3.ExecuteScalar
req4.CommandText = "SELECT
remise from categorie where
type_categorie= '" & categorie & "'
"
prix =
prix_uni - (req4.ExecuteScalar / 100) * prix_uni
req5.CommandText
= "SELECT remise from classe where type_classe= '" &
type_class & "' "
prix = prix
- (req5.ExecuteScalar / 100) * prix_uni
req6.CommandText = "SELECT valeur_ajouter from classe where type_classe= '" &
type_class & "' "
prix = prix + (req6.ExecuteScalar /
100) * prix_uni
req1.CommandType = CommandType.Text
req1.CommandText = "insert into
passager(N°passport,nom_passager,prenom_passager,nationalite_passager,titre,type_categorie,mail_passager)
values('" & TextBox3.Text & "','"
& TextBox1.Text & "','"
& TextBox2.Text & "','"
& TextBox4.Text & "','"
& ComboBox1.Text & "','"
& categorie & "','" &
TextBox5.Text & "')"
req1.ExecuteNonQuery()
req2.CommandType = CommandType.Text
req2.CommandText = "SELECT
MAX(N°reservation) FROM passager"
numero =
req2.ExecuteScalar
req1.CommandType = CommandType.Text
req1.CommandText = "insert into
reservation(N°reservation,type_classe,N°vol,type_reservation,prix_reservati
on,date_reservation) values('" & numero & "','"
& type_class & "','" &
numero_aller & "','" &
type_res & "','" & prix
& "',#" & Date.Today.ToString("dd/MM/yyyy")
& "#)"
req1.ExecuteNonQuery()
req7.CommandType = CommandType.Text
req7.CommandText = "update
place_reserver set [nb_reservation]=[nb_reservation]+1 where type_classe='"
& type_class & "' and N°vol= "
& numero_aller
req7.ExecuteNonQuery()
If type_res = "Aller
- Retour" Then
req3.CommandText = "SELECT
prix_unitaire from ligne where aeroport_depart = '" &
Form1.ComboBox1.Text & "' and aeroport_arrivee='"
& Form1.ComboBox2.Text & "'"
prix_uni = req3.ExecuteScalar
req4.CommandText = "SELECT remise from
categorie where type_categorie= '"
& categorie & "' "
prix =
prix_uni - (req4.ExecuteScalar / 100) * prix_uni
req5.CommandText = "SELECT
remise from classe where type_classe=
'" & type_class & "'
"
prix = prix
- (req5.ExecuteScalar / 100) * prix_uni
req6.CommandText = "SELECT valeur_ajouter from classe where type_classe= '" &
type_class & "' "
prix = prix + (req6.ExecuteScalar /
100) * prix_uni
req1.CommandType = CommandType.Text
req1.CommandText = "insert into
passager(N°passport,nom_passager,prenom_passager,nationalite_passager,titre,type_categorie,mail_passager)
values('" & TextBox3.Text & "','"
& TextBox1.Text & "','"
& TextBox2.Text & "','"
& TextBox4.Text & "','"
& ComboBox1.Text & "','"
& categorie & "','" &
TextBox5.Text & "')"
req1.ExecuteNonQuery()
req2.CommandType = CommandType.Text
req2.CommandText = "SELECT
MAX(N°reservation) FROM passager"
numero = req2.ExecuteScalar
req1.CommandType = CommandType.Text
req1.CommandText = "insert into
reservation(N°reservation,type_classe,N°vol,type_reservation,prix_reservation,date_reservation)
values('" & numero & "','"
& type_class & "','" &
numero_retour & "','" &
type_res & "','" & prix
& "',#" & Date.Today.ToString("dd/MM/yyyy")
& "#)"
req1.ExecuteNonQuery()
req7.CommandType = CommandType.Text
req7.CommandText = "update
place_reserver set [nb_reservation]=[nb_reservation]+1 where
type_classe='" & type_class & "'
and N°vol= " & numero_retour
req7.ExecuteNonQuery()
End If
Dim smtp As New SmtpClient
Dim MyMSG As New MailMessage
Dim X As New MailAddress("adress@gmail.com")
MyMSG.From = X
MyMSG.To.Add(TextBox3.Text)
MyMSG.Subject = " Reservation "
MyMSG.Body = "
merci pour votre reservation. type de reservation :" & type_res
& "N°vol : " &
numero_aller & "N°Reservation : "
& numero & "Date de depart :"
& Date.Today.ToString("dd/MM/yyyy")
smtp.Host = "smtp.gmail.com"
smtp.Port
= 587
smtp.EnableSsl = True
smtp.Credentials = New
System.Net.NetworkCredential("adress.lines@gmail.com",
"mot de pass")
smtp.Send(MyMSG)
MsgBox("Your Message has beent sent")
MsgBox(" Merci,Reservation bien effectuée ")
Form1.Close()
Form2.Close()
Form3.Close()
Me.Close()
cn.Close()
End Sub
Annulation d’un vol :
Button afficher les vols :
Private Sub
Button1_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
Button1.Click
cn.Open()
Dim req1 As New OleDb.OleDbCommand
Dim datread1 As
OleDb.OleDbDataReader
Dim req2 As New OleDb.OleDbCommand
Dim datread2 As OleDb.OleDbDataReader
req1.Connection
= cn
req2.Connection = cn
req1.CommandType = CommandType.Text
req2.CommandType = CommandType.Text
req1.CommandText = "select *from
(SELECT reservation.N°reservation, reservation.N°vol, passager.nom_passager,
passager.prenom_passager, passager.N°passport, vol.aeroport_depart,
vol.aeroport_arrivee, reservation.type_classe FROM vol INNER JOIN (passager
INNER JOIN reservation ON passager.N°reservation = reservation.N°reservation)
ON vol.N°vol = reservation.N°vol) where nom_passager='" &
TextBox3.Text & "' and
prenom_passager='" & TextBox4.Text & "' and N°vol=" & Val(TextBox2.Text)
& "and N°reservation=" &
Val(TextBox1.Text) & "and
N°passport='" & TextBox5.Text & "'
"
datread1 = req1.ExecuteReader
If datread1.HasRows Then
datread1.Read()
Dim depart As String = datread1.GetValue(5)
Dim arrivee As String = datread1.GetValue(6)
req2.CommandText = "SELECT
N°vol,date_depart,heure_depart FROM(SELECT vol.N°vol, vol.date_depart,
vol.heure_depart, place_reserver.type_classe, place_reserver.nb_reservation,
avion.N°avion, capacité.nb_place, vol.aeroport_depart, vol.aeroport_arrivee,
vol.duree_vol FROM (classe INNER JOIN ((avion INNER JOIN capacité ON
avion.N°avion = capacité.N°avion) INNER JOIN vol ON avion.N°avion =
vol.N°avion) ON classe.type_classe = capacité.type_classe) INNER JOIN
place_reserver ON (vol.N°vol = place_reserver.N°vol) AND (classe.type_classe =
place_reserver.type_classe)) where aeroport_depart='" & depart
& "' and aeroport_arrivee='"
& arrivee & "' and type_classe='"
& datread1.GetValue(7) & "' and
nb_reservation < nb_place and date_depart> #" & Date.Today.ToString("MM/dd/yyyy")
& "#
"
datread2 = req2.ExecuteReader
If Not datread2.HasRows
Then
MsgBox("aucun vol n'ai organiser pour le moment !!!")
cn.Close()
Me.Close()
Else
While datread2.Read
DataGridView1.Rows.Add(False, datread2.GetValue(0), datread2.GetDateTime(1).ToString("dd/MM/yyyy"),
datread2.GetDateTime(2).ToString("HH:mm"))
End While
End If
Else
MsgBox("Désolé
les données ne sont pas correcte")
cn.Close()
End If
End Sub
Button
Modifier :
Private Sub Button2_Click(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
Dim req1 As New OleDb.OleDbCommand
Dim trouve As Integer = 0
For i As Integer = 0 To
DataGridView1.RowCount - 1
If DataGridView1.Item(0, i).Value = True Then
trouve = trouve + 1
numero_aller = DataGridView1.Item(1, i).Value
End If
Next
If trouve = 0 Then
MsgBox("vous n'avez pas selectionner une vol !!!!")
ElseIf
trouve > 1 Then
MsgBox("vous
avez selectionner plusieurs vols en meme temps !!!!")
Else
req1.Connection = cn
req1.CommandType = CommandType.Text
req1.CommandText = "update
reservation set [N°vol]=" & numero_aller & ",[date_reservation]=#" & Date.Today.ToString("MM/dd/yyyy")
& "# where N°reservation="
& Val(TextBox1.Text)
req1.ExecuteNonQuery()
req1.CommandText
= "update place_reserver set
[nb_reservation]=[nb_reservation]-1 where N°vol=" &
Val(TextBox2.Text)
req1.ExecuteNonQuery()
req1.CommandText = "update
place_reserver set [nb_reservation]=[nb_reservation]+1 where N°vol="
& numero_aller
req1.ExecuteNonQuery()
MsgBox("merci,
vous avez changer la date de reservation ")
Me.Close()
End If
End Sub
Private Sub
Button3_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
Button3.Click
Me.Close()
End
Sub
Affichage des pilotes :
Button : Quitter :
Private Sub
Button1_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
Button1.Click
Me.Close()
End Sub
Chargement de la form :
Private Sub
Form14_Load(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
MyBase.Load
Dim req1 As New OleDb.OleDbCommand
Dim datread1 As
OleDb.OleDbDataReader
cn.Open()
req1.Connection = cn
req1.CommandType = CommandType.Text
req1.CommandText = " SELECT *from
pilote"
datread1
= req1.ExecuteReader
If Not
datread1.HasRows Then
MsgBox("Il n'existe aucun pilote dans la liste !!! ")
cn.Close()
Me.Close()
Else
While datread1.Read
DataGridView1.Rows.Add(datread1.GetValue(0),
datread1.GetValue(1), datread1.GetValue(2), datread1.GetDateTime(3).ToString("dd/MM/yyyy"), datread1.GetValue(4),
datread1.GetValue(5), datread1.GetValue(6))
End While
cn.Close()
End If
End Sub
Rechercher des réservations d’un
vol :
Button : Afficher >> :
Private Sub Button1_Click(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
cn.Open()
Dim req1 As New OleDb.OleDbCommand
Dim datread1 As
OleDb.OleDbDataReader
req1.Connection = cn
req1.CommandType
= CommandType.Text
req1.CommandText = "select N°vol from
vol where N°vol=" & Val(TextBox1.Text)
datread1
= req1.ExecuteReader()
If Not
datread1.HasRows Then
MsgBox("aucune vol n'a ce numero !!!!")
cn.Close()
Else
datread1.Close()
req1.CommandText = "select
N°reservation,type_classe,type_reservation,prix_reservation,date_reservation
from reservation where N°vol=" & Val(TextBox1.Text)
datread1 = req1.ExecuteReader
If Not
datread1.HasRows Then
MsgBox(" Aucun passager n'a reservé dans cette vol
!!!")
cn.Close()
Else
For i As Integer = 0 To
DataGridView1.RowCount - 1
DataGridView1.Rows.RemoveAt(i)
Next
While
datread1.Read
DataGridView1.Rows.Add(datread1.GetValue(0), datread1.GetValue(1),
datread1.GetValue(2), datread1.GetValue(3), datread1.GetDateTime(4).ToString("dd/MM/yyyy"))
End While
cn.Close()
End If
End If
End Sub
Button : Annuler :
Private Sub
Button2_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
Button2.Click
Me.Close()
End
Sub
Rechercher des réservations d’un
vol :
Button : Ajouter :
Private Sub
Button1_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
Button1.Click
Dim req1 As New OleDb.OleDbCommand
cn.Open()
req1.Connection = cn
req1.CommandType = CommandType.Text
req1.CommandText = "insert into
pilote(nom_pilote,prenom_pilote,date_naiss_pilote,nationalité,tel,adresse)
values('" & TextBox1.Text & "','"
& TextBox4.Text & "',#"
& DateTimePicker1.Value & "#,'"
& TextBox3.Text & "','"
& TextBox5.Text & "','"
& TextBox6.Text & "')"
req1.ExecuteNonQuery()
cn.Close()
Me.Close()
End Sub
Button :Annuler :
Private Sub
Button2_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
Button2.Click
Me.Close()
End
Sub
Affichage de toutes les lignes qui
existent :
Chargement de la form:
Private Sub
Form16_Load(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
MyBase.Load
Dim req1 As New OleDb.OleDbCommand
Dim datread1 As
OleDb.OleDbDataReader
cn.Open()
req1.Connection = cn
req1.CommandType = CommandType.Text
req1.CommandText = " SELECT *from
ligne"
datread1
= req1.ExecuteReader
If Not
datread1.HasRows Then
MsgBox("La
table des vols est vide !!!")
cn.Close()
Me.Close()
Else
While datread1.Read
DataGridView1.Rows.Add(datread1.GetValue(0),
datread1.GetValue(1), datread1.GetValue(2))
End While
cn.Close()
End If
End Sub
Button : Quitter:
Private Sub
Button1_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
Button1.Click
Me.Close()
End Sub
Modification de prix d’une
ligne :
Button : chargement :
Private Sub
Form13_Load(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
MyBase.Load
cn.Open()
If (cn.State = ConnectionState.Open) Then
MsgBox("connexion ressuie")
End If
Dim req1 As New OleDb.OleDbCommand
Dim datread1 As
OleDb.OleDbDataReader
req1.Connection = cn
req1.CommandType = CommandType.Text
req1.CommandText = " select distinct
aeroport_depart from ligne"
datread1
= req1.ExecuteReader
While datread1.Read
ComboBox1.Items.Add(datread1.GetValue(0))
ComboBox2.Items.Add(datread1.GetValue(0))
End While
cn.Close()
End Sub
ComboBox : Aéroport de depart :
Private Sub
ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
ComboBox1.SelectedIndexChanged
cn.Open()
If ComboBox1.Text <> "Aéroport
de depart" Then
ComboBox2.Items.Clear()
ComboBox2.Text = "Aéroport d'arrivée"
Dim req1 As New
OleDb.OleDbCommand
Dim datread1 As
OleDb.OleDbDataReader
req1.Connection = cn
req1.CommandType = CommandType.Text
req1.CommandText = " select distinct
aeroport_arrivee from ligne where aeroport_depart ='" &
ComboBox1.Text & "' "
datread1 = req1.ExecuteReader
While datread1.Read
ComboBox2.Items.Add(datread1.GetValue(0))
End While
End If
cn.Close()
End Sub
Button : Annuler :
Private Sub
Button1_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
Button1.Click
cn.Close()
Me.Close()
End Sub
Button : Modifier:
Private Sub
Button2_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
Button2.Click
cn.Open()
Dim req1 As New OleDb.OleDbCommand
req1.Connection
= cn
req1.CommandType = CommandType.Text
If
MsgBox("Est ce que vous voulez vraiment
modifier le prix de cette vol ? ",
MsgBoxStyle.OkCancel) = MsgBoxResult.Ok Then
req1.CommandText = "update ligne set
[prix_unitaire]='" & TextBox1.Text & "' where aeroport_depart='" &
ComboBox1.Text & "' and
aeroport_arrivee='" & ComboBox2.Text & "'"
req1.ExecuteNonQuery()
cn.Close()
Me.Close()
Else
cn.Close()
End If
End Sub
Ajouter une ligne :
Button : Ajouter :
Private Sub
Button2_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
Button2.Click
Dim req1 As New OleDb.OleDbCommand
Dim datread1 As
OleDb.OleDbDataReader
cn.Open()
req1.Connection = cn
req1.CommandType = CommandType.Text
req1.CommandText
= "select *from ligne where
aeroport_depart='" & TextBox1.Text & "' and aeroport_arrivee='" &
TextBox2.Text & "'"
datread1
= req1.ExecuteReader()
If Not
datread1.HasRows Then
req1.CommandText = "insert into ligne(aeroport_depart,aeroport_arrivee,prix_unitaire)
values('" & TextBox1.Text & "','"
& TextBox2.Text & "','"
& TextBox3.Text & "')"
req1.ExecuteNonQuery()
cn.Close()
Me.Close()
Else
MsgBox("Désolé
ce ligne existe dèja !!!")
End If
End Sub
Button : Annuler:
Private Sub
Button1_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
Button1.Click
cn.Close()
Me.Close()
End Sub
Ajouter un avion :
Button : Ajouter :
Private Sub
Button1_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
Button1.Click
Dim req1 As New OleDb.OleDbCommand
cn.Open()
Dim som As Integer = Val(TextBox2.Text) + Val(TextBox3.Text)
req1.Connection = cn
req1.CommandType = CommandType.Text
req1.CommandText = "insert into
avion(nom_avion,capacité) values('" & TextBox1.Text & "','" & som & "')"
req1.ExecuteNonQuery()
req1.CommandText = "select max(N°avion)
from avion"
Dim num As Integer = req1.ExecuteScalar
req1.CommandText = "insert into
capacité(N°avion,type_classe,nb_place) values('" & num & "','economique','" &
Val(TextBox2.Text) & "')"
req1.ExecuteNonQuery()
req1.CommandText = "insert
into capacité(N°avion,type_classe,nb_place) values('" & num
& "','homme d''affaire','"
& Val(TextBox3.Text) & "')"
req1.ExecuteNonQuery()
MsgBox("operation bien effectué ")
cn.Close()
Me.Close()
End Sub
Button : Annuler:
Private Sub
Button2_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
Button2.Click
Me.Close()
End
Sub
Affichage des
avions :
Chargement de la form :
Private Sub Form18_Load(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Dim req1 As New OleDb.OleDbCommand
Dim datread1 As
OleDb.OleDbDataReader
cn.Open()
req1.Connection
= cn
req1.CommandType = CommandType.Text
'modification
de la requete
req1.CommandText = " SELECT
* FROM avion"
datread1
= req1.ExecuteReader
If Not
datread1.HasRows Then
MsgBox("La table des avions est vide !!!")
cn.Close()
Me.Close()
Else
While datread1.Read
DataGridView1.Rows.Add(datread1.GetValue(0), datread1.GetValue(1),
datread1.GetValue(2))
End While
cn.Close()
End If
End Sub
Button : Quitter :
Private Sub
Button1_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
Button1.Click
Me.Close()
End Sub
Modifier les remises par
catégorie :
Chargement de la form :
Private Sub Form11_Load(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Dim req1 As New OleDb.OleDbCommand
Dim datread1 As
OleDb.OleDbDataReader
cn.Open()
req1.Connection = cn
req1.CommandType
= CommandType.Text
req1.CommandText = " SELECT *from categorie"
datread1
= req1.ExecuteReader
While datread1.Read
DataGridView1.Rows.Add(datread1.GetValue(0),
datread1.GetValue(1))
End While
cn.Close()
End Sub
Button : Appliquer :
Private Sub
Button1_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
Button1.Click
cn.Open()
Dim req1 As New
OleDb.OleDbCommand
req1.Connection
= cn
req1.CommandType = CommandType.Text
If MsgBox("Est ce que vous voulez vraiment modifier les
remises ? ", MsgBoxStyle.OkCancel) = MsgBoxResult.Ok Then
req1.CommandText = "update categorie
set [remise]='" & DataGridView1.Item(1, 0).Value & "' where type_categorie='Bèbè'"
req1.ExecuteNonQuery()
req1.CommandText = "update categorie
set [remise]='" & DataGridView1.Item(1, 1).Value & "' where type_categorie='Enfant'"
req1.ExecuteNonQuery()
req1.CommandText
= "update categorie set [remise]='"
& DataGridView1.Item(1, 2).Value & "'
where type_categorie='Adulte'"
req1.ExecuteNonQuery()
cn.Close()
Me.Close()
Else
cn.Close()
End If
cn.Close()
End Sub
Button : Annuler:
Private Sub
Button2_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
Button2.Click
Me.Close()
End
Sub
Modifier les remises par
classe :
Button : Appliquer :
Private Sub Button1_Click(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
cn.Open()
Dim req1 As New OleDb.OleDbCommand
req1.Connection
= cn
req1.CommandType = CommandType.Text
If
MsgBox("Est ce que vous voulez vraiment modifier
les remises ? ", MsgBoxStyle.OkCancel) =
MsgBoxResult.Ok Then
req1.CommandText = "update classe set
[remise]='" & DataGridView1.Item(1, 0).Value & "' where type_classe='economique'"
req1.ExecuteNonQuery()
req1.CommandText = "update classe set
[remise]='" & DataGridView1.Item(1, 1).Value & "' where type_classe='homme d''affaire'"
req1.ExecuteNonQuery()
cn.Close()
Me.Close()
Else
cn.Close()
End If
End Sub
Button : Annuler :
Private Sub
Button2_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
Button2.Click
Me.Close()
End Sub
Chargement de la form:
Private Sub
Form12_Load(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
MyBase.Load
Dim req1 As New OleDb.OleDbCommand
Dim datread1 As
OleDb.OleDbDataReader
cn.Open()
req1.Connection = cn
req1.CommandType = CommandType.Text
req1.CommandText
= " SELECT *from classe"
datread1 = req1.ExecuteReader
While datread1.Read
DataGridView1.Rows.Add(datread1.GetValue(0), datread1.GetValue(1))
End While
cn.Close()
End
Sub
Changement de mot de passe :
Button : Confirmer :
Private Sub Button1_Click(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
cn.Open()
Label4.Visible = False
Label5.Visible = False
Dim req1 As New OleDb.OleDbCommand
Dim datread1 As
OleDb.OleDbDataReader
req1.Connection = cn
req1.CommandType = CommandType.Text
req1.CommandText = "select username
from securité where username ='" & TextBox1.Text & "'"
datread1
= req1.ExecuteReader
If Not
datread1.HasRows Then
Label4.Visible = True
Label4.ForeColor
= Color.Red
Else
datread1.Close()
req1.CommandText = "select
username,password,adresse_mail from securité where username ='"
& TextBox1.Text & "' and password
='" & TextBox2.Text & "'"
datread1 = req1.ExecuteReader
If Not
datread1.HasRows Then
Label5.Visible = True
Label5.ForeColor = Color.Red
Else
datread1.Close()
If MsgBox("vous voulez vraiment changer le mot de passe
?", MsgBoxStyle.OkCancel) = MsgBoxResult.Ok Then
req1.CommandText
= "update securité set [password]='"
& TextBox3.Text & "' where username
='" & TextBox1.Text & "'
and password ='" & TextBox2.Text & "'"
req1.ExecuteNonQuery()
MsgBox("Mot de passe est modifié ",
MsgBoxStyle.OkOnly)
Me.Close()
End If
End If
End If
cn.Close()
End Sub
Button : Annuler:
Private Sub
Button2_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
Button2.Click
Me.Close()
End
Sub
Changement de nom
d’utilisateur :
Button : Confirmer :
Private Sub Button1_Click(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
cn.Open()
Label4.Visible = False
Label5.Visible = False
Dim req1 As New OleDb.OleDbCommand
Dim datread1 As OleDb.OleDbDataReader
req1.Connection
= cn
req1.CommandType = CommandType.Text
req1.CommandText = "select username
from securité where username ='" & TextBox1.Text & "'"
datread1
= req1.ExecuteReader
If Not datread1.HasRows
Then
Label4.Visible = True
Label4.ForeColor = Color.Red
Else
datread1.Close()
req1.CommandText = "select
username,password,adresse_mail from securité where username ='"
& TextBox1.Text & "' and password ='"
& TextBox2.Text & "'"
datread1 = req1.ExecuteReader
If Not
datread1.HasRows Then
Label5.Visible = True
Label5.ForeColor = Color.Red
Else
datread1.Close()
If MsgBox("vous voulez vraiment changer le nom de
l'utilisateur ?", MsgBoxStyle.OkCancel) = MsgBoxResult.Ok Then
req1.CommandText
= "update securité set [username]='"
& TextBox3.Text & "' where username
='" & TextBox1.Text & "'
and password ='" & TextBox2.Text & "'"
req1.ExecuteNonQuery()
MsgBox("Nom de l'utilisateur est modifié ",
MsgBoxStyle.OkOnly)
Me.Close()
End If
End If
End If
cn.Close()
End Sub
Button : Annuler:
Private Sub
Button2_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
Button2.Click
Me.Close()
End
Sub
Ajout d’un nouvel utilisateur :
Button :Ajouter:
Private Sub Button1_Click(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
cn.Open()
Dim req1 As New OleDb.OleDbCommand
req1.Connection = cn
req1.CommandType = CommandType.Text
If TextBox2.Text = TextBox3.Text Then
If MsgBox("vous voulez vraiment ajoute ce nouveau utilisateur
?", MsgBoxStyle.OkCancel) = MsgBoxResult.Ok Then
req1.CommandText = "INSERT
INTO securité values('" & TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox4.Text & "') "
req1.ExecuteNonQuery()
MsgBox("un nouveau utilisateur a été ajouté ",
MsgBoxStyle.OkOnly)
Me.Close()
End
If
Else
MsgBox("Le
mot de passe entrez different que le mot de passe de confirmation !!")
End If
cn.Close()
End Sub
Button : Annuler :
Private Sub
Button2_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
Button2.Click
Me.Close()
End
Sub
Conclusion
D’après
la réalisation de ce travail, nous avons pu aboutir et apporter une réponse à
notre problématique qui consiste à
concevoir et réaliser une application de gestion de vols,
cette étude nous a aidées à approfondir et élaborer nos connaissances en
méthode d’analyse Merise, Visual Basic et le langage SQL. En utilisant différents procédures et fonctions, A travers le processus effectué, nous avons acquis et
développé des qualités, aptitudes et intérêts.
Ce qui va refléter positivement sur notre cursus d'étude.Ce travail nous met en
confiance et nous rend capables de
concevoir et de mettre en pratique n’importe quelle application.
2 commentaires
Click here for commentairesBonjour, J'aimerais vous demander quelque chose, l'interface graphique que vous avez réalisé, comment avez-vous fait pour la réaliser ??
ReplySurtout aussi si c'est possible de désigner une interface graphique après l'avoir désigner avec Photoshop, je parle des Forms dans cet exemple ?
le design dans les interfaces graphiques de cet application ne sont pas réalisé en photoshop c'est just un skin.
ReplyConversionConversion EmoticonEmoticon
Remarque : Seul un membre de ce blog est autorisé à enregistrer un commentaire.