TD d'algorithmique et de programmation n°6 MSG 2 - option SI Programmation de bases de données Access Dans ce TD, on considère la base de données suivante: employés(numemp, numinsee, nom, prénom, date naissance, marié, salaire, salaire conjoint) projets(projet) réalisations(numemp, projet, date, temps) Exercice 1 1. Réaliser cette base de données sous Access, en remplissant correctement toutes les propriétés de tous les champs des tables et en indiquant les relations entre les tables. 2. Réaliser le formulaire de saisie d’un employé suivant : Le bouton Valider effectue les contrôles de validité, sauve l’enregistrement saisi, s’il ne contient pas d’erreur, et ferme le formulaire Le bouton Annuler ferme le formulaire sans sauver Si la case marié n’est pas cochée, la zone de texte salaire conjoint et l’étiquette correspondant sont grisées La zone de texte salaire total affiche à tout instant la somme de salaire et salaire conjoint Exercice 2 1. Ecrire la fonction existe_table(nom_table as String) as boolean qui retourne True si il existe dans la BD courante une table portant le nom nom_table 2. Ecrire la procédure ouvre_table(nom_table as String) qui ouvre la table de nom nom_table en mode visualisation, si elle existe, et affiche un message d’erreur sinon. 3. Construire un formulaire qui permet à l’utilisateur de choisir une table, parmi la liste des tables de la base de données, dans une boîte combo et ouvre la table choisie en mode visualisation des données. 1. (La fonction est déclarée public pour qu’elle puisse être appelée d’un formulaire). Exercice 3 Construire le formulaire suivant de recherche des employés en fonction de leur salaire: la boîte combo de gauche permet le choix du champ sur lequel on veut effectuer la recherche : "salaire" ou "salaire conjoint" ; la boîte combo du centre permet le choix de l’opérateur voulu : >, = ou < la zone de texte de droite permet de taper une valeur; le bouton chercher lance la requête correspondant aux éléments choisis et affiche le résultat. Exercice 4 1. Ecrire une procédure qui affiche (dans la fenêtre de débogage) le nom, le prénom et l’âge de tous les employés qui sont mariés. (D’abord écrire la fonction qui calcule l’âge) 2. Mettre tous les noms des employés en majuscules dans la table employés. Public Sub nom_majuscules() Dim bd As Database Dim r As Recordset Set bd = CurrentDb() Set r = bd.OpenRecordset("employés") Do While Not r.EOF r.Edit r![nom] = UCase(r![nom]) r.Update r.MoveNext Loop r.Close End Sub 3. Construire le formulaire suivant : La boîte combo "employé" fait apparaître le n°, le nom et le prénom des employés ; Lorsque l’utilisateur sélectionne un employé dans la boîte combo, l’âge de l’employé sélectionné apparaît dans une boîte de message. Exercice 5 Chaque mois, l’entreprise qui utilise la BD souhaite alimenter la table réalisations par un fichier Excel qui contient le temps passé par les employés sur les différents projets. Pour le mois dernier, le fichier es, récupérable sur M:\1-formations\…\msg2si\vbasic\ réalisations0101.xls. Ecrire une procédure qui permet de réaliser l’import de ce fichier dans la table réalisations.