Bonjour
J'ai un sous formulaire affichant les caractéristiques d'un produit. La table principale (formulaire) est intégralement rempli. Je dois progressivement inscrire les caractéristiques dans une table ("Couleurs_Num")
Dans ce sous formulaire (et table) 4 champs dont le premier référence se rempli par une zone de liste (RAL) dépendant d'une table "Gamme_Ral" qui comprend l'ensemble du référentiel RAL.
L'idée est d'ouvrir le formulaire principal en affichant le produit et le référentiel couleur associé à celui ci dans le sous formulaire.
Si le référentiel est dèjà saisi, pas d'action. Sinon action pour mettre à jour les 3 autres champs à partir des données de la table "Gamme_Ral"
L'événement est sur Après mise à jour de la zone de liste RAL.

Le souci est que je ne trouve pas la bonne formule. J'utilise actuellement FindFirst mais j'ai le message "Opération non autorisée pour ce type d'objet"
Si quelqu'un à une solution ou une source qui me permettre de me débrouiller, merci
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
 
 
    Dim Rech, Valeur, Critere As Variant
    ' Stockage ancienne valeur
    Valeur = Me.RAL.OldValue
 
    Dim Base As DAO.Database
    Dim rst As DAO.Recordset
    Dim HEXA As DAO.Recordset
    Dim RGB As DAO.Recordset
    Dim Intitul As DAO.Recordset
 
    Set Base = CurrentDb
    Set rst = Base.OpenRecordset("Gamme_RAL")
 
    Rech = Me.RAL
    If Rech = Valeur Then ' Le champ n'a été pas changé
         Exit Sub
    End If
 
    Critere = "RAL = " & Chr(34) & Rech & Chr(34)
    rst.FindFirst Critere
    If rst.NoMatch Then
            MsgBox "Reférence non trouvé"
            GoTo Cloture
  ...
Merci de votre aide