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
| Option Compare Database 'Utilise l'ordre de la base pour les comparaisons de chaînes
Function AfficherFicheInscrit()
Dim dbBaseDonnees As Database
Dim TableInscrit As Recordset
Set dbBaseDonnees = DBEngine.Workspaces(0).Databases(0)
Set TableInscrit = dbBaseDonnees.OpenRecordset("Inscrit", DB_OPEN_TABLE)
Do Until TableInscrit.EOF
Debug.Print TableInscrit!N_INSCRIT;
Debug.Print TableInscrit!N_INSCRIT;
Debug.Print TableInscrit!REF_OUVRAGE;
Debug.Print
TableInscrit.MoveNext
Loop
TableInscrit.Close
dbBaseDonnees.Close
End Function
Function EnregistrerPret()
Dim dbBaseDonnees As Database
Dim TableEmprunt As Recordset
'Si l'ouvrage n'existe pas on sort (Intégrité de référence)
If (RechercherOuvrage((Forms!pret![cote-ouvrage].Value)) = False) Then
MsgBox ("Ouvrage Inexistant")
DoCmd.GoToControl Forms!pret![cote-ouvrage].Name
Exit Function
End If
'Si l'ouvrage est deja emprunte on sort (Intégrité d'entité)
If (TesterEmprunt((Forms!pret![cote-ouvrage])) = True) Then
MsgBox ("Ouvrage Déjà Emprunté")
DoCmd.GoToControl Forms!pret![cote-ouvrage].Name
Exit Function
End If
'Si l'inscrit n'existe pas on sort (Intégrité de référence)
If (RechercherInscrit((Forms!pret![num-emprunteur])) = False) Then
MsgBox ("Inscrit Non Enregistré")
DoCmd.GoToControl Forms!pret![num-emprunteur].Name
Exit Function
End If
'Sinon on crée la fiche emprunt
Set dbBaseDonnees = CurrentDb
Set TableEmprunt = dbBaseDonnees.OpenRecordset("Emprunt", DB_OPEN_TABLE)
TableEmprunt.AddNew
'Remplissage des clés dynamiques
TableEmprunt!N_INSCRIT = (Forms!pret![num-emprunteur])
TableEmprunt!REF_OUVRAGE = (Forms!pret![cote-ouvrage])
'
TableEmprunt!DATE_PRET = Date
TableEmprunt!DATE_RET = Date + 15
TableEmprunt.Update
TableEmprunt.Close
dbBaseDonnees.Close
MsgBox ("Enregistrement OK de " & (Forms!pret![cote-ouvrage]) & " pour l'emprunteur " & (Forms!pret![num-emprunteur]))
'Remise a blanc des deux zones de texte
Forms!pret![num-emprunteur] = ""
Forms!pret![cote-ouvrage] = ""
End Function
Function RechercherInscrit(ValInscrit As String) As Integer
Dim dbBaseDonnees As Database
Dim TableInscrit As Recordset
'Ouverture de la base et de la Table INSCRITS
Set dbBaseDonnees = CurrentDb
Set TableInscrit = dbBaseDonnees.OpenRecordset("INSCRITS", DB_OPEN_TABLE)
'Choix d'un Index (Celui de la cle primaire)
TableInscrit.Index = "PrimaryKey"
'Recherche de l'enregistrement
TableInscrit.Seek "=", ValInscrit
If TableInscrit.NoMatch = False Then
Debug.Print TableInscrit!NOM
Debug.Print TableInscrit!PRENOM
'retourne -1 si trouve
RechercherInscrit = True
Else
Debug.Print "L'inscrit est introuvable"
'retourne 0 si non trouve
RechercherInscrit = False
End If
'Fermeture de la base et de la Table
TableInscrit.Close
dbBaseDonnees.Close
End Function
Function RechercherOuvrage(ValCote As String) As Integer
Dim dbBaseDonnees As Database
Dim TableOuvrage As Recordset
'Ouverture de la base et de la Table OUVRAGE
Set dbBaseDonnees = DBEngine.Workspaces(0).Databases(0)
Set TableOuvrage = dbBaseDonnees.OpenRecordset("OUVRAGE", DB_OPEN_TABLE)
'Choix d'un Index (Celui de la cle primaire)
TableOuvrage.Index = "PrimaryKey"
'Recherche de l'enregistrement dans OUVRAGE sur le champ COTE (valeur parametre de la fonction)
TableOuvrage.Seek "=", ValCote
If TableOuvrage.NoMatch = False Then
Debug.Print TableOuvrage!TITRE
Debug.Print TableOuvrage!AUTEUR
RechercherOuvrage = True
Else
Debug.Print "L'ouvrage est introuvable"
RechercherOuvrage = False
End If
'Fermeture de la base et de la Table
TableOuvrage.Close
dbBaseDonnees.Close
End Function
Function TesterEmprunt(ValCote As String)
'Recherche sur sa cote si un ouvrage est Emprunte
'c-a-d si il y existe une fiche Emprunt correspondante
Dim dbBaseDonnees As Database
Dim TableEmprunt As Recordset
'Ouverture de la Table EMPRUNT
Set dbBaseDonnees = CurrentDb
Set TableEmprunt = dbBaseDonnees.OpenRecordset("Emprunt", DB_OPEN_TABLE)
'Recherche de l'enregistrement dans EMPRUNT sur le champ COTE
TableEmprunt.Index = "REF_OUVRAGE"
TableEmprunt.Seek "=", ValCote
If TableEmprunt.NoMatch = False Then
Debug.Print TableEmprunt!REF_OUVRAGE
TesterEmprunt = True
Else
Debug.Print "L'enregistrement est introuvable"
TesterEmprunt = False
End If
TableEmprunt.Close
dbBaseDonnees.Close
End Function |
Partager