samedi 3 novembre 2012

Éviter de coûteuses erreurs d'accès Microsoft Software Development


Pratiques d'accès Meilleures Microsoft et astuces

J'ai programmé dans Microsoft Access pour plus de 14 ans et nous avons trouvé les éléments suivants les plus importants dans la création de la conception de base de données le mieux possible. Ceux-ci ont été découverts à être les principaux éléments qui ont provoqué un ralentissement des performances, des erreurs, des difficultés d'utilisation, et la corruption des données. La violation de l'une de ces lignes directrices se traduira par des problèmes mineurs ou majeurs. Appliquer des agencements de conception uniforme de feuillet. Cela aidera à la courbe d'apprentissage pour les nouveaux employés à l'application.

Pour augmenter les performances de la forme et des menus déroulants liste de chargement, utiliser les requêtes stockées pour vos sources d'enregistrements car ils ont déjà été optimisés par Access. Remarque: l'assistant de formulaire Access créera Sélectionnez instructions SQL pour enregistrer des sources, et ceux-ci ne sont pas optimales.

Utilisez les règles de validation pour aider à prévenir les erreurs de saisie de données en limitant les informations qui peuvent être saisies dans un champ. Utilisez une boîte de message ou de la zone écran pour avertir l'utilisateur ce qui est nécessaire. En utilisant la propriété tag du champ est un moyen facile de coder le type (s) de validation besoins de chaque champ, on peut alors parcourir la collection de champs pour faire les validations. Index des champs que vous aurez besoin pour les critères de sélection dans les requêtes et les champs utilisés dans les requêtes qui joignent les tables, pour augmenter la vitesse de performance.

Optimiser les types de données à utiliser le moins de mémoire et de stockage et d'augmenter la vitesse de traitement.

Toujours mettre la gestion des erreurs de code dans votre routine de sorte que vous avez le contrôle de ce que la logique à appliquer. Un fichier MDE arrêter l'exécution sans dire quoi que ce soit vous ou votre utilisateur utiles sur l'erreur. Ne pas utiliser les macros (qui ne permettent pas la récupération d'erreur) à l'exception des menus personnalisés pour la même raison.

Autoriser les utilisateurs seulement une copie du fichier avant la fin de l'accès au programme, qui contient tout, mais les données, ne jamais utiliser le fichier programme original frontal. Cela empêche la possibilité de corruption imprévu. Toujours diviser la demande d'accès entre un front-end et back-end (de données). Placer le back-end de données MDB sur la racine du partage réseau, pour accélérer les lectures et écritures. Compact données back-end sur une base régulière. Cela va vérifier pour voir si l'indexation table est corrompue également si des enregistrements de données sont corrompus. Cette pratique permet également de réduire la taille du fichier.

Attribuer une personne, et en son absence une seconde, pour sauvegarder les données et les stocker hors site sur une base régulière sans écraser la dernière sauvegarde. Combien de fois vous sauvegardez est déterminée par la quantité de données êtes-vous prêt à entrer de nouveau et combien de temps aurait passé jusqu'à ce que la perte est détectée.

Lors du compactage, assurez-vous que la subversion de l'accès est à jour il n'y a donc pas de réédition des numéros automatiques émis antérieurement, et que vous faites une copie de sauvegarde de la MDB d'origine. Ne pas utiliser de champs mémo de type de données sur un réseau. Ils ont d'indexation différente qui est beaucoup plus sensible à la corruption au cours d'une reprise au serveur. En 14 ans, je n'ai vu que la corruption de table niveau record de données de type Mémo champs. Utiliser un formulaire menu principal ou une forme quelconque autre entrée non-données qui est toujours maintenue ouverte et est relié à une table de petite application. Ceci empêchera l'ouverture et fermeture répétée de la LDB (fichier de verrouillage des enregistrements) lorsque chaque formulaire est ouvert puis fermer avant d'ouvrir une autre forme. Cela permettra d'éviter un ralentissement sur une connexion réseau.

Utilisez le champ numéro automatique pour relier les tables pour les tables dépendantes des enfants. Ils sont difficiles pour les utilisateurs de modifier et d'offrir de meilleures performances d'indexation.

Utilisez consultation de listes déroulantes pour les champs texte, qui stockent le nombre entier long automatique de la table de recherche. Si les données historiques sont nécessaires dans une table de correspondance dont le texte est susceptible de changer, assurez-vous que la valeur de texte dans la table de recherche est également stockée dans la table principale avec la touche entier long de la table de recherche.

Au lieu d'utiliser une clé multi-domaine qui empêche les enregistrements en double, utilisez le code pour vérifier un doublon potentiel avant d'autoriser la création de l'enregistrement pour continuer. Si l'automatisation d'autres parties de Microsoft Office, utiliser la liaison tardive de sorte que vous n'avez pas à vous soucier de ce que la version du logiciel Office autre, tel que Word, Excel ou Outlook, est utilisé sur les ordinateurs de bureau individuels.

Utilisez le même nom dans les deux parent et une table enfant, lorsque vous utilisez un champ de numéro automatique de la table maître vers le champ correspondant entier long dans la table enfant à charge à ajouter à l'entretien et à la compréhension des relations. Ne pas utiliser des ensembles de disques dans un environnement multi-utilisateur, sauf si le jeu d'enregistrements est en lecture seule instantané et il n'y a aucune mise à jour qui pourrait entrer en conflit avec la concurrence des autres utilisateurs. Solution, envelopper les mises à jour dans une transaction qui notifie à la défaillance des conflits d'écriture et a demandé à l'utilisateur d'obtenir d'autres utilisateurs avant de réessayer.

Voici quelques points les plus importants. Toujours utiliser Option Explicit dans le code VBA pour s'assurer qu'aucun variables non déclarées. Gardez votre version du moteur Jet 4.0 à jour. Sur de grandes mises à jour du jeu d'enregistrements, utilisez les opérations de jeu d'enregistrements avec BeginTrans et CommitTrans pour accélérer les mises à jour du jeu d'enregistrements par les mémoriser temporairement dans une mémoire tampon premier. Enfin, évitez rejoint droite dans les requêtes si cela est possible pour des performances moins que la logique du programme ou activité l'exige....

Aucun commentaire:

Enregistrer un commentaire