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
| '=======variable globale du programme =======
'déclaration de la variable connexion
Public connexion As ADODB.Connection
Public Const piloteBase As String = "Microsoft.Jet.Oledb.4.0"
'fait le lien avec la base de donnée Gestproj
Public Const cheminBase As String = "chemin de ma base"
'déclaration de la variable RECAP en tant que chaine de charactere qui prend comme valeur
'"RECAP"(feuille de travaille)
Public Const RECAP As String = "RECAP"
' ligne du tableau ou il y a le premier numéro intervenants
Public Const lgDepartNumIntervenant = 12
'colonne du tableau ou il y a les numéros des taches
Public Const colNumTache = 7
'colonne du tableau ou il y a les numéros d'intervenants
Public Const colNumIntervenant = 6
Sub ouvertureBase()
' Teste pour savoir si le chemin est accessible à la base de donnée
If Len(Dir("chemin de ma base")) > 0 Then
' Déclaration de la variable de connexion
Set connexion = New ADODB.Connection
'Définition du pilote de connexion
connexion.Provider = piloteBase
'Définition de la chaîne de connexion
connexion.ConnectionString = "chemin de ma base"
'Ouverture de la base de données
connexion.Open
End If
End Sub
'fermeture de la base
Sub fermetureBase()
connexion.Close
End Sub
Sub AjouterIntervenant()
'déclaration des données a enregistrer
Dim NumIntervenant As Long
Dim NumTache As Integer
'variable necessaire pour le traitement de l'enregistrement
'indice de parcours du tableau des employés (ligne en cours qui est traité)
Dim lgIntervenantEnCour As Integer
'l'enregistrement
'initialisation au premier Intervenant a traiter
lgIntervenantEnCour = lgDepartNumIntervenant
NumIntervenant = Worksheets(RECAP).Cells(lgIntervenantEnCour, colNumIntervenant)
While (NumIntervenant <> 0)
'récupération des informations à enregister dans la base de données dans la colonne "colNumTache"
NumTache = Worksheets(RECAP).Cells(lgDepartNumIntervenant, colNumTache)
'enregistrement de l'intervenant dans la base de données : appel du sous-programme EnregistrerIntervenant()
Call EnregistrerIntervenant(NumIntervenant, NumTache)
'Passage à la ligne suivante, pour enregistrer l'intervenant suivant
lgIntervenantEnCours = lgIntervenantEnCours + 1
'écrasement des données présente dans NumIntervenant pour le passage a la ligne suivante
NumIntervenant = Worksheets(RECAP).Cells(lgIntervenantEnCours, colNumIntervenant)
Wend
MsgBox ("les numéros intervenants et numéros taches ont bien été enregistrés")
End Sub
Sub EnregistrerIntervenant(NumeroIntervenant As Long, NumeroTache As Integer)
Dim requeteSQL As String
'construction de la requete d'insertion
requeteSQL = requeteAjoutIntervenant(NumeroIntervenant, NumeroTache)
'ouverture et appel de la base de données
Call ouvertureBase
'exécution de la requete d'insertion (SQL)
connexion.Execute (requeteSQL)
'fermeture de la base de donnée
Call fermetureBase
End Sub
Function requeteAjoutIntervenant(NumeroIntervenantI As Long, NumeroTacheI As Integer) As String
'déclaration des variable de la requete
Dim strSQL As String
strSQL = "INSERT INTO PARTICIPER (NumEmploye, NumTache )" & _
" VALUES(""" & NumeroIntervenantI & """, """ & NumeroTacheI & """)"
'renvoie la requete SQL ainsi construite
requeteAjoutIntervenant = strSQL
End Function |
Partager