osoy
Messages postés2Date d'inscriptionmercredi 30 novembre 2011StatutMembreDernière intervention 1 décembre 2011
-
30 nov. 2011 à 15:54
osoy
Messages postés2Date d'inscriptionmercredi 30 novembre 2011StatutMembreDernière intervention 1 décembre 2011
-
1 déc. 2011 à 18:30
Bonjour,
Après de nombreuses recherches je m'en remets à votre savoir…
Je suis en train de modifier une base existante et n'y connais pas grand-chose en VBA. Alors je vais essayer d'être clair : Je suis sur un formulaire "Produit principal" dans lequel se trouve un sous-formulaire "Consultation Produits". Dans "Produit principal" on trouve une liste déroulante "Codeart" récupérant les données de la table "Tablelisteart" (un seul champs : N° qui sont mes codes produits) et qui permet d'actualiser le sous-formulaire. J'ai un bouton "Execute" qui me permet d'executer mon code en fonction de ma sélection dans la liste déroulante. Tout ceci fonctionne.
Ce que j'aimerais c'est l'execution de ma procédure pour chacun des enregistrements de ma liste déroulante "Codeart" (… ma table "Tablelisteart"). Je suppose qu'il faut faire une boucle mais comment?
Ah oui, il faut ca fonctionne à partir d'Access 2000.
Extrait du code qui fonctionne :
Private Sub Execute_Click()
Dim Prospect As Long
Dim word As String
Dim DocName As String
Dim LinkCriteria As String
LinkCriteria "[NuméroProduit] Forms![Produit principal]![Codeart]"
Dim pdfjob As PDFCreator.clsPDFCreator
Dim sPDFName As String
Dim sPDFPath As String
Dim sPrinterName As String
Dim sReportName As String
Dim lPrinters As Long
Dim lPrinterCurrent As Long
Dim lPrinterPDF As Long
Dim prtDefault As Printer
varia = Left(Forms![Consultation_Gamme]![NuméroProduit], 1)
NHenry
Messages postés15151Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention 4 septembre 2024159 30 nov. 2011 à 20:22
Bonjour,
Tu es en VBA Access, pas en VB.NET, attention à la catégorie, je déplace.
Je ne connais pas beaucoup VBA Access, mais essayes d'ouvrir un Recordset, puis boucle avec un Do/Loop en utilisant la valeur de la propriété EOF du Recordset. Tu passe à l'enregistrement suivant en appellant la méthode MoveNext.
Voir la documentation des recordset disponible sur Internet.
Do Until MonRecordset.Eof
...
MonRecordset.MoveNext
Loop
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list ---