2017-10-03 2 views
0

Par exemple,Comment puis-je ajouter un champ "Calculé" dans une table qui renvoie le nombre d'enregistrements dans la sous-feuille de données pour cet enregistrement?

enter image description here

enter image description here

Le nombre de champ instances indique « 1 » parce qu'il ya un enregistrement dans la sous-feuille associée au dossier principal. (J'ai actuellement le champ calculé mis à "1" pour tous les enregistrements comme un espace réservé)

Y a-t-il un moyen d'avoir ce calculé pour chaque enregistrement principal automatiquement?

Répondre

1

L'accès n'a pas de colonnes calculées qui se mettent à jour automatiquement. Vous pouvez avoir une colonne calculée dans une requête en définissant une colonne basée sur une fonction DCount().

Une autre façon de le faire serait de créer une paire de masters/fiches de détails avec les deux formulaires configurés pour être affichés dans la vue datasheet. Cela se présentera de la même manière que la feuille de données brute avec des sous-répertoires en expansion. Ajouter une zone de texte au formulaire parent avec une fonction dans le ControlSource pour déterminer le nombre de lignes dans le jeu de données détail. Une fonction DCount fonctionnerait là aussi.

Si le type de données de la clé est une valeur de chaîne, vous aurez besoin des guillemets simples dans l'exemple. Si le type de données est numérique, les guillemets simples ne sont pas nécessaires, de sorte que la concaténation finale à la fin disparaîtrait complètement. Si vous référencez une date, remplacez les guillemets simples par des mots de hachage.

+0

Oui, après avoir lu un peu, j'ai décidé de ne pas l'utiliser dans une table, et de la reléguer à une requête à la place. Cependant, je ne sais toujours pas comment utiliser 'DCount()' pour le faire, comme dans ce que devraient être les variables d'expression. Chaque fois que je lance ma requête, il me demande d'entrer une valeur pour ma table qui comprend les informations sur les sous-feuilles de données. – RBuntu

+0

J'ai ajouté un exemple de la fonction DCount. –

+0

J'ai lutté avec cela pendant des jours. Merci beaucoup. Cela a fonctionné à merveille. Au début, je recevais une erreur de syntaxe, donc j'ai joint le 'ForeignKeyColumnInDetailTable' entre crochets et cela a fonctionné parfaitement! – RBuntu