IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Problème de valeur dans control


Sujet :

Access

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 84
    Points : 63
    Points
    63
    Par défaut Problème de valeur dans control
    Bonjour,

    Je suis dans un appli ou je dois récupérer des valeurs dans une table et les mettre dans des contrôles. Pour ce faire je récupère d’abord leurs id dans une autre table.
    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
     
    Dim id, VID As Variant
    Dim vornum As Integer
    Dim res As Variant
    Dim ctl As Control
            For Each ctl In Me.Controls
     
                     'On vérifie les quatres premières lettres du nom du contrôle
                    Select Case Left(ctl.name, 4)
                        'si le nom du contrôle commence par "Frmv"
                        Case "Frmv"
                            'On récupère le numéro du paramètre par la propriété remarque du contrôle
     
     
                                    VID = DLookup("[Id_Param_EI]", "Tbl_Parametre_EI", "[Designation]='" & ctl.Tag & "'")
     
                                    res = DLookup("[valeure_nominale]", "Tbl_Ei_Parametre", "[Id_parametre_EI]= " & VID & " AND  [id_EI]=" & Cidmodif)
                                    ctl.Value = IIf(IsNull(res), "", res)
     
                        Case "Frmx"
                       'On récupère le numéro du paramètre par la propriété remarque du contrôle
                           VID = DLookup("[Id_Param_EI]", "Tbl_Parametre_EI", "[Designation]='" & ctl.Tag & "'")
                           res = DLookup("[Tol_max]", "Tbl_Ei_Parametre", "[Id_parametre_EI]=" & VID & " AND  [id_EI]=" & Cidmodif)
                           ctl.Value = IIf(IsNull(res), "", res)
     
     
                        Case "Frmm"
                           'On récupère le numéro du paramètre par la propriété remarque du contrôle
                            VID = DLookup("[Id_Param_EI]", "Tbl_Parametre_EI", "[Designation]='" & ctl.Tag & "'")
     
                            res = DLookup("[Tol_min]", "Tbl_Ei_Parametre", "[Id_parametre_EI]= " & VID & " and [id_EI]=" & Cidmodif)
                            ctl.Value = IIf(IsNull(res), "", res)
                    End Select
                Next ctl
     
                For Each ctl In Me.Controls
     
     
                        Select Case Left(ctl.name, 9)
     
     
                            Case "frmmodif1"
                                VID = DLookup("[Id_Param_EI]", "Tbl_Parametre_EI", "[Designation]='" & ctl.Tag & "'")
     
                                res = DLookup("[Tol_min_spe]", "Tbl_Ei_Parametre", "[Id_parametre_EI]=" & VID & " AND  [id_EI]=" & Cidmodif)
                                ctl.Value = IIf(IsNull(res), "", res)
                            Case "frmmodif2"
     
                                VID = DLookup("[Id_Param_EI]", "Tbl_Parametre_EI", "[Designation]='" & ctl.Tag & "'")
     
                                res = DLookup("[Tol_max_spe]", "Tbl_Ei_Parametre", "[Id_parametre_EI]= " & VID & " AND  [id_EI]=" & Cidmodif)
                                ctl.Value = IIf(IsNull(res), "", res)
                        End Select
                Next ctl
    Cidmodif est une constante qui contient l'id du rapport.
    Au débogage Access me dit qu'il ne peut pas donner une valeurs à l'objet : ctl.Value = IIf(IsNull(res), "", res) en me stipulant que "res" est null.
    J'avoue que je ne comprend pas...
    Une idée ?

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    J'imagine que tu dois avoir un contrôle du formulaire qui ne peut accepter une valeur.
    Je te conseille d'imprimer avec Debug.Print les noms des contrôles avant l'assignation pour identifier la contrôle récalcitrant.
    Et à la place du IIF, j'utiliserais la fonction Nz en combinaison avec ton DLookup
    Du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    res = Nz(DLookup("[valeure_nominale]", "Tbl_Ei_Parametre", "[Id_parametre_EI]= " & VID & " AND  [id_EI]=" & Cidmodif);" ")
    ctl.Value = res
    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

Discussions similaires

  1. Problème de valeur dans un Graphique
    Par jerems113 dans le forum Cognos
    Réponses: 0
    Dernier message: 31/08/2010, 11h15
  2. Problème init variable dans controle utilisateur
    Par stolken dans le forum VB.NET
    Réponses: 8
    Dernier message: 02/04/2010, 09h26
  3. Problème de valeur dans un champ Time
    Par neuneu1 dans le forum Bases de données
    Réponses: 3
    Dernier message: 04/12/2007, 22h32
  4. [Tableaux] Problème de valeur dans un tableau (array)
    Par Flushovsky dans le forum Langage
    Réponses: 15
    Dernier message: 24/03/2006, 13h56
  5. Réponses: 8
    Dernier message: 15/11/2005, 18h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo