ADODB jeu d'enregistrements en tant que Rapport d'Accès à la Source
J'ai un simple formulaire, d'une requête et d'un rapport dans Access 2003. J'ai pour manipuler les résultats de la requête dans un jeu d'enregistrements à l'aide de VBA et de le passer sur le rapport comme source (RecordSource).
Si je déclare le jeu d'enregistrements du jeu d'enregistrements et d'utiliser son Nom de la propriété en tant que la Source du rapport, alors il est de travail. Cependant, parce que j'ai besoin de modifier le jeu d'enregistrements, je pensais qu'il serait plus facile d'utiliser un jeu d'enregistrements ADODB comme ci-dessous.
Records est déclarée comme Dim rs As ADODB.RecordSet
dans un module global.
Le reste du code est;
Dim db As Database
Set db = CurrentDb
Dim con As ADODB.Connection
Set con = CurrentProject.Connection
Set rs = New ADODB.Recordset
Set rs.ActiveConnection = con
rs.Source = "Select * from XXX"
rs.LockType = adLockOptimistic
rs.CursorType = adOpenKeyset
rs.Open
'manipulate rs here....'
J'ai utilisé pour passer de la Source du rapport myReport.RecordSource = rs.Nom.
Mais le ADODB n'ont pas un Nom de propriété.
Comment puis-je passer ce jeu d'enregistrements pour le rapport comme source (RecordSource)?
Grâce
Je suis actuellement à la définition de la propriété RecordSource du rapport le rapport de l'événement open, mais il exige que le nom du jeu d'enregistrements et ADODB jeu d'enregistrements ne pas avoir un nom de propriété.
Je me suis dit de ne pas utiliser un jeu d'enregistrements -- il suffit de régler le SQL de la propriété Recordsource d'être le SQL que vous utilisez pour ouvrir votre jeu d'enregistrements. Si il y a une raison qui ne fonctionne pas, je ne le vois pas. C'est le moyen standard pour ce faire, au lieu de définir le rapport du jeu d'enregistrements (ce qui est quelque chose que je n'ai jamais eu besoin de le faire dans toutes mes années de l'Accès à la programmation pour une vie).
pour ce que ça vaut, il ya des moments que vous pourriez aimer pour ce faire, si vous avez besoin de construire un TSQL passage par la requête (pour appeler une procédure stockée) et de définir le jeu d'enregistrements du rapport.
OriginalL'auteur Sivakanesh | 2010-11-15
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas lier un rapport à un jeu d'enregistrements ADO dans un mdb, seulement dans un adp: http://support.microsoft.com/?id=287437
OriginalL'auteur Fionnuala
Je n'ai pas de copie de l'accès 2003 à la main, mais de mémoire que vous venez de faire
Juste eu un coup d'oeil sur la KB Microsoft et il semble que ma mémoire fonctionne encore!
http://support.microsoft.com/kb/281998
OriginalL'auteur Kevin Ross