Utiliser le résultat d'une requête sans l'afficher

Le
steph05
Bonjour,

J'ai fait une requête dont le résultat est une liste de valeurs. Je
veux utiliser chacune de ces valeurs comme paramètre pour exécuter une
autre requête. Mais je ne veux pas que le résultat de la première
requête s'affiche. De plus, à chaque fois, ça m'ouvre une boîte de
dialogue où je dois saisir le paramètre.
Comment puis-je faire ?

Mon code est le suivant:

Private Sub cmdBanqueDiff_Click()

DoCmd.OpenQuery "RBanqueDiff", acViewNormal, acEdit

Dim mabase As DAO.database
Dim lerecordset As DAO.Recordset

Set mabase = CurrentDb
Set lerecordset = mabase.OpenRecordset("RBanqueDiff")

lerecordset.MoveFirst

Do While Not lerecordset.EOF()
MonNomBanque = lerecordset![NomBanque]

DoCmd.SetWarnings False
machaineSQL = "SELECT TCartesBINNom.NumCarte INTO TBinNom2 FROM
TCartesBINNom WHERE (((TCartesBINNom.NomBanque)=" & MonNomBanque &
"));"
DoCmd.RunSQL machaineSQL
DoCmd.SetWarnings True

DoCmd.TransferText acExportFixed, "Export", "TBinNom2", MonNomBanque &
".txt", False

lerecordset.MoveNext
Loop

End Sub

Merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Argyronet
Le #6323341
Bonjour,

Je vous recommande la lecture de ce tutoriel :
http://warin.developpez.com/access/dao/
Il vous permettra de comprendre la philosophie de DAO.
Par exemple, il est inutile de faire un OpenQuery avec DAO comme vous l'avez
écrit.
De plus, votre recordset n'est pas fermé ni vidé de la mémoire ; à terme,
sur un usage intensif, cela peut avoir des répercutions négatives sur le
comportement de votre application.
Là, j'ai le sentiment que vous êtes un peu perdu, mais rassurez-vous, vous
allez y arriver... Nous ferons tout pour.
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN 2742982442 )
Empaquetage avec Runtime 2007 :
http://argyronet.developpez.com/office/access/runtime/2007/



Bonjour,

J'ai fait une requête dont le résultat est une liste de valeurs. Je
veux utiliser chacune de ces valeurs comme paramètre pour exécuter une
autre requête. Mais je ne veux pas que le résultat de la première
requête s'affiche. De plus, à chaque fois, ça m'ouvre une boîte de
dialogue où je dois saisir le paramètre.
Comment puis-je faire ?

Mon code est le suivant:

Private Sub cmdBanqueDiff_Click()

DoCmd.OpenQuery "RBanqueDiff", acViewNormal, acEdit

Dim mabase As DAO.database
Dim lerecordset As DAO.Recordset

Set mabase = CurrentDb
Set lerecordset = mabase.OpenRecordset("RBanqueDiff")

lerecordset.MoveFirst

Do While Not lerecordset.EOF()
MonNomBanque = lerecordset![NomBanque]

DoCmd.SetWarnings False
machaineSQL = "SELECT TCartesBINNom.NumCarte INTO TBinNom2 FROM
TCartesBINNom WHERE (((TCartesBINNom.NomBanque)=" & MonNomBanque &
"));"
DoCmd.RunSQL machaineSQL
DoCmd.SetWarnings True

DoCmd.TransferText acExportFixed, "Export", "TBinNom2", MonNomBanque &
".txt", False

lerecordset.MoveNext
Loop

End Sub

Merci




Publicité
Poster une réponse
Anonyme