Ce n'est tout simplement pas normal :normaliser les tables Access vides
L'une des choses les plus difficiles à faire (et pourtant la plus importante lors de la construction d'une base de données) est de construire correctement les structures de table. Ce processus est connu sous le nom de normalisation. Une base de données correctement normalisée ne doit jamais avoir qu'une seule table contenant des informations redondantes. Considérez le tableau suivant :Client | Adresse | Ville | État | Zip | Téléphone |
Jones | 125, rue Main | Jonestown | NJ | 08000 | 609-555-1244 |
Jones | 125, rue Main | Jonestown | NJ | 08000 | 609-555-7890 |
Smith | 1542 Jones Highway | Laramie | WY | 82051 | 307-555-5412 |
Wilson | 78 Cercle Smith | Jones | CA | 90000 | 451-555-8645 |
Si vous rencontrez des difficultés pour normaliser les tables vides, remplissez chaque table avec cinq à dix enregistrements. L'affichage des tableaux avec des données facilite généralement la détection des problèmes de normalisation.
Voici comment commencer à normaliser vos tables :- Examinez chaque tableau tel qu'il est actuellement structuré. Répétez-vous des informations inutilement (comme vous l'avez vu avec l'adresse et le nom du client plus tôt) ?
- Si vous avez des informations en double, déterminez pourquoi vous les répétez (par exemple, les multiples numéros de téléphone d'un client).
- Divisez le tableau en deux tableaux pour éliminer la redondance.
- Répétez les étapes 1 à 3 pour chaque table jusqu'à ce que toute redondance soit éliminée.
Vous constaterez peut-être que le fractionnement d'une table en deux n'élimine toujours pas toute la redondance dans une table. Dans ce cas, continuez à diviser les tables jusqu'à ce que toute redondance soit supprimée.
Vous tapez 73.725, mais Access le change en 74
L'arrondi automatique peut vous frustrer la lumière du jour, mais il est facile de le corriger. Par défaut, Access configure tous les champs numériques pour qu'ils acceptent les entiers longs. Comme vous vous en souvenez peut-être de vos jours de mathématiques au lycée, un entier est un nombre entier positif ou négatif. Pour accepter les décimales, vous modifiez le paramètre de taille de champ afin qu'il accepte les décimales. Voici comment:- Ouvrez le tableau en mode Création, puis cliquez sur le champ qui ne coopère pas.
- Dans l'onglet Général de la zone Propriétés en bas de l'écran, cliquez sur la case Taille du champ.
- Cliquez sur la flèche vers le bas à la fin de la zone, puis sélectionnez Simple, Double ou Décimal dans le menu déroulant qui s'affiche.
- Enregistrez le tableau et votre problème d'arrondi automatique est résolu.
Pour plus de détails sur la différence entre les tailles de champ Simple, Double et Décimal, appuyez sur la touche F1 dans la zone de propriété Taille du champ. L'écran d'aide donne une description détaillée de chaque taille de champ, les nombres qu'il contiendra et la quantité d'espace réservée pour cette taille. L'accès nécessite une connexion Internet pour utiliser son système d'aide.
Les mots qu'ils changent—problèmes avec Access AutoCorrect
Parfois, ces fonctionnalités «utiles» d'Access peuvent devenir une nuisance. L'une de ces fonctionnalités s'appelle la correction automatique. Vous le connaissez peut-être depuis Microsoft Word, où c'est souvent une bonne chose. Les bases de données, cependant, contiennent souvent des acronymes, des numéros de pièces, etc. La correction automatique peut s'en donner à coeur joie avec de tels "mots". Vous ne vous en rendez peut-être même pas compte lorsque vous entrez vos données.
Vous avez deux choix pour résoudre ce problème.
- Annulez les effets de la correction automatique au fur et à mesure qu'ils se produisent. Appuyez sur Ctrl + Z juste après que la correction automatique ait bâclé votre saisie de données. Access remet les données telles que vous les avez saisies. Malheureusement, pour que cela fonctionne, vous devez remarquer qu'Access a modifié ce que vous avez saisi.
- Désactivez entièrement la correction automatique. Pour désactiver la correction automatique, procédez comme suit :
1. Cliquez sur l'onglet Fichier dans le coin supérieur gauche de l'écran d'accès.
2. Cliquez sur le bouton Options dans le menu en bas à gauche de l'écran.
La boîte de dialogue Options d'accès s'affiche.
3. Cliquez sur Vérification dans la liste de gauche.
Vos choix de vérification apparaissent.
4. Cliquez sur le bouton Options de correction automatique.
La boîte de dialogue Correction automatique s'affiche.
5. Décochez certaines ou toutes les cases à cocher dans la boîte de dialogue Correction automatique.
Vous pouvez désactiver certaines ou toutes les fonctionnalités de correction automatique, en fonction de ce que la correction automatique fait pour vous ennuyer à l'heure actuelle. Décochez l'option Remplacer le texte au cours de la frappe si vous ne voulez plus qu'Access « corrige » vos « fautes d'orthographe » pour vous.
6. Cliquez deux fois sur OK pour enregistrer vos modifications.
Vous pouvez désormais saisir correctement le texte de votre problème, sans l'interférence de la correction automatique, et le conserver tel que vous l'avez saisi.
C'était là et maintenant c'est parti :suppressions accidentelles de données dans Access
Vous avez peut-être beaucoup entendu celui-ci au fil des ans :"La base de données a supprimé mon enregistrement !" Eh bien, j'ai une nouvelle pour vous :la base de données ne fait rien sans que nous, les humains, la commandions. Et les humains peuvent faire quelques erreurs :- Suppression accidentelle : Il existe plusieurs façons de supprimer accidentellement un enregistrement. En général, un raccourci clavier pour supprimer est utilisé, tel que Ctrl+– (supprimer l'enregistrement) ou Ctrl+X (couper).
La commande Annuler (Ctrl+Z) n'annulera pas la suppression d'un enregistrement.
- Erreur de données : Un enregistrement peut apparaître supprimé si quelqu'un modifie par inadvertance une information particulièrement vitale. Par exemple, supposons que l'enregistrement en question contienne une date de commande du 15/12/19 et que quelqu'un change par inadvertance la date en 15/12/09. La date de la commande ne correspond pas à ce qui était attendu. L'enregistrement peut donc sembler avoir été supprimé.
- Si une erreur de données donne l'impression que l'enregistrement a été supprimé, plusieurs solutions sont possibles, comme indiqué dans les sections suivantes.
Annuler
Ne pas paniquer. Avant de faire quoi que ce soit d'autre, appuyez sur Ctrl+Z. C'est la commande Annuler. Si le record revient, vous avez de la chance. Annuler annule les erreurs de saisie de données qui peuvent faire apparaître l'enregistrement comme supprimé. Cependant, cela ne fonctionnera que si vous annulez juste après l'erreur de saisie de données.
Rechercher l'enregistrement manquant
Si vous essayez la commande Annuler et que l'enregistrement ne revient pas, il est toujours possible qu'une erreur de saisie de données le cache en le plaçant là où vous ne l'attendez pas. Ouvrez la table qui contenait l'enregistrement et recherchez-le d'une autre manière que vous ne le feriez normalement. Recherchez tout ce qui sort de l'ordinaire sur des disques similaires. Voici quelques exemples :- Si vous recherchez normalement des commandes par date, effectuez une recherche par client. Voir si une commande similaire à celle manquante existe pour ce client et a une date inhabituelle (par exemple, le même mois et le même jour que la commande manquante mais avec la mauvaise année).
- Essayez de regarder toutes les commandes à la date en question pour voir si le client de chaque commande semble être correct. Il se peut que le client ait été modifié par inadvertance sur la commande manquante.
Récupération de sauvegarde
Si vous ne trouvez l'enregistrement nulle part, copiez-le à partir d'une sauvegarde du fichier de base de données.Cette solution ne fonctionne que si vous avez sauvegardé votre base de données depuis l'ajout initial de l'enregistrement. Si vous sauvegardez la nuit et que l'enregistrement a été saisi le jour même où il a disparu, cet enregistrement ne sera pas dans votre sauvegarde.
Vous exécutez une requête Access, mais les résultats sont inattendus
L'écriture de requêtes est une forme d'art. Même les experts se trompent de temps en temps. Voici quelques solutions courantes aux résultats de requête inattendus :- Vérifiez l'exactitude des critères. Une seule frappe mal placée est tout ce qu'il faut pour transformer votre requête en raté. Vérifiez vos critères pour les fautes d'orthographe ou de syntaxe, puis relancez la requête.
- Essayez la propriété Valeurs uniques. Avez-vous déjà vu deux copies de chaque enregistrement dans les résultats de votre requête alors que vous n'en attendiez qu'une ? Une solution rapide consiste souvent à utiliser la propriété Valeurs uniques. Cette propriété indique à Access d'arrêter le doublage, déjà — et, si les résultats de la requête contiennent un groupe de doublons exacts, de renvoyer une seule ligne du groupe. Voici comment utiliser cette propriété :
1. Ouvrez la requête problématique en mode Création.
L'onglet Conception du ruban s'affiche.
2. Cliquez sur le bouton Feuille de propriétés du groupe Afficher/Masquer le ruban de l'onglet.
La fenêtre Feuille de propriétés s'ouvre à droite de la grille de requête.
3. Cliquez dans la zone grise entre les listes de champs dans la moitié supérieure de la grille de requête.
La feuille de propriétés doit maintenant afficher les propriétés de la requête. (Regardez juste en dessous de la barre de titre de la feuille de propriétés pour le confirmer.)
4. Cliquez sur la ligne Valeurs uniques de la feuille de propriétés.
Une flèche de liste déroulante apparaît à la fin de la ligne Valeurs uniques.
5. Sélectionnez Oui dans la liste déroulante et exécutez la requête.
Le doublage devrait disparaître.
- Corrigez la logique de sélection. Jongler avec un tas de connexions ET et OU dans une requête peut rapidement perturber même les concepteurs de bases de données les plus endurcis.
- Corrigez les relations entre les tables. Si les résultats de votre requête montrent moyen trop d'enregistrements et que la requête utilise deux tables ou plus, des relations incorrectes (également appelées jointures) en sont probablement la cause.
- Vérifiez les types de relations entre les tables. Si votre requête implique deux tables ou plus et que vous obtenez moins d'enregistrements que prévu, des relations de table incorrectes en sont probablement la cause. Par exemple, si vous avez une base de données de saisie de commandes et exécutez une requête répertoriant tous les clients et leurs commandes, par défaut, vous ne verrez que les clients qui ont passé une commande. Pour voir tous les clients, qu'ils aient passé des commandes ou non, procédez comme suit :
1. En mode Conception, cliquez avec le bouton droit sur la jointure (la ligne reliant les deux tables) et choisissez Propriétés de la jointure dans le menu qui s'affiche.
2. Examinez les types de jointures proposées et choisissez celle qui dit quelque chose comme "Inclure TOUS les enregistrements de 'Clients' et uniquement les enregistrements de 'Commandes' où le les champs joints sont égaux".
Le texte réel que vous voyez diffère selon les noms de vos tables. Pour interroger les aficionados, cela s'appelle une jointure externe. Très cool.
3. Cliquez sur OK et exécutez la requête.
Vous devriez maintenant avoir tous les enregistrements de la table Clients, qu'il y ait ou non des enregistrements correspondants dans la table Commandes.
Si votre requête implique plusieurs critères, certains champs calculés et de nombreuses relations, essayez de diviser la tâche en plusieurs étapes plus petites au lieu d'essayer de résoudre le problème en une seule fois. L'approche étape par étape vous permet de vous concentrer sur chaque élément, un à la fois, en vous assurant que chacun fonctionne parfaitement avant de passer au suivant.
Si votre requête ne fonctionne toujours pas, peu importe ce que vous faites, demandez à quelqu'un d'autre d'y jeter un coup d'œil. J'ai souvent travaillé sur un problème de requête difficile pendant des heures, je l'ai montré à quelqu'un d'autre et j'ai entendu ces mots magiques :"C'est simple. Fais juste ça. Et le problème est résolu. Avoir un regard neuf sur le problème résout souvent les choses rapidement.
La redoutable boîte de dialogue Paramètre dans Access
À un moment donné, lors de l'ouverture d'une requête, d'un formulaire ou d'un état, vous verrez une boîte de dialogue Paramètre lorsque vous ne souhaitez pas voir une boîte de dialogue Paramètre. Levez-vous les mains en l'air et maudissez-vous l'univers ? Bien sûr que non! Chaque fois que vous voyez une boîte de dialogue Paramètre de manière inattendue (vous pouvez les définir exprès), cela signifie qu'Access ne peut pas trouver un champ référencé par le formulaire ou l'état ou la requête derrière le formulaire ou l'état. Dire que le problème est avec un rapport. Pour résoudre le problème, commencez par la requête derrière le rapport. Ouvrez cette requête en mode Feuille de données et voyez si vous obtenez le paramètre. Si oui, quel champ demande-t-il ? Ce champ est celui qu'Access ne peut pas trouver. Basculez donc la requête en mode Création et recherchez la colonne avec le champ qu'Access ne peut pas trouver. Le champ problématique est généralement un champ calculé qui fait référence à d'autres champs. Chaque nom de champ et de table est-il correctement orthographié ? Sinon, corrigez les fautes d'orthographe. Chaque champ de la table est-il censé se trouver ? Par exemple, si votre référence lit Orders.LastName et que le champ LastName se trouve dans la table Customers, corrigez l'erreur en saisissant Customers.LastName .
Si la requête s'exécute sans paramètre, le problème concerne le rapport. Ouvrez donc le rapport en mode Création et vérifiez chaque contrôle du rapport lié à un champ. Si Access ne trouve pas l'un des champs que le contrôle est censé afficher, il placera un triangle vert dans le coin supérieur gauche du contrôle. Vérifiez chacun pour le triangle vert. Si vous trouvez le triangle vert, vérifiez l'orthographe du champ référencé par le contrôle. Par exemple, si le contrôle est censé afficher LastName (sans espace) et que la référence dans le contrôle indique Last Name (space), supprimez l'espace afin que le contrôle du rapport corresponde au nom de champ de la requête. Vérifiez également la requête sous-jacente du rapport pour confirmer que le champ du problème est sélectionné dans la requête.
La base de données Access la plus lente de la ville
Une base de données Access peut se retrouver sur le disque partagé d'une entreprise afin qu'elle soit accessible à tous ceux qui en ont besoin. Le problème avec le placement de l'intégralité de la base de données Access sur le lecteur partagé est qu'elle s'exécute souvent lentement sur le poste de travail de chaque utilisateur (c'est un mot fantaisiste pour un ordinateur individuel). Vous rencontrerez également probablement des erreurs si plusieurs personnes tentent d'utiliser la base de données en même temps. Les plaintes commencent à arriver et vous ne savez pas quoi faire.
La solution à ce problème consiste à diviser le fichier de base de données Access en deux fichiers distincts :
- Front-end : Contient tous les objets de la base de données sauf les tableaux
Le frontal réside sur le poste de travail de l'utilisateur.
- Back-end : Contient uniquement les tableaux
Le back-end réside sur le serveur partagé.
Le front-end est lié aux tableaux du back-end.
Tout ce que vous partagez vraiment, ce sont les données - donc les données sont tout ce qui devrait aller sur le disque partagé. En configurant les choses de cette façon, les seules informations qui doivent circuler sur le réseau sont les données demandées par l'utilisateur. Une telle configuration accélère considérablement les performances de la base de données et permet à plusieurs utilisateurs de saisir et de modifier des données en même temps.
Fractionner l'ensemble de données n'est pas aussi difficile que vous pourriez le penser. Access en fait un jeu d'enfant avec l'assistant de fractionnement de base de données. Suivez ces étapes pour diviser votre base de données :- Sauvegardez la base de données que vous souhaitez diviser. En cas de problème (peu probable, mais bon, vous n'êtes jamais trop prudent en matière de données !), vous pouvez réessayer avec la copie de sauvegarde.
- Si nécessaire, déplacez la base de données que vous souhaitez diviser vers un dossier sur votre disque partagé. Cette étape permet à Database Splitter de configurer correctement les liens de table pour vous.
- Ouvrez le fichier de base de données que vous souhaitez séparer du dossier partagé. Assurez-vous d'avoir une copie de sauvegarde de cette base de données avant d'aller plus loin. Assurez-vous également que tous les objets de la base de données sont fermés.
- Cliquez sur l'onglet Outils de base de données sur le ruban. Le groupe Déplacer les données apparaît sur le ruban. Il contient un bouton appelé Access Database.
- Cliquez sur le bouton Access Database. La boîte de dialogue Assistant de fractionnement de base de données s'affiche.
- Cliquez sur le bouton Diviser la base de données et laissez l'assistant faire son travail. Vous serez invité à entrer un nom de fichier de base de données principale. Entrez un nom, asseyez-vous et regardez le plaisir se dérouler sous vos yeux.
- Copiez le fichier frontal (le fichier d'origine que vous avez divisé) sur le poste de travail de chaque utilisateur. Demandez aux utilisateurs d'ouvrir le fichier à partir de leur poste de travail et voyez comment ils s'émerveillent devant la vitesse améliorée de la base de données ! Vous êtes un héros. Ouais !
Vous n'avez pas de Drive partagé ou vous souhaitez vous débarrasser de votre partage ? Vous pouvez toujours avoir plusieurs utilisateurs dans votre base de données en même temps en plaçant vos données dans le cloud.
Votre fichier de base de données Access est aussi gros qu'une maison
Au fil du temps, vous constatez que votre fichier de base de données devient de plus en plus volumineux. Ceci est le résultat de la suppression d'objets et d'enregistrements au fil du temps. Si, par exemple, vous créez une requête, puis la supprimez ultérieurement car elle n'est plus nécessaire, Access ne supprime pas automatiquement l'espace occupé par cette requête du fichier de base de données. Il en est de même pour les enregistrements. Lorsque vous supprimez des enregistrements d'une table, l'espace que ces enregistrements occupaient dans le fichier de base de données reste. Finalement, le fichier peut atteindre quatre ou cinq fois la taille requise pour contenir les données et les objets qu'il contient.
Pourquoi devriez-vous vous soucier si la taille du fichier augmente ? Voici deux raisons :
- Un fichier de base de données plus petit s'exécute plus rapidement. La performance est un élément clé pour des utilisateurs de base de données heureux. Vous souhaitez que vos formulaires se chargent rapidement et que vos requêtes et rapports s'exécutent aussi rapidement que possible.
- Une base de données régulièrement compactée est plus stable. Si la base de données est souvent utilisée, le compactage régulier permet d'éviter la corruption des fichiers et des tables.
- Ouvrez la base de données gonflée et cliquez sur l'onglet Outils de base de données sur le ruban. Le groupe Outils apparaît tout à gauche du ruban.
- Cliquez sur le bouton Compacter et réparer la base de données dans le groupe Outils. La barre d'état (en bas à droite de votre écran) affiche une barre de progression qui vous informe de la progression du processus de compactage. Lorsque la barre de progression disparaît, le compactage est terminé - et vous vous retrouverez avec un fichier de base de données beaucoup plus compact (plus rapide et plus stable). Si vous avez divisé votre base de données, n'oubliez pas de compacter les fichiers frontaux et principaux.
Vous voulez qu'un fichier de base de données soit compacté chaque fois que vous le fermez ? Suivez ces étapes :
- Cliquez sur l'onglet Fichier du ruban.
- Cliquez sur le bouton Options d'accès dans la barre de menu en bas à gauche de l'écran. La boîte de dialogue Options d'accès s'affiche.
- Cliquez sur Base de données actuelle dans la liste de gauche. Les options de la base de données actuelle s'affichent.
- Cochez la case Compacter à la fermeture.
- Cliquez sur OK pour enregistrer vos modifications.
- Cliquez sur OK dans la boîte de message résultante.
- Fermez la base de données et notez la barre d'état en bas à droite. La base de données est en cours de compactage avant de se fermer !
Compact on close est mieux utilisé sur le fichier frontal uniquement. Le compactage du back-end à la fermeture peut entraîner la corruption du fichier back-end si un autre utilisateur s'y trouve lorsque vous le fermez. N'activez pas Compact on Close sur le fichier principal.
Vous obtenez un gâchis lors de l'importation de votre feuille de calcul dans Access
Il est courant de mettre à niveau une collection de feuilles de calcul vers une base de données Access une fois que la solution de tableur ne répond plus à vos besoins. Il est également courant de trouver les données importées de la feuille de calcul (maintenant la table) dans un état de désordre. Le moyen le plus simple de résoudre ce problème consiste à nettoyer la feuille de calcul avant vous l'importez. Voici quelques conseils pour une importation soignée :- Vérifiez les informations provenant de n'importe quel tableur pour vous assurer qu'elles sont cohérentes et compléter. Avant tout, assurez-vous que toutes les entrées de chaque colonne (champ) sont du même type de données (tous les chiffres, tout le texte ou tout ce que vous voulez).
- Supprimez tous les titres et les lignes vides du haut de la feuille de calcul. Une feuille de calcul idéale pour l'importation aura des noms de champ (en-têtes de colonne) dans la ligne 1 et des données commençant dans la ligne 2.
- Assurez-vous que les en-têtes de colonne de votre feuille de calcul sont courts et uniques afin qu'Access puisse facilement les traduire en noms de champ lors de l'importation.
Nous sommes désolés ; votre fichier de base de données Access est corrompu
Cela a commencé comme un jour comme un autre. Cependant, ce jour-là, vous obtenez une erreur lorsque vous ouvrez le frontal de votre base de données Access partagée. Vous ne semblez pas pouvoir ouvrir de formulaires ou de rapports. C'est drôle comme quelques petits messages peuvent gâcher votre journée. Vous commencez à vous demander si vous avez sauvegardé le fichier de données la nuit dernière et quand le fichier a été réellement corrompu. Ensuite, vous commencez à vous demander comment vous sortirez de ce pétrin.
Ne craignez rien. Il existe une solution simple à une base de données corrompue. Voici les étapes :
- Accédez au dossier contenant le fichier principal.
- Double-cliquez sur le fichier pour l'ouvrir. Access se lancera et tentera de réparer le fichier. Vous devriez voir une barre de progression de la réparation dans la partie droite de la barre d'état. Si tout se passe bien, le fichier s'ouvre.
- Fermez le fichier de données principal.
- Rouvrez le fichier frontal et tout devrait fonctionner normalement.
Si, après avoir suivi les instructions précédentes, le fichier corrompu ne s'ouvre toujours pas, vous avez un problème sérieux qui pourrait nécessiter des efforts pour être nettoyé. L'étape suivante consiste à recourir à une copie de sauvegarde de la base de données. Vérifiez quelles données manquent entre la sauvegarde et votre souvenir du fichier corrompu. Oui, vous devrez ressaisir les données manquantes. Désolé !
Si vous n'avez pas de sauvegarde, tout espoir n'est pas perdu. Vous pouvez acheter un logiciel conçu spécifiquement pour réparer les fichiers de base de données Access corrompus. Essayez de rechercher sur le Web pour réparer les fichiers de base de données Microsoft Access corrompus. Assurez-vous que le logiciel fonctionne avec Microsoft Access 2019 et qu'il provient d'une entreprise légitime.