J'ai un formulaire simple, une requête et un rapport dans Access 2003. Je dois manipuler les résultats de la requête dans un jeu d'enregistrements en utilisant VBA, puis le transmettre au rapport en tant que RecordSource.ADODB RecordSet en tant que rapport d'accès RecordSource
Si je déclare le jeu d'enregistrements en tant que RecordSet et utilise sa propriété Name en tant que RecordSource du rapport, alors il fonctionne. Cependant, parce que j'ai besoin d'éditer le jeu d'enregistrements, je pense qu'il serait plus facile d'utiliser un ADODB RecordSet comme ci-dessous.
L'ensemble d'enregistrements est déclaré Dim rs As ADODB.RecordSet
dans un module global. Le reste du code est; J'ai utilisé pour passer le RecordSource du rapport comme myReport.RecordSource = rs.Name. Mais l'ADODB n'a pas de propriété Name.
Comment puis-je transmettre ce jeu d'enregistrements au rapport en tant que RecordSource?
Merci
Pourquoi pensez-vous que vous devez faire? Pourquoi ne pouvez-vous pas simplement définir la source d'enregistrements dans l'événement OnOpen du rapport? –
Je suis en train de définir la propriété RecordSource du rapport lors de l'événement open du rapport, mais elle nécessite le nom de l'ensemble d'enregistrements et ADODB Recordset n'a pas de propriété name. – Sivakanesh
Je dis ne pas utiliser un jeu d'enregistrements - il suffit de définir le SQL de la propriété Recordsource pour être le SQL que vous utilisez pour ouvrir votre jeu d'enregistrements. S'il y a une raison qui ne fonctionne pas, je ne le vois pas. C'est la manière standard de le faire, au lieu de définir le Recordset du rapport (ce que je n'ai jamais eu besoin de faire pendant toutes mes années de programmation Access pour vivre). –