Bonjour,
Merci de votre indulgence, j'aborde seulement le DAO et n'ai pour culture que l'excellent tutoriel de Christophe Warin dont je viens juste de lire les 100 pages avant de me lancer dans ce module.
Mon objectif "créer dans une table des enregistrements quasi vides en nombre variable (défini dans une première table pour chaque club) pour produire de 3 à 280 "lignes vierges" par club sur les états de MàJ (écriture des données en blanc pour des adhérents ajoutés en plus de l'édition des adhérents existants).
Côté Etat, c'est prêt, côté calcul du nombre de lignes à ajouter par club aussi...
Mais mon retour très récent en Access et plus encore en VBA puis maintenant DAO me pénalise sans nul doute.
Le Problème :
Dès l' OpenRecordset, j'ai une erreur 424 provenant peut-être d'un environnement incorrect ?
La base est bien entendu ouverte et je n'arrive guère à voir ce qui ne va pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 Sub AjLgViergeAdh() 'AdLgViergeAdh : Création des lignes MàJ dans la base adhérents Dim RstB As DAO.Recordset 'Table AR22Gadh Dim DbB As DAO.Database Set DbB = CurrentDb Set RstB = db.OpenRecordset("SELECT * FROM AR22Gadh", dbOpenTable) ' RstB.AddNew 'Passe en mode Ajout : que des enreg à ajouter sur cette table ! Dim RstC As DAO.Recordset 'Table Clubs Dim DbC As DAO.Database Set DbC = CurrentDb Set RstC = db.OpenRecordset("SELECT * FROM Clubs WHERE NClub>0", dbOpenTable) ', dbOpenTable While Not RstC.EOF 'Tant que non fin du recordset "Clubs" Call EcritClubVierge(RstC.Fields("Nclub").Value, RstC.Fields("NbLigAjout").Value) 'écrit n enr. vides / club RstC.MoveNext 'Passer au club suivant Wend RstC.Close 'Fermetures Tables DbC.Close Set RstC = Nothing Set DbC = Nothing RstB.Close DbB.Close Set RstB = Nothing Set DbB = Nothing End Sub
J'ai tenté d'ajouter une ouverture de la base avant mais j'arrive ce qui parait logique sur une autre erreur puisque la base est déjà ouverte.
J'ai voulu éditer (MsgBox) les valeurs transmises pour l'open mais là encore je tombe sur une erreur (92 de tête).
Je ne sais plus comment débugger et ne peux plus compter que sur vos yeux experts.
Alors merci d'avance pour vos idées, conseils et indications de solution.
Je n'ai pas mis bien entendu le module chargé d'écrire mes enregistrements vierges : il est sans intérêt à ce niveau.
RJL9802
Partager