Selon Allen Browne, la propriété de nom de subdataseet est un problème dans l'accès de Mme et devrait être éteinte. (La propriété nommée de Subdatasheet réglée à [automobile] devrait être [aucun].) Voir le ce lien, extrait ci-dessous :
http://allenbrowne.com/bug-09.htmlJe crois que les subdatasheets fonctionneront toujours sur la base des liens de maître et d'enfant quoique la propriété de nom de subdatasheet ait été arrêtée. En tant que toujours, vous veiller pour avoir à supports proportionnés avant d'apporter toutes les modifications.
________________________________________________________________
Tableaux : SubdatasheetName
Dans Access 2000, les tables ont obtenu une nouvelle propriété appelée SubdatasheetName. Si la propriété n'est pas placée, elle se transfère sur « [automobile] ». Sa fiche technique montre un plus que l'utilisateur peut cliquer pour montrer les disques relatifs d'une autre table que l'accès pense peut être utile.
Cette propriété automatiquement assignée est héritée par des formes et des subforms montrés dans la vue de fiche technique. Clairement, ce n'est pas une bonne idée et peut avoir des conséquences fortuites dans les applications importées des versions antérieures. Plus mauvais toujours, il y a les issues d'exécution sérieuses liées à charger une forme qui a plusieurs subforms où l'accès figure dehors et rassemble des données des tables plus connexes de multiple.
Encore, la solution est d'arrêter des subdatasheets en plaçant la propriété à « [aucun] ». Encore, il n'y a aucune manière de faire ceci par défaut, ainsi vous devez se rappeler de faire ainsi chaque fois que vous créez une table. Ce code fera une boucle par vos tables et arrêtera la propriété :
Fonction TurnOffSubDataSh ()
Faible DB comme DAO.Database
Faible tdf comme DAO.TableDef
Faible prp comme DAO.Property
conPropName de Const = « SubdatasheetName »
conPropValue de Const = « [aucun] »
Placer DB = DBEngine (0) (0)
Pour chaque tdf dans db.TableDefs
Si (tdf. Attributs et dbSystemObject) = 0 puis
Si tdf. Relier = vbNullString et Asc (tdf. Nom) <> 126 alors 'non joints, ou temp.
Sinon HasProperty (tdf, conPropName) puis
Placer le prp = le tdf.CreateProperty (conPropName
, dbText, conPropValue)
prp du tdf. Properties.Append
Autrement
Si tdf. conPropValue de propriétés (
conPropName <> ) alors
tdf. Propriétés (conPropName
) = conPropValue
Finir si
Finir si
Finir si
Finir si
Après
Placer le prp = rien
Placer le tdf = rien
Placer DB = rien
Finir la fonction
Fonction publique HasProperty (obj comme objet, strPropName comme corde) comme booléen
'But : De retour rectifier si l'objet a la propriété.
Obscurcir varDummy comme variante
Sur l'erreur reprendre après
varDummy = obj. Propriétés (strPropName
)
HasProperty = (Err.Number = 0)
Fonction de fin