Sommaire
Transcription
Sommaire
Sommaire Partie A Notions de base . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 1 Planification d’une base de données . . . . . . . . . . . . . . . 31 1.1 1.2 1.3 1.4 1.5 Par où commencer ? . . . . . . . . . . . . . . . . . . . . . . . . . . Présentation du cas pratique . . . . . . . . . . . . . . . . . . . . . Quelques règles de bon sens . . . . . . . . . . . . . . . . . . . . . Conception des tables : une méthode empirique . . . . . . . Tables et relations . . . . . . . . . . . . . . . . . . . . . . . . . . . . Affinage des tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mécanique des relations . . . . . . . . . . . . . . . . . . . . . . . Relation Un à Plusieurs . . . . . . . . . . . . . . . . . . . . . . . . Relations Plusieurs à Plusieurs . . . . . . . . . . . . . . . . . . . . Relation Un à Un . . . . . . . . . . . . . . . . . . . . . . . . . . . . Relation réflexive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Finalisation de l’analyse . . . . . . . . . . . . . . . . . . . . . . . Trucs et Astuces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mes factures comportent trois dates d’échéance. Dois-je ajouter des champs nommés Échéance1, Échéance2 et Échéance3 dans la table Factures ? . . . . . . . . . . . . . . . . . . . . . . . . . Comment ajouter un champ supplémentaire dans une table en fonction des besoins ? . . . . . . . . . . . . . . . . . . . . . . . . La construction d’une table des villes ne complique-t-elle pas le système ? D’autant que sa clef primaire est peu parlante . 33 34 35 37 38 41 47 47 49 51 52 54 56 56 57 58 Sommaire Soit une table Facture liée à une table Produits. Que se passe-t-il si les prix des produits sont modifiés ? . . . . 61 La table des visites prévoit un champ Date de visite. Si je souhaite des statistiques par mois, dois-je prévoir un champ supplémentaire ? . 61 1.6 2 En bref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Les tables et relations, fondations de la base de données . 63 2.1 2.2 2.3 2.4 2.5 2.6 2.7 L’environnement de travail Access . . . . . . . . . . . . . . . . 65 Plan de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Obtention d’aide dans Access . . . . . . . . . . . . . . . . . . . . . 68 Fenêtre Base de données . . . . . . . . . . . . . . . . . . . . . . . . 69 Dualité Concepteur/Utilisateur . . . . . . . . . . . . . . . . . . . . 74 Création d’une base de données . . . . . . . . . . . . . . . . . . 74 Découverte des modèles livrés avec Access . . . . . . . . . . . . 74 Modèles supplémentaires . . . . . . . . . . . . . . . . . . . . . . . 78 Création manuelle d’une base de données . . . . . . . . . . . . 80 Une première table . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Table des types de biens . . . . . . . . . . . . . . . . . . . . . . . . 83 Types de données associés aux champs . . . . . . . . . . . . . . . 87 Propriétés des champs . . . . . . . . . . . . . . . . . . . . . . . . . 90 Gestion des champs de la table . . . . . . . . . . . . . . . . . . . 101 Autres tables du projet . . . . . . . . . . . . . . . . . . . . . . . 102 Saisie dans les tables . . . . . . . . . . . . . . . . . . . . . . . . . 105 Ajout ou modification d’enregistrements . . . . . . . . . . . . . 106 Suppression d’enregistrements . . . . . . . . . . . . . . . . . . . 108 Options d’affichage de la table . . . . . . . . . . . . . . . . . . . 109 Relations et intégrité référentielle . . . . . . . . . . . . . . . . 111 Préparation des relations . . . . . . . . . . . . . . . . . . . . . . . 112 Mise en place des relations . . . . . . . . . . . . . . . . . . . . . . 114 Intégrité référentielle . . . . . . . . . . . . . . . . . . . . . . . . . 118 Relations et listes de choix . . . . . . . . . . . . . . . . . . . . . . 124 Listes de choix indépendantes . . . . . . . . . . . . . . . . . . . . 129 Paramétrage manuel des listes de choix . . . . . . . . . . . . . 131 Compléments sur les relations . . . . . . . . . . . . . . . . . . . 136 Organisation des objets dans la base de données . . . . . . 141 Changement de noms d’objets . . . . . . . . . . . . . . . . . . . 141 Suppression d’objets . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Convention d’attribution des noms . . . . . . . . . . . . . . . . 144 Description des objets de la base de données . . . . . . . . . . 147 Sommaire Options d’affichage de la base de données . . . . Classement des objets à l’aide de groupes . . . . . Affichage d’objets supplémentaires . . . . . . . . . Description de la base de données . . . . . . . . . . Raccourcis pour un accès rapide aux objets . . . . Impression de la structure de la base de données 2.8 2.9 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 149 153 153 156 157 Trucs et astuces . . . . . . . . . . . . . . . . . . . . . . . . . . . . Est-il possible de modifier la structure des tables une fois que la base de données est terminée ? . . . . . . . . . . . . . . Pourquoi ne pas donner systématiquement une taille de 255 caractères à chaque champ Texte ? . . . . . . . . . . . . . . Dans le même esprit, ne serait-il pas plus simple de se passer des champs Texte et de préférer les champs Mémo ? . . . . Lorsque je crée un champ dans une table, Access lui applique parfois un index automatiquement. Pourquoi ? . . . . . . . . Lorsque j’établis une relation entre deux tables, pourquoi Access me propose-t-il systématiquement une relation "Un1 à Un1" au lieu d’une relation "Un1 à Plusieurs". ? . . . . . . . Est-il possible de gérer plusieurs fenêtres Relations ? . . . . Lors de la saisie dans un champ NuméroAuto, Access "perd" des numéros. Pourquoi ? . . . . . . . . . . . . . . . . . . . . . . . En bref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 159 159 160 160 161 161 162 162 Exploitation des données au travers des requêtes . . . . 163 3.1 3.2 3.3 Conception de requêtes . . . . . . . . . . . . . . . . . . . . . . . Placement de champs sur la grille de requête . . . . . . . . . . Suppression d’un champ . . . . . . . . . . . . . . . . . . . . . . . Ordonnancement des champs dans la grille de requête . . . Propriétés des champs . . . . . . . . . . . . . . . . . . . . . . . . . Des alias pour renommer tables et champs . . . . . . . . . . . Tester la requête . . . . . . . . . . . . . . . . . . . . . . . . . . . . Enregistrer la requête . . . . . . . . . . . . . . . . . . . . . . . . . Modifier une requête . . . . . . . . . . . . . . . . . . . . . . . . . Compréhension des jointures . . . . . . . . . . . . . . . . . . . Requête sans jointure . . . . . . . . . . . . . . . . . . . . . . . . . Jointure interne ou équi-jointure . . . . . . . . . . . . . . . . . . Jointure externe gauche et droite . . . . . . . . . . . . . . . . . Tri des enregistrements . . . . . . . . . . . . . . . . . . . . . . . Tri simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tris multiples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 167 170 170 171 171 172 174 174 175 176 178 180 184 185 186 Sommaire 3.4 3.5 3.6 3.7 3.8 3.9 3.10 Filtrage des informations . . . . . . . . . . . . . . . . . . . . . . Critères applicables aux champs Texte et Mémo . . . . . . . . Critères applicables aux champs Numériques . . . . . . . . . . Critères applicables aux champs Date/Heure . . . . . . . . . . Critères applicables aux champs Oui/Non . . . . . . . . . . . . Gestion des valeurs Null . . . . . . . . . . . . . . . . . . . . . . . Combinaison de critères . . . . . . . . . . . . . . . . . . . . . . . Requêtes paramétrées . . . . . . . . . . . . . . . . . . . . . . . . . D’autres manières de filtrer... . . . . . . . . . . . . . . . . . . . . Requêtes de regroupement (ou d’agrégation) . . . . . . . . Mise en place d’un regroupement . . . . . . . . . . . . . . . . . Filtrage d’une requête de regroupement . . . . . . . . . . . . . Requêtes Analyse croisée . . . . . . . . . . . . . . . . . . . . . . Calculs élémentaires . . . . . . . . . . . . . . . . . . . . . . . . . Du VBA dans les requêtes . . . . . . . . . . . . . . . . . . . . . Fonctions mathématiques générales . . . . . . . . . . . . . . . . Fonctions trigonométriques . . . . . . . . . . . . . . . . . . . . . Fonctions de Date/Heure . . . . . . . . . . . . . . . . . . . . . . . Fonctions de manipulation de chaînes de caractères . . . . . Fonctions de domaine . . . . . . . . . . . . . . . . . . . . . . . . . Fonctions de conversion . . . . . . . . . . . . . . . . . . . . . . . Fonctions de mise en forme (ou de formatage) . . . . . . . . Fonctions diverses . . . . . . . . . . . . . . . . . . . . . . . . . . . Vos propres fonctions . . . . . . . . . . . . . . . . . . . . . . . . . Requêtes Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mise à jour des données dans des requêtes Sélection . . . . . Requête Suppression . . . . . . . . . . . . . . . . . . . . . . . . . Requête Mise à jour . . . . . . . . . . . . . . . . . . . . . . . . . . Requête Ajout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Requête Création de table . . . . . . . . . . . . . . . . . . . . . . Trucs et astuces . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dans une requête, pourquoi certaines colonnes sont-elles nommées automatiquement Expr1001, Expr1002 ? . . . . . . Comment taper des critères contenant des guillemets ? . . . L’addition de plusieurs champs est vide si au moins l’un d’entre eux a la valeur Null. Comment faire ? . . . . . . . . . Comment calculer le début et la fin d’un mois donné ? . . . Est-il possible de lister des enregistrements au hasard à l’aide d’une requête ? . . . . . . . . . . . . . . . . . . . . . . . . Comment mettre en évidence les doublons d’une table ? . . En bref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 187 190 191 192 193 193 194 198 201 201 204 206 209 214 215 217 218 225 229 235 239 243 248 250 251 253 255 256 258 260 260 260 260 261 261 262 262 Sommaire 4 Construction d’une interface graphique à l’aide de formulaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 4.1 4.2 4.3 4.4 4.5 4.6 4.7 Construction d’un formulaire dépendant . . . . . . . . . . . 268 Préparation du formulaire . . . . . . . . . . . . . . . . . . . . . . 269 Assistant Formulaire . . . . . . . . . . . . . . . . . . . . . . . . . . 271 Les différents types de formulaires . . . . . . . . . . . . . . . . 274 Manipulations de base sur le formulaire . . . . . . . . . . . 278 Le formulaire en mode Création . . . . . . . . . . . . . . . . . . 278 Techniques de sélection d’objets . . . . . . . . . . . . . . . . . . 280 Déplacement et dimensionnement d’objets . . . . . . . . . . . 282 Techniques de mise en forme . . . . . . . . . . . . . . . . . . . 291 Mise en forme des sections de formulaire . . . . . . . . . . . . 292 Mise en forme du formulaire . . . . . . . . . . . . . . . . . . . . 293 Optimisation de la mise en forme . . . . . . . . . . . . . . . . . 297 Ajout d’objets sur un formulaire . . . . . . . . . . . . . . . . . 302 Objets graphiques élémentaires . . . . . . . . . . . . . . . . . . . 305 Objets fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 Ordre de tabulation . . . . . . . . . . . . . . . . . . . . . . . . . 346 Trucs et astuces . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 Lorsque je clique directement dans une étiquette pour en modifier le texte, les couleurs appliquées font que je dois taper le texte "en aveugle"... . . . . . . . . . . . . . 348 Pourquoi un champ calculé affiche-t-il systématiquement le message d’erreur #NOM! ? . . . . . . . . . . . . . . . . . . . 348 Mon champ calculé ne se stocke pas dans la table associée au formulaire... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 Est-il possible d’afficher sur un formulaire des informations provenant de plusieurs tables ou requêtes ? . . . . . . . . . . . 349 Lorsque l’action d’un bouton de commande est annulée, une boîte de dialogue affiche un message peu explicite. . . . 350 Un clic sur un bouton de commande ne produit aucun effet. Pourquoi ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 Est-il possible de mettre à jour une liste déroulante de recherche lorsque j’utilise les boutons de déplacement pour naviguer entre les enregistrements ? . . . . . . . . . . . . 351 Comment afficher, dans une zone de texte, une colonne quelconque d’une liste déroulante ? . . . . . . . . . . . . . . . . 352 En fin d’enregistrement, un appui sur la touche Tab provoque le passage à l’enregistrement suivant. Comment revenir plutôt au début de la fiche ? . . . . . . . . . . . . . . . . . . . . . . . . . 353 En bref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 Sommaire 5 Plus loin sur les formulaires . . . . . . . . . . . . . . . . . . . . . 355 5.1 5.2 5.3 5.4 5.5 5.6 6 Sous-formulaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . Création d’un sous-formulaire à l’aide de l’Assistant . . . . . Champs père et champs fils . . . . . . . . . . . . . . . . . . . . . Mise en place manuelle d’un sous-formulaire . . . . . . . . . . Reports de valeurs entre formulaire et sous-formulaire . . . Filtrage d’informations sur le formulaire . . . . . . . . . . . Filtre par valeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Filtre par sélection . . . . . . . . . . . . . . . . . . . . . . . . . . . Filtre par formulaire . . . . . . . . . . . . . . . . . . . . . . . . . . Tableaux croisés dynamiques . . . . . . . . . . . . . . . . . . . Création d’un tableau croisé dynamique . . . . . . . . . . . . . Manipulation du tableau croisé dynamique . . . . . . . . . . . Personnalisation du tableau croisé dynamique . . . . . . . . . Graphiques croisés dynamiques . . . . . . . . . . . . . . . . . Trucs et astuces . . . . . . . . . . . . . . . . . . . . . . . . . . . . Est-il possible d’ouvrir directement un sous-formulaire depuis le formulaire ? . . . . . . . . . . . . . . . . . . . . . . . . . Entre la liste de choix et le sous-formulaire, quelle est la meilleure technique ? . . . . . . . . . . . . . . . . . Comment ajouter un titre à un graphique croisé dynamique ? . Comment, sur une courbe par exemple, afficher la valeur de chaque point ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . Est-il possible de juxtaposer plusieurs graphiques ? . . . . . . En bref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357 359 363 364 367 371 372 373 374 375 376 379 383 385 388 388 388 388 389 390 391 Techniques d’impression . . . . . . . . . . . . . . . . . . . . . . . 393 6.1 6.2 6.3 Listes simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Préparation de la source de l’état . . . . . . . . . . . . . . . . . Construction de l’état . . . . . . . . . . . . . . . . . . . . . . . . . Travail sur l’état . . . . . . . . . . . . . . . . . . . . . . . . . . . . . États de regroupement . . . . . . . . . . . . . . . . . . . . . . . Regroupement par l’Assistant État . . . . . . . . . . . . . . . . Sections de regroupement . . . . . . . . . . . . . . . . . . . . . . Regroupement manuel . . . . . . . . . . . . . . . . . . . . . . . . Courrier et publipostage . . . . . . . . . . . . . . . . . . . . . . Fiche Produit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sous-états . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 396 397 404 408 409 413 416 418 418 422 Sommaire 6.4 6.5 6.6 6.7 6.8 6.9 Publipostage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Étiquettes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Réalisation d’une planche d’étiquettes . . . . . . . . . . . . . . Personnalisation des étiquettes . . . . . . . . . . . . . . . . . . . Graphiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Un premier graphique . . . . . . . . . . . . . . . . . . . . . . . . . Personnalisation d’un graphique . . . . . . . . . . . . . . . . . . Aperçu des données réelles dans Microsoft Graph . . . . . . Liaison du graphique à un enregistrement . . . . . . . . . . . . Intégration d’un état à l’interface graphique . . . . . . . . . Impression d’un état via un bouton de commande . . . . . . Filtrage d’un état en fonction du formulaire . . . . . . . . . . Transmission d’un état . . . . . . . . . . . . . . . . . . . . . . . Exportation vers Word ou Excel . . . . . . . . . . . . . . . . . . Exportation au format Snapshot . . . . . . . . . . . . . . . . . . Trucs et astuces . . . . . . . . . . . . . . . . . . . . . . . . . . . . Quelle est la taille maximale d’un état ? . . . . . . . . . . . . . Pourquoi une page sur deux de mon état est-elle blanche ? . Est-il possible de convertir un formulaire en état ? . . . . . . Comment imprimer plusieurs pages d’un contrôle Onglet ? . Comment répéter une ligne de titres en haut de chaque page ? . Mon état est basé sur une requête paramétrée. Comment afficher les paramètres sur l’état ? . . . . . . . . . . Comment numéroter les enregistrements d’un état ? . . . . . Comment appliquer une couleur différente aux enregistrements pairs et impairs de l’état ? . . . . . . . . . En bref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424 426 426 430 432 432 434 437 438 441 441 441 443 443 444 446 446 446 446 447 447 448 448 449 450 Partie B Techniques avancées . . . . . . . . . . . . . . . . . . . . 451 7 Finalisation d’une application Access . . . . . . . . . . . . . . 453 7.1 7.2 7.3 7.4 Menu général automatique . . . . . . . . . . . . . . . . . . . . Formulaire d’accueil personnalisé . . . . . . . . . . . . . . . . Boîte de dialogue d’information . . . . . . . . . . . . . . . . . Barres de menus et barres d’outils . . . . . . . . . . . . . . . Création d’une barre d’outils . . . . . . . . . . . . . . . . . . . . Création d’une barre de menus . . . . . . . . . . . . . . . . . . . Barres de menus contextuels . . . . . . . . . . . . . . . . . . . . 455 462 464 466 467 473 477 Sommaire 7.5 7.6 7.7 7.8 7.9 8 Options de démarrage . . . . . . . . . . . . . . . . . . . . . . . . Raccourci de démarrage . . . . . . . . . . . . . . . . . . . . . . Aide en ligne personnalisée . . . . . . . . . . . . . . . . . . . . Élaboration d’un projet d’aide en ligne . . . . . . . . . . . . . . Rédaction des rubriques d’aide . . . . . . . . . . . . . . . . . . . Intégration des rubriques au projet . . . . . . . . . . . . . . . . Attribution d’un identifiant aux rubriques d’aide . . . . . . . Compilation du fichier d’aide . . . . . . . . . . . . . . . . . . . . Intégration du fichier d’aide à l’application Access . . . . . . Construction d’un sommaire . . . . . . . . . . . . . . . . . . . . . Trucs et astuces . . . . . . . . . . . . . . . . . . . . . . . . . . . . Est-il possible de construire un "splash screen" à partir d’un formulaire ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Je souhaiterais, sur ma boîte de dialogue de copyright, placer un lien vers mon site Internet. Comment faire ? . . . Est-il possible de copier des éléments d’une barre de menus vers une autre ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Est-il possible de désactiver la touche Maj qui passe outre toutes les options de démarrage ? . . . . . . . . . . . . . . . . . Est-il possible de faire en sorte qu’un fichier d’aide s’ouvre sur une page spécifique du sommaire ? . . . . . . . . . . . . . . Est-il possible d’ouvrir en Visual Basic une rubrique d’aide spécifique ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . En bref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480 482 484 485 488 492 493 497 498 500 504 504 505 505 505 506 506 507 Travail en environnement multi-utilisateur . . . . . . . . . . 509 8.1 8.2 Mise en place d’une base de données en réseau . . . . . . Client/serveur et serveur de fichiers . . . . . . . . . . . . . . . . Partage d’une base de données complète . . . . . . . . . . . . Fractionnement de la base de données . . . . . . . . . . . . . . Notion de verrouillage . . . . . . . . . . . . . . . . . . . . . . . . . Sécurisation d’une base de données Access/Jet . . . . . . . Masquage d’objets de la base de données . . . . . . . . . . . . Options de démarrage . . . . . . . . . . . . . . . . . . . . . . . . . Gestion de la touche Maj au démarrage . . . . . . . . . . . . . Fichiers .mde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Protection par mot de passe . . . . . . . . . . . . . . . . . . . . . Protection du code Visual Basic . . . . . . . . . . . . . . . . . . Cryptage/décryptage d’une base de données . . . . . . . . . . Sécurité utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . 511 512 513 515 522 528 530 531 531 534 536 538 539 541 Sommaire 8.3 8.4 8.5 Travail en mode Déconnecté : la réplication . . . . . . . . . Comprendre la réplication . . . . . . . . . . . . . . . . . . . . . . Quand utiliser la réplication ? . . . . . . . . . . . . . . . . . . . . Mettre en œuvre la réplication . . . . . . . . . . . . . . . . . . . Réplication via Access . . . . . . . . . . . . . . . . . . . . . . . . . Réplication par le Porte-documents . . . . . . . . . . . . . . . . Le gestionnaire de réplications . . . . . . . . . . . . . . . . . . . Trucs et astuces . . . . . . . . . . . . . . . . . . . . . . . . . . . . Est-il possible de scinder une base de données en plus de deux fichiers .mdb ? . . . . . . . . . . . . . . . . . . . . . . . . Est-il envisageable d’utiliser Access à distance ? . . . . . . . . Un fichier .mde peut-il être converti en base de données .mdb ? . Après avoir mis en place la sécurité utilisateur, toutes mes bases de données sont protégées et me demandent un mot de passe. Pourquoi ? . . . . . . . . . . . . . . . . . . . . . Pourquoi une base sécurisée s’ouvre-t-elle sans restriction sur un autre ordinateur ? . . . . . . . . . . . . . . . . . . . . . . . Comment transformer une base répliquée en une base normale ? . Une base répliquée peut-elle être déplacée manuellement ? . Comment éviter la suppression d’enregistrements dans un réplica ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . En bref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560 561 562 562 563 571 573 576 576 576 576 576 577 577 577 578 578 Partie C Programmation . . . . . . . . . . . . . . . . . . . . . . . . . . 579 9 Administration d’une base de données . . . . . . . . . . . . . 581 9.1 9.2 9.3 9.4 Sauvegarde d’une base de données . . . . . . . . . . . . . . . Compactage d’une base de données . . . . . . . . . . . . . . Techniques de compactage . . . . . . . . . . . . . . . . . . . . . . Compactage et NuméroAuto . . . . . . . . . . . . . . . . . . . . Audit de la base de données . . . . . . . . . . . . . . . . . . . . Documentation de la base de données . . . . . . . . . . . . . . L’analyseur de performance . . . . . . . . . . . . . . . . . . . . . L’analyseur de table . . . . . . . . . . . . . . . . . . . . . . . . . . Gestion d’un parc logiciel hétérogène . . . . . . . . . . . . . Conversion d’un fichier de version antérieure au format Access 2002 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conversion d’un fichier Access 2002 en un format antérieur . 583 585 585 588 589 589 591 592 593 593 595 Sommaire 9.5 9.6 9.7 10 597 598 600 609 610 610 611 612 612 614 Le langage SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615 10.1 10.2 10.3 10.4 10.5 10.6 11 Déploiement d’une application Access . . . . . . . . . . . . Préparation de l’empaquetage . . . . . . . . . . . . . . . . . . . L’Assistant Empaquetage . . . . . . . . . . . . . . . . . . . . . . . Déploiement d’une l’application . . . . . . . . . . . . . . . . . . Trucs et astuces . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pourquoi, après restauration d’une sauvegarde faite sur CD-Rom, la base ne s’ouvre-t-elle plus qu’en lecture seule ? . Comment lancer l’Assistant Empaquetage si l’accès à la base de données est désactivé ? . . . . . . . . . . . . . . . . . . . . . . Est-il possible d’installer plusieurs versions d’Access sur le même ordinateur ? . . . . . . . . . . . . . . . . . . . . . . . Comment résoudre les problèmes courants ? . . . . . . . . . . En bref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Qu’est-ce que SQL ? . . . . . . . . . . . . . . . . . . . . . . . . . Quand faut-il faire du SQL ? . . . . . . . . . . . . . . . . . . . . La lecture de SQL . . . . . . . . . . . . . . . . . . . . . . . . . . Principes généraux . . . . . . . . . . . . . . . . . . . . . . . . . . . Les principales Instructions SQL . . . . . . . . . . . . . . . . Instruction SELECT . . . . . . . . . . . . . . . . . . . . . . . . . . Instruction DELETE . . . . . . . . . . . . . . . . . . . . . . . . . Instruction UPDATE . . . . . . . . . . . . . . . . . . . . . . . . . Instruction INSERT INTO . . . . . . . . . . . . . . . . . . . . . Les spécificités SQL . . . . . . . . . . . . . . . . . . . . . . . . . Regroupement de tables par une requête UNION . . . . . . Sous-requêtes SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . Trucs et astuces . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comment détecter les différences entre deux tables ? . . . . Comment lister trois biens par catégorie ? . . . . . . . . . . . . Est-il possible d’ajouter la mention Tous dans une liste déroulante ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . En bref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617 618 619 620 621 621 629 630 631 633 633 634 636 636 637 639 641 Programmation par macros . . . . . . . . . . . . . . . . . . . . . . 643 11.1 Notions de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647 Une première macro . . . . . . . . . . . . . . . . . . . . . . . . . . 647 Groupes de macros . . . . . . . . . . . . . . . . . . . . . . . . . . . 650 Sommaire 11.2 11.3 11.4 11.5 11.6 11.7 12 Intégration d’une macro à l’interface graphique . . . . . . . . Programmation avancée des macros . . . . . . . . . . . . . . Conditions dans une macro . . . . . . . . . . . . . . . . . . . . . Boucles dans une macro . . . . . . . . . . . . . . . . . . . . . . . Mise au point des macros grâce à l’exécution pas à pas . . . Quelques exemples significatifs . . . . . . . . . . . . . . . . . . Ouverture d’objets divers . . . . . . . . . . . . . . . . . . . . . . . Importation / exportation de données . . . . . . . . . . . . . . . Démarrage d’un logiciel tiers . . . . . . . . . . . . . . . . . . . . Exécution d’une commande de menu . . . . . . . . . . . . . . . Envoi d’un message électronique . . . . . . . . . . . . . . . . . . Les macros AutoExec et AutoKeys . . . . . . . . . . . . . . . La macro AutoExec . . . . . . . . . . . . . . . . . . . . . . . . . . La macro AutoKeys . . . . . . . . . . . . . . . . . . . . . . . . . . Convertir des macros en Visual Basic . . . . . . . . . . . . . Conversion d’une macro . . . . . . . . . . . . . . . . . . . . . . . Exploitation des fonctions Visual Basic issues d’une conversion . Trucs et astuces . . . . . . . . . . . . . . . . . . . . . . . . . . . . Est-il possible d’imprimer les séquences macro ? . . . . . . . Pouvons-nous désactiver temporairement une instruction dans une macro ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . Est-il possible d’éviter les messages de confirmation produits par une requête Action ? . . . . . . . . . . . . . . . . . . . . . . . Une macro précise peut-elle être exécutée à l’aide d’un raccourci Windows ? . . . . . . . . . . . . . . . . . . . . . . En bref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651 655 655 658 659 660 661 663 664 665 666 670 670 672 673 674 676 678 678 679 679 680 681 Fondamentaux Visual Basic . . . . . . . . . . . . . . . . . . . . . 683 12.1 12.2 12.3 Présentation de Visual Basic . . . . . . . . . . . . . . . . . . . Inconvénients de la programmation Visual Basic . . . . . . . Avantages de la programmation Visual Basic . . . . . . . . . . Visual Basic (VB) ou Visual Basic pour Applications (VBA) ? . L’environnement de développement Visual Basic Editor . La fenêtre Exécution . . . . . . . . . . . . . . . . . . . . . . . . . . Modules, procédures et fonctions . . . . . . . . . . . . . . . . Gérer les modules . . . . . . . . . . . . . . . . . . . . . . . . . . . Procédures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ajouter, supprimer, renommer des procédures et des fonctions . 685 685 685 687 688 692 693 694 696 697 699 Sommaire Faire interagir les procédures et les fonctions . . . . . . . . . 701 Exécuter et mettre au point un programme . . . . . . . . . . . 703 12.4 12.5 12.6 12.7 12.8 13 Les fondamentaux du langage Visual Basic . . . . . . . . . Quelques règles d’écriture . . . . . . . . . . . . . . . . . . . . . . Aide contextuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Constantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Types de données personnalisés . . . . . . . . . . . . . . . . . . Tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Retour sur les procédures et fonctions . . . . . . . . . . . . . . Interaction avec l’utilisateur . . . . . . . . . . . . . . . . . . . . L’instruction MsgBox() . . . . . . . . . . . . . . . . . . . . . . . . La fonction InputBox() . . . . . . . . . . . . . . . . . . . . . . . . Structures de contrôle . . . . . . . . . . . . . . . . . . . . . . . . Structures conditionnelles . . . . . . . . . . . . . . . . . . . . . . Structures itératives . . . . . . . . . . . . . . . . . . . . . . . . . . Gestion des erreurs en Visual Basic . . . . . . . . . . . . . . . . Autres structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . Trucs et astuces . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comment démarrer un autre logiciel en Visual Basic ? . . . Une fonction peut-elle renvoyer plusieurs valeurs ? . . . . . . La condition If ne fonctionne-t-elle pas avec la valeur Null ? . Est-il possible d’utiliser une constante ou une variable dans une requête ou un formulaire ? . . . . . . . . . . . . . . . Un programme VB peut-il faire appel à un champ de formulaire ou d’état ? . . . . . . . . . . . . . . . . . . . . . . . Visual Basic permet-il des fonctions récursives ? . . . . . . . Les arguments de mes fonctions peuvent-ils proposer une liste de choix, comme le font les instructions VB intégrées ? . . . . En bref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708 708 713 713 725 726 728 733 738 738 743 744 744 749 755 761 761 761 762 762 763 763 764 765 766 Programmation des formulaires et des états . . . . . . . . 767 13.1 13.2 Introduction à la programmation objet . . . . . . . . . . . . Classes, collections et instances . . . . . . . . . . . . . . . . . . . Bibliothèques d’objets . . . . . . . . . . . . . . . . . . . . . . . . . L’Explorateur d’objets . . . . . . . . . . . . . . . . . . . . . . . . . Manipulation des objets et des collections . . . . . . . . . . Déclaration et initialisation de variables objet . . . . . . . . . Anatomie d’un objet . . . . . . . . . . . . . . . . . . . . . . . . . . 769 769 771 773 774 775 779 Sommaire Manipulation des collections . . . . . . . . . . . . . . . . . . . . 785 Notion de "membre par défaut" . . . . . . . . . . . . . . . . . . . 789 13.3 13.4 13.5 13.6 14 Programmation des formulaires . . . . . . . . . . . . . . . . . Référence à un formulaire . . . . . . . . . . . . . . . . . . . . . . Référence à un champ de formulaire . . . . . . . . . . . . . . . Référence à un sous-formulaire . . . . . . . . . . . . . . . . . . L’instance Me . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Événements du formulaire . . . . . . . . . . . . . . . . . . . . . . Applications pratiques . . . . . . . . . . . . . . . . . . . . . . . . . Filtrage dynamique des formulaires . . . . . . . . . . . . . . . . Programmation des états . . . . . . . . . . . . . . . . . . . . . . Événements de l’état . . . . . . . . . . . . . . . . . . . . . . . . . . Mise en forme dynamique en Visual Basic . . . . . . . . . . . Annulation de l’impression d’un état vide . . . . . . . . . . . . Tracés programmés . . . . . . . . . . . . . . . . . . . . . . . . . . Gestion des imprimantes . . . . . . . . . . . . . . . . . . . . . . . Filtrage dynamique d’un état . . . . . . . . . . . . . . . . . . . . Trucs et astuces . . . . . . . . . . . . . . . . . . . . . . . . . . . . Que signifie l’erreur "Bibliothèque introuvable" ? . . . . . . . Lorsque je quitte Access, celui-ci reste présent sur la barre des tâches de Windows. Pourquoi ? . . . . . . . . . . . . . . . . Comment parcourir la liste de tous les objets disposés sur un formulaire ou un état ? . . . . . . . . . . . . . . . . . . . . Est-il possible de programmer un formulaire tabulaire à la manière d’un état ? . . . . . . . . . . . . . . . . . . . . . . . . . . . Comment afficher un total intermédiaire en bas de page ? . Plusieurs étiquettes identiques peuvent-elles être imprimées ? . En bref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 789 789 791 792 793 794 802 821 833 833 834 836 838 847 854 855 855 856 856 857 858 860 862 Hiérarchies DAO et ADO . . . . . . . . . . . . . . . . . . . . . . . . 863 14.1 14.2 SQL, DAO ou ADO ? . . . . . . . . . . . . . . . . . . . . . . . . Présentation des interfaces DAO et ADO . . . . . . . . . . . . Retour sur les références . . . . . . . . . . . . . . . . . . . . . . . Parenthèse SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hiérarchie DAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vue générale du modèle objet . . . . . . . . . . . . . . . . . . . Premiers pas avec DAO . . . . . . . . . . . . . . . . . . . . . . . . Rétablissement de liaisons via DAO . . . . . . . . . . . . . . . . Compactage d’une base de données via DAO . . . . . . . . . 865 865 866 867 869 869 871 879 881 Sommaire 14.3 14.4 14.5 L’objet Recordset DAO . . . . . . . . . . . . . . . . . . . . . . . . Hiérarchie ADO . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vue générale du modèle objet . . . . . . . . . . . . . . . . . . . L’objet Recordset ADO . . . . . . . . . . . . . . . . . . . . . . . L’objet Command ADO . . . . . . . . . . . . . . . . . . . . . . . Manipulation des structures via ADOX . . . . . . . . . . . . . Trucs et astuces . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comment savoir quelle valeur vient de prendre un champ NuméroAuto après l’ajout d’un enregistrement ? . . . . . . . Comment créer une requête dans la fenêtre Base de données ? . Est-il possible d’ouvrir un Recordset dans une autre base de données ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Le résultat d’un Recordset peut-il être transféré dans un tableau VB ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Est-il possible d’inscrire tous les fichiers d’un dossier dans une table ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comment ouvrir une requête paramétrée en Visual Basic ? . En bref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 883 897 897 899 904 905 906 907 908 910 910 912 913 914 Partie D Ouverture d’Acces sur l’extérieur . . . . . . . . 915 15 Techniques de programmation avancée . . . . . . . . . . . . 917 15.1 15.2 15.3 15.4 Contrôles ActiveX . . . . . . . . . . . . . . . . . . . . . . . . . . Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Le contrôle Calendrier . . . . . . . . . . . . . . . . . . . . . . . . Le composant TreeView . . . . . . . . . . . . . . . . . . . . . . . Modules de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . Construction d’une classe d’objet . . . . . . . . . . . . . . . . . . Utilisation d’un objet personnalisé . . . . . . . . . . . . . . . . . Les événements Initialize et Terminate . . . . . . . . . . . . . . Événements de classe . . . . . . . . . . . . . . . . . . . . . . . . . Construction dynamique de formulaires ou d’états . . . . Construction dynamique d’un formulaire . . . . . . . . . . . . Ajout d’objets sur le formulaire . . . . . . . . . . . . . . . . . . . Suppression d’objets . . . . . . . . . . . . . . . . . . . . . . . . . . Conception dynamique d’un état . . . . . . . . . . . . . . . . . . Conception de compléments Access . . . . . . . . . . . . . . Mise en place du décor . . . . . . . . . . . . . . . . . . . . . . . . 919 919 920 924 941 942 944 946 947 952 952 954 959 960 962 964 Sommaire Le générateur de formulaires . . . . . . . . . . . . . . . . . . . . 973 Installation du complément . . . . . . . . . . . . . . . . . . . . . 985 15.5 15.6 16 Trucs et astuces . . . . . . . . . . . . . . . . . . . . . . . . . . . . Est-il possible de faire en sorte que le calendrier renseigne n’importe quel champ Date automatiquement ? . . . . . . . . Comment désinstaller un complément Access ? . . . . . . . . Une base de données peut-elle renfermer plusieurs compléments ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comment, dans un complément Access, différencier la base de données en cours de celle du complément ? . . . . . . . . Que sont les API Windows et comment les utiliser ? . . . . . En bref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 990 990 991 992 992 993 995 Interconnexion des logiciels Office . . . . . . . . . . . . . . . . 997 16.1 16.2 16.3 16.4 16.5 16.6 Les techniques de base . . . . . . . . . . . . . . . . . . . . . . . 999 Copier/coller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 999 Liaisons Office . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1001 Automatisation des liaisons : l’instruction OutputTo . . . . 1001 Les interfaces Access/Word . . . . . . . . . . . . . . . . . . . 1003 Publipostage manuel . . . . . . . . . . . . . . . . . . . . . . . . . 1003 Automatisation du publipostage . . . . . . . . . . . . . . . . . 1009 Les interfaces Access/Excel . . . . . . . . . . . . . . . . . . . 1014 Importation de données Excel . . . . . . . . . . . . . . . . . . . 1015 Exportation de données vers Excel . . . . . . . . . . . . . . . . 1020 Le travail avec les formats texte standard . . . . . . . . . . 1027 Importer/exporter via l’interface utilisateur d’Access . . . . 1027 Exporter/importer en Visual Basic . . . . . . . . . . . . . . . . 1031 Les passerelles personnalisées . . . . . . . . . . . . . . . . . . 1033 Accès au système de fichiers : commandes intégrées . . . . 1034 La bibliothèque Microsoft Scripting Runtime . . . . . . . . . 1039 L’objet FileDialog . . . . . . . . . . . . . . . . . . . . . . . . . . . 1045 Exportation de données personnalisée . . . . . . . . . . . . . 1048 Importation de données personnalisée . . . . . . . . . . . . . 1050 Trucs et astuces . . . . . . . . . . . . . . . . . . . . . . . . . . . 1055 Pourquoi certaines requêtes Access n’apparaissent-elles pas lors d’un publipostage Word ? . . . . . . . . . . . . . . . . 1055 Pourquoi les champs Date/Heure perdent-ils leur format lors d’un publipostage Word ? . . . . . . . . . . . . . . . . . . . 1055 Sommaire Comment transférer les formats d’exportation personnalisés dans une autre base de données ? . . . . . . . . . . . . . . . . Excel peut-il accéder à une base de données indépendamment d’Access ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pourquoi la suppression d’un fichier ou d’un répertoire ne fonctionne-t-elle pas ? . . . . . . . . . . . . . . . . . . . . . . . . Peut-on écrire dans un fichier texte sans provoquer systématiquement un retour à la ligne ? . . . . . . . . . . . . Access peut-il se connecter à d’autres bases de données ? . 16.7 1056 1056 1059 1059 1060 En bref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1061 Partie E Access et Internet / Intranet . . . . . . . . . . . . 1063 17 Access et Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1065 17.1 17.2 17.3 17.4 17.5 17.6 Liens hypertexte . . . . . . . . . . . . . . . . . . . . . . . . . . . Lien hypertexte dans une table . . . . . . . . . . . . . . . . . . Lien hypertexte sur un formulaire . . . . . . . . . . . . . . . . Automatisation d’une connexion hypertexte via FollowHyperlink . . . . . . . . . . . . . . . . . . . . . . . . . . . . Envoi de documents via SendObject . . . . . . . . . . . . . Transmission d’un e-mail . . . . . . . . . . . . . . . . . . . . . . Transmission d’une pièce jointe . . . . . . . . . . . . . . . . . . Programmation d’un envoi en nombre . . . . . . . . . . . . . Messagerie électronique avec Outlook . . . . . . . . . . . . Transmission d’un courrier simple via Outlook . . . . . . . . Transmission de plusieurs pièces jointes via Outlook . . . . Liaison de dossiers Outlook à une base Access . . . . . . . . Présentation des données au travers de pages HTML statiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Production de pages HTML . . . . . . . . . . . . . . . . . . . . Modèle d’exportation . . . . . . . . . . . . . . . . . . . . . . . . Pages d’accès aux données . . . . . . . . . . . . . . . . . . . . Construction d’une page d’accès aux données . . . . . . . . . Personnalisation d’une page . . . . . . . . . . . . . . . . . . . . Trucs et astuces . . . . . . . . . . . . . . . . . . . . . . . . . . . Comment construire une carte interactive sur un formulaire Access ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Est-ce que seule l’adresse e-mail du destinataire peut être renseignée par la méthode FollowHyperlink ? . . . . . . . . 1067 1067 1071 1072 1075 1077 1079 1081 1085 1086 1089 1092 1093 1094 1096 1100 1102 1105 1110 1110 1111 Sommaire Est-il possible d’expédier des télécopies avec Access ? . . . Un formulaire ou un état peut-il être rapidement converti en une page d’accès aux données ? . . . . . . . . . . . . . . . . Pourquoi une page d’accès aux données ne fonctionne-t-elle plus après avoir été déplacée ou renommée ? . . . . . . . . . Un problème similaire survient si la base de données est déplacée. Comment le résoudre ? . . . . . . . . . . . . . . 17.7 18 1112 1113 1113 1114 En bref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1116 Active Server Pages (ASP) . . . . . . . . . . . . . . . . . . . . . . 1119 Quelques limitations à prendre en compte . . . . . . . . . . . Installation d’un serveur web . . . . . . . . . . . . . . . . . . Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Test du serveur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.2 Mise en place d’un site avec FrontPage . . . . . . . . . . . 18.3 Introduction aux Active Server Pages . . . . . . . . . . . . . Qu’est-ce qu’une page HTML ? . . . . . . . . . . . . . . . . . . Qu’est-ce qu’une page ASP ? . . . . . . . . . . . . . . . . . . . Première page ASP . . . . . . . . . . . . . . . . . . . . . . . . . . 18.4 Mise en ligne d’une base de données . . . . . . . . . . . . . Connexion directe ou indirecte à la base de données . . . . Où l’on reparle des Recordsets . . . . . . . . . . . . . . . . . . 18.5 Construction d’une page pas à pas . . . . . . . . . . . . . . . Tri des enregistrements . . . . . . . . . . . . . . . . . . . . . . . Usage de tableaux HTML pour un maquettage attractif . . Numérotation des lignes . . . . . . . . . . . . . . . . . . . . . . . Gestion de la pagination . . . . . . . . . . . . . . . . . . . . . . Listing complet de la page ASP . . . . . . . . . . . . . . . . . . 18.6 Page produit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Le descriptif Bien . . . . . . . . . . . . . . . . . . . . . . . . . . . Affichage dynamique d’un bien . . . . . . . . . . . . . . . . . . Connexion du descriptif de bien à la liste des biens . . . . . Sous-formulaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.7 Élaboration d’un formulaire de recherche . . . . . . . . . Construction du formulaire de recherche . . . . . . . . . . . Analyse des données du formulaire . . . . . . . . . . . . . . . 18.8 Écriture d’informations dans la base de données . . . . . 18.9 Publication du site web . . . . . . . . . . . . . . . . . . . . . . 18.10 Trucs et astuces . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.1 1121 1122 1122 1124 1126 1128 1129 1135 1137 1140 1140 1145 1149 1149 1150 1154 1155 1163 1165 1165 1168 1170 1170 1175 1176 1182 1185 1187 1188 Sommaire Lorsque j’ouvre une page ASP, celle-ci n’est pas interprétée. Pourquoi ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . La mise en forme des tableaux HTML est peu esthétique lorsqu’une cellule est vide. Comment faire ? . . . . . . . . . Comment construire un lien hypertexte vers un site web ou une adresse e-mail ? . . . . . . . . . . . . . . . . . . . . . . . Comment prévoir une page de zoom sur des photos ? . . . Est-il possible d’interfacer Access au langage PHP ? . . . . 1188 1189 1189 1190 1191 18.11 En bref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1192 Partie F MSDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1195 19 Développement client/serveur sous MSDE . . . . . . . . . 1197 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 Pourquoi utiliser MSDE ? . . . . . . . . . . . . . . . . . . . . Installation de Microsoft SQL Server Desktop Engine . Installation de MSDE . . . . . . . . . . . . . . . . . . . . . . . . Démarrage de MSDE . . . . . . . . . . . . . . . . . . . . . . . . Premiers pas avec MSE . . . . . . . . . . . . . . . . . . . . . . Le projet Les Comptoirs . . . . . . . . . . . . . . . . . . . . . . Conversion d’une application Jet en projet MSDE . . . . . Construction d’un projet Access . . . . . . . . . . . . . . . . Mise en place des bases frontale et dorsale . . . . . . . . . . Construction des tables . . . . . . . . . . . . . . . . . . . . . . . Mise en place des relations . . . . . . . . . . . . . . . . . . . . . Requêtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Quelques notions de Transact-SQL . . . . . . . . . . . . . . Procédures stockées . . . . . . . . . . . . . . . . . . . . . . . . . Fonctions SQL personnalisées . . . . . . . . . . . . . . . . . . . Commentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Quelques structures de contrôle . . . . . . . . . . . . . . . . . Formulaires et états . . . . . . . . . . . . . . . . . . . . . . . . . Mise en œuvre de la propriété Input Parameters dans un formulaire de recherche . . . . . . . . . . . . . . . . . . . . . . . Programmation Visual Basic . . . . . . . . . . . . . . . . . . . Maintenance d’une base MSDE . . . . . . . . . . . . . . . . Sauvegarde d’une base de données . . . . . . . . . . . . . . . . Restauration d’une base de données . . . . . . . . . . . . . . . 1199 1200 1200 1202 1203 1204 1206 1211 1211 1212 1217 1221 1235 1236 1239 1241 1241 1244 1247 1248 1251 1253 1253 1254 Sommaire Suppression d’une base de données . . . . . . . . . . . . . . . 1254 Transfert d’une base de données . . . . . . . . . . . . . . . . . 1254 19.9 Trucs et astuces . . . . . . . . . . . . . . . . . . . . . . . . . . . Il m’est impossible d’ajouter un enregistrement dans une table MSDE. Pourquoi ? . . . . . . . . . . . . . . . . . . . . . . Qu’est-ce qu’un déclencheur (trigger) ? . . . . . . . . . . . . . Comment gérer la colonne Identité (NuméroAuto) lors de l’insertion de données dans une table ? . . . . . . . . . . . . . Une liste déroulante n’a pas de propriété Input Parameters. Comment lui associer une procédure stockée paramétrée ? . 19.10 En bref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1255 1255 1255 1256 1257 1259 Partie G Annexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1261 20 Annexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1263 20.1 20.2 20.3 20.4 20.5 20.6 21 Spécifications techniques d’Access . . . . . . . . . . . . . . Raccourcis clavier . . . . . . . . . . . . . . . . . . . . . . . . . . Raccourcis généraux . . . . . . . . . . . . . . . . . . . . . . . . . Navigation et saisie . . . . . . . . . . . . . . . . . . . . . . . . . . Options de ligne de commande . . . . . . . . . . . . . . . . . Méthodes de l’objet DoCmd . . . . . . . . . . . . . . . . . . . Gestion des objets de la base de données . . . . . . . . . . . Gestion de l’affichage écran . . . . . . . . . . . . . . . . . . . . Gestion des menus déroulants et des barres d’outils . . . . Gestion des enregistrements de formulaires . . . . . . . . . . Transfert de données (importation, exportation) . . . . . . . Commande d’exécution . . . . . . . . . . . . . . . . . . . . . . . Commandes diverses . . . . . . . . . . . . . . . . . . . . . . . . . Contenu et utilisation du CD-Rom . . . . . . . . . . . . . . Webographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1265 1267 1267 1268 1269 1270 1270 1272 1274 1274 1276 1277 1278 1278 1280 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1283