bonjour

je suis en train de me replonger dans un projet commencer il y a 5 ans (et oui déjà)

j'ai un boue de code qui fonctionne mais je suis en train de rajouté plein de variable (si) et c'est pas très bon je sais surtout que j'ai plein de variable a faire contrôlé a mon code et que j’atteins les limites du nombre de si



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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
 If DebitRst.Fields("Nom").Value Like "B*" Then
     'Instancie la base de données
        Set ArticlesDb = CurrentDb
        'Ouvre le curseur retournant le nombre d'articles contenant la valeur de "Nom"
        Set ArticlesRst = ArticlesDb.OpenRecordset("SELECT Articles.CODEART FROM Articles WHERE  Articles.CODEART Like '" & Replace(DebitRst.Fields("Nom").Value, "'", "''") & "*" & Replace(DebitRst.Fields("Couleur_Alu").Value, "'", "''") & "'", dbOpenDynaset)
            If Not ArticlesRst.EOF Then
            'Atteint le dernier enregistrement
            ArticlesRst.MoveLast
            Else
                End If
    DebitRst.Fields("ResultatCouleur").Value = ArticlesRst.Fields("CODEART")
    Else
    
      
        If DebitRst.Fields("Nom").Value Like "D*" Then
     'Instancie la base de données
        Set ArticlesDb = CurrentDb
        'Ouvre le curseur retournant le nombre d'articles contenant la valeur de "Nom"
        Set ArticlesRst = ArticlesDb.OpenRecordset("SELECT Articles.CODEART FROM Articles WHERE  Articles.CODEART Like '" & Replace(DebitRst.Fields("Nom").Value, "'", "''") & "*" & Replace(DebitRst.Fields("Couleur_Alu").Value, "'", "''") & "'", dbOpenDynaset)
            If Not ArticlesRst.EOF Then
            'Atteint le dernier enregistrement
            ArticlesRst.MoveLast
            Else
                End If
    DebitRst.Fields("ResultatCouleur").Value = ArticlesRst.Fields("CODEART")
    Else
    
        If DebitRst.Fields("Nom").Value Like "CME*" Then
     'Instancie la base de données
        Set ArticlesDb = CurrentDb
        'Ouvre le curseur retournant le nombre d'articles contenant la valeur de "Nom"
        Set ArticlesRst = ArticlesDb.OpenRecordset("SELECT Articles.CODEART FROM Articles WHERE  Articles.CODEART Like '" & Replace(DebitRst.Fields("Nom").Value, "'", "''") & "*" & Replace(DebitRst.Fields("Couleur_Mela").Value, "'", "''") & "'", dbOpenDynaset)
            If Not ArticlesRst.EOF Then
            'Atteint le dernier enregistrement
            ArticlesRst.MoveLast
            Else
                End If
    DebitRst.Fields("ResultatCouleur").Value = ArticlesRst.Fields("CODEART")
    Else
    
     If DebitRst.Fields("Nom").Value Like "COIFFEUSE*" Then
     'Instancie la base de données
        Set ArticlesDb = CurrentDb
        'Ouvre le curseur retournant le nombre d'articles contenant la valeur de "Nom"
        Set ArticlesRst = ArticlesDb.OpenRecordset("SELECT Articles.CODEART FROM Articles WHERE  Articles.CODEART Like '" & Replace(DebitRst.Fields("Nom").Value, "'", "''") & "*" & Replace(DebitRst.Fields("Couleur_AluPVC").Value, "'", "''") & "'", dbOpenDynaset)
            If Not ArticlesRst.EOF Then
            'Atteint le dernier enregistrement
            ArticlesRst.MoveLast
            Else
                 End If
            If Not ArticlesRst.EOF Then
        DebitRst.Fields("ResultatCouleur").Value = ArticlesRst.Fields("CODEART")
    Else
    
       
          If DebitRst.Fields("Nom").Value Like "I*" Then
          DebitRst.Fields("ResultatCouleur").Value = Null
     'Instancie la base de données
        Set ArticlesDb = CurrentDb
        'Ouvre le curseur retournant le nombre d'articles contenant la valeur de "Nom"
        Set ArticlesRst = ArticlesDb.OpenRecordset("SELECT Articles.CODEART FROM Articles WHERE  Articles.CODEART Like '" & Replace(DebitRst.Fields("Nom").Value, "'", "''") & "*" & Replace(DebitRst.Fields("Couleur_Elec").Value, "'", "''") & "'", dbOpenDynaset)
            If Not ArticlesRst.EOF Then
            'Atteint le dernier enregistrement
            ArticlesRst.MoveLast
            Else
              End If
         If Not ArticlesRst.EOF Then
    DebitRst.Fields("ResultatCouleur").Value = ArticlesRst.Fields("CODEART")
       Else

j'ai mi qu'une parti pour illustré mon problème, en bleu ce sont mes variables de correspondance de recherche et en rouge une valeur a récupérée dans un autre table



j'ai fait une table avec c'est variable mais comment aller lui faire prendre c'est paramètre (dans ma table une colonne avec les variable rouge et une colonne avec le non de la colonne a récupéré)


une idée?

en espérant avoir été claire

merci d'avance pour votre aide