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

VBA Access Discussion :

Erreur boucle avec variable i


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Australie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 42
    Points : 21
    Points
    21
    Par défaut Erreur boucle avec variable i
    Bonjour le forum
    je viens solliciter votre aide.
    J'essai de construire une boucle pour rechercher des données et remplir des controles. Vu le nombre de controles, je souhaitais passer par une boucle, mais je suis confronté a une erreur que je n'arrive pas a resoudre.
    ci dessous le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Dim i As Integer
            For i = 1 To 5
            If IsNull(DLookup("[Externe]", "employe", "[fr] = '" & Me.fr & "' and [Rec] = '" & Me.Rec & "' And [Sec] = i")) Then
               Controls("ctld" & i) = ""
            Else
               Controls("ctld" & i) = DLookup("[Externe]", "employe", "[fr] = '" & Me.fr & "' and [Rec] = '" & Me.Rec & "' And [Sec] = i")
            End If
            Next
    Le probleme se trouve au niveau du i comme dernier critere.

    besoin de votre aide.

    merci d'avance

    Cordialement

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Australie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 42
    Points : 21
    Points
    21
    Par défaut
    L'erreur renvoyée : l'expression entrée comme paramètre de requête est à l'origine de l'erreur suivante : <<i>>.

    Help please

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
            Dim i As Integer
            For i = 1 To 5
                If IsNull(DLookup("[Externe]", "employe", "[fr] = '" & Me.fr & "' and [Rec] = '" & Me.Rec & "' And [Sec] = " & i)) Then
                   Controls("ctld" & i) = ""
               Else
                   Controls("ctld" & i) = DLookup("[Externe]", "employe", "[fr] = '" & Me.fr & "' and [Rec] = '" & Me.Rec & "' And [Sec] = " & i)
                End If
            Next
    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Australie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 42
    Points : 21
    Points
    21
    Par défaut
    Merci pour le solution Marot, ca marche du tonnerre.

    Une autre question pendant que j'y suis, serait il possible de placer ceci en module et l'appeler au besoin? Comment procéder?

    NB : les formulaire ont la meme structure.

    merci d'avance

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Oui c'est possible, tu peux en faire une procédure publique et l'appeler.

    Quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public sub AfficherDonneesFormulaire(prmForm as form)
            Dim i As Integer
            For i = 1 To 5
                If IsNull(DLookup("[Externe]", "employe", "[fr] = '" & prmForm.fr & "' and [Rec] = '" & prmForm.Rec & "' And [Sec] = " & i)) Then
                   prmForm.Controls("ctld" & i) = ""
               Else
                   prmForm.Controls("ctld" & i) = DLookup("[Externe]", "employe", "[fr] = '" & prmForm.fr & "' and [Rec] = '" & prmForm.Rec & "' And [Sec] = " & i)
                End If
            Next
    end sub
    prm est une abréviation perso pour "paramètre".

    Dans le formulaire concerné tu mets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    call AfficherDonneesFormulaire(me)
    Tu appelles ta procédure en lui passant le formulaire courrant (me).

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

Discussions similaires

  1. Boucle avec variable à 2 digits
    Par tiber33 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 20/12/2013, 12h04
  2. [XL-2007] Erreur 1004 avec variable tableau
    Par amelyfred dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/03/2012, 14h34
  3. Boucle avec variables
    Par night_flyers dans le forum Langage
    Réponses: 4
    Dernier message: 05/06/2009, 21h49
  4. [PHP 5.2] factoriser dans une boucle avec variables
    Par mussara dans le forum Langage
    Réponses: 5
    Dernier message: 05/02/2009, 14h58
  5. Boucle avec variable à incrémenter
    Par snoop dans le forum Linux
    Réponses: 2
    Dernier message: 19/03/2004, 11h07

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