Bonjour tout le monde, je voudrais créer une procédure qui me permette de mettre à jour des recorsets des contrôles Data.
J'ai une feuille avec plusieurs contrôles Data (ctrlDataA, ctrlDataB, etc. par exemple) chaune reliée à une table spécifique (TableA, TableB, etc.). Seulement dans ma base de donnée toutes ces tables reliées aux contrôles Data ont une partie de la clé en commun (Nom, Modèle, Entité, Année) et l'autre partie des clés des tables varie (Couleur pour TableA, Taille pour TableB, etc.).
Alors pour ne pas avoir à répéter le même code, j'ai créé une procédure, mais elle ne marche pas:
Je n 'y arrive pas et je suis donc oblige de réécrire sensiblement le même code comme ci-dessous
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 Sub MAJ() KeyTables (ctrlDataA) KeyTables (ctrlDataB) End Sub Public Sub KeyTables(ctrlData As Data) 'Mets tous les ctrlData en mode Ajout et donne les clés des tables 'pour permettre les enregistrements sans doublons dans les Recorsets With ctrlData.Recordset If .EditMode = dbEditNone Then .AddNew !Nom = "Paul" !Modèle = "Test" !Entite = Combo1.ListIndex + 1 !Num_Periode = 2006 End If End With End Sub
Merci pour votre coup de main…
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 With ctrlDataA.Recordset If .EditMode = dbEditNone Then .AddNew !Nom = "Paul" !Modèle = "Test" !Entite = Combo1.ListIndex + 1 !Num_Periode = 2006 End If End With With ctrlDataB.Recordset If .EditMode = dbEditNone Then .AddNew !Nom = "Paul" !Modèle = "Test" !Entite = Combo1.ListIndex + 1 !Num_Periode = 2006 End If End With
Partager