Dans le passé, je produisais toujours des rapports en interrogeant une base de données, en la déposant sur une feuille de calcul, en la triant, en lisant dans un tableau et en bouclant pour créer les documents. Ce que j'essaye de faire maintenant est de générer les rapports directement à partir du jeu d'enregistrements. Le problème que j'ai cependant est lors de l'utilisation des tableaux que j'avais un nombre d'enregistrement absolu, donc je pouvais vérifier si un champ dans l'enregistrement précédent était le même que dans l'enregistrement en cours.Boucle conditionnelle avec jeu d'enregistrements ADO dans VBA
Quelle est la meilleure façon de faire cela avec un jeu d'enregistrements? Stocker la valeur du champ dans une variable? Utiliser des boucles While imbriquées? Obtenez un nombre total d'enregistrements et utilisez des positions absolues pour faire des va-et-vient (ce qui ne semble pas être une bonne idée)?
MISE À JOUR Le jeu d'enregistrements contient plusieurs enregistrements de 20 sociétés différentes. Je trier la requête par le nom de l'entreprise et ensuite commencer à la parcourir. J'ai ensuite besoin de vérifier chaque enregistrement pour voir si elle provient de la même société que la précédente et si ce n'est pas créer une nouvelle feuille de calcul pour cette société.
Certains d'entre eux semblent des approches raisonnables - pourquoi ne pas en essayer un? –
J'ai senti que c'était probablement une tâche commune et que quelqu'un pourrait y répondre rapidement. Plus important encore, j'étais intéressé à découvrir quelle était la meilleure approche pour ne pas finir avec quelque chose qui fonctionne mais ne devrait pas être utilisé pour une raison quelconque. – pheeper
Il est difficile de savoir quelle est la meilleure approche sans connaître vos besoins exacts en ce qui concerne la façon dont vous devez construire vos rapports. Si vous avez juste besoin de suivre quand la valeur d'un ou plusieurs champs spécifiques change alors en utilisant une variable pour suivre la valeur précédente fonctionne bien. –