Vous êtes actuellement hors ligne, en attente de reconnexion à Internet.

Ralentissement des performances sur des tables liées dans Access 2002, Office Access 2003 et Office 2007

Le support d'Office 2003 a pris fin

Microsoft a mis fin au support d'Office 2003 le 8 avril 2014. Cette modification a affecté vos mises à jour logicielles et options de sécurité. Découvrez les implications de ce changement à votre niveau et la marche à suivre pour rester protégé.

IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d’articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d’avoir accès, dans votre propre langue, à l’ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s’exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s’efforce aussi continuellement de faire évoluer son système de traduction automatique.

La version anglaise de cet article est la suivante: 275085
Pour une Microsoft Access 2000 version de cet article, reportez-vous 261000.
Novice : Nécessite une connaissance de l'interface utilisateur sur les ordinateurs mono-utilisateur.

Cet article s'applique uniquement à une base de données Microsoft Access (.mdb).

Symptômes
Lorsque vous ouvrez une table attachée dans Access 2002, dans Microsoft Office Access 2003. ou dans Microsoft Office Access 2007 qui peuvent afficher des enregistrements connexes dans une sous-feuille de données, le processus est sensiblement plus long que si vous utilisez la même base de données dans Microsoft Access 97.
Cause
Ce comportement se produit s'il existe de nombreuses tables liées dans une base de données qui contient également de nombreuses relations et la table que vous ouvrez son Nom de la sous-feuille de données propriété a la valeur [auto].
Résolution
Pour contourner ce problème, affectez à propriété de Nom de la sous-feuille de données de la table [Aucun]. Vous pouvez le faire manuellement ou à l'aide de code.

Définition de la propriété Name de la sous-feuille de données manuellement

Pour définir la propriété Name de la sous-feuille de données manuellement, procédez comme suit.

RemarqueCette procédure fonctionne uniquement dans Access 2002.
  1. Dans la base de données back-end, ouvrez une table en mode Création.
  2. Dans le menu affichage, cliquez sur Propriétés.
  3. Définir la propriété Name de la sous-feuille de données[None].
  4. Enregistrez et fermez la table.

Définition de la propriété Name de sous-feuille de données pour toutes les tables à l'aide de code

Une fonction Visual Basic pour applications permet de définir automatiquement la propriété Name de sous-feuille de données pour toutes les tables non système dans une base de données [None]. Pour ce faire, procédez comme suit :
  1. Ouvrez la base de données back-end.
  2. Dans la fenêtre base de données, cliquez sur modules, puis cliquez sur Nouveau.
  3. Dans le menu Outils, cliquez sur références. Assurez-vous que le Microsoft DAO 3.6 Object Library case à cocher est activée et cliquez sur OK.
  4. Tapez ou collez le code suivant dans le nouveau module.
    Sub TurnOffSubDataSheets()Dim MyDB As DAO.DatabaseDim MyProperty As DAO.PropertyDim propName As String, propVal As String, rplpropValue As StringDim propType As Integer, i As IntegerDim intCount As IntegerOn Error GoTo tagErrorSet MyDB = CurrentDbpropName = "SubDataSheetName"propType = 10propVal = "[None]"rplpropValue = "[Auto]"intCount = 0For i = 0 To MyDB.TableDefs.Count - 1    If (MyDB.TableDefs(i).Attributes And dbSystemObject) = 0 Then        If MyDB.TableDefs(i).Properties(propName).Value = rplpropValue Then             MyDB.TableDefs(i).Properties(propName).Value = propVal             intCount = intCount + 1        End If    End IftagFromErrorHandling:Next iMyDB.CloseIf intCount > 0 Then    MsgBox "The " & propName & " value for " & intCount & " non-system tables has been updated to " & propVal & "."End IfExit SubtagError:If Err.Number = 3270 Then    Set MyProperty = MyDB.TableDefs(i).CreateProperty(propName)    MyProperty.Type = propType    MyProperty.Value = propVal    MyDB.TableDefs(i).Properties.Append MyProperty    intCount = intCount + 1    Resume tagFromErrorHandlingElse    MsgBox Err.Description & vbCrLf & vbCrLf & " in TurnOffSubDataSheets routine."End IfEnd Sub
  5. Dans la fenêtre exécution, tapez le texte suivant, puis appuyez sur ENTRÉE pour exécuter la fonction : Note
    TurnOffSubDataSheets						
    qu'après un bref moment, si toutes les tables ne sont pas déjà mis à jour, vous affiche une boîte de message vous indiquant que la propriété SubDataSheetName pour <numberoftablesupdated>non-système tables a été mis à jour pour[NONE].
Plus d'informations
Office Access 2007, Access 2003, Access 2002 et Access 2000 permettent d'afficher les enregistrements connexes d'une table dans une sous-feuille de données ; cette fonctionnalité n'est pas disponible dans Access 97. Pour gérer les relations entre les tables principales et connexes, le système requiert une charge supplémentaire peut augmenter les temps de réponse, en particulier lorsqu'une base de données est un grand nombre de tables liées et un grand nombre de relations entre tables.

La table principale dans une relation un-à-plusieurs (table située du côté «un» de l'équation) peut avoir sa propriété de Nom de la sous-feuille de données définie sur [Aucun], auquel cas les sous-feuilles de données ne sont pas affichés. Ou sa propriété Name de la sous-feuille de données peut être définie sur le nom d'une table liée particulière ou sur [auto]. Si la propriété a la valeur [auto], vous pouvez sélectionnez la table dont vous souhaitez voir lorsque vous cliquez sur l'indicateur de développer d'un enregistrement dans le tableau principal les enregistrements connexe. Lorsque vous définissez la propriété [auto], elle peut réduire les performances sensiblement, en particulier sur les ordinateurs plus anciens, lorsque la base de données utilise un grand nombre de tables liées. Ce problème ne se produit lorsque toutes les tables sont présentes dans la même base de données.

Étant donné que le problème est ralentissement des performances, facteurs, tels que la vitesse du processeur et de ressources système disponibles peuvent entraîner une base de données qui exécute correctement sur un ordinateur pour pouvoir exécuter lentement sur un autre ordinateur.

Microsoft fournit des exemples de programmation à des fins d'illustration uniquement, sans garantie expresse ou implicite. Cela inclut, mais n'est pas limité à, les garanties implicites de qualité marchande ou d'adéquation à un usage particulier. Cet article suppose que vous connaissez le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les techniciens du support technique Microsoft peuvent vous aider à comprendre la fonctionnalité d'une procédure particulière, mais ils ne modifieront pas ces exemples pour fournir des fonctionnalités supplémentaires ou créer des procédures répondant à vos besoins spécifiques.
problème longtemps ACC2007

Avertissement : Cet article a été traduit automatiquement.

Propriétés

ID d'article : 275085 - Dernière mise à jour : 03/29/2007 18:38:35 - Révision : 10.1

Microsoft Office Access 2007, Microsoft Office Access 2003, Microsoft Access 2002

  • kbmt kbbug kbperformance kbnofix KB275085 KbMtfr
Commentaires