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 :

Problème avec DLOOKUP [AC-2010]


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2014
    Messages : 9
    Points : 7
    Points
    7
    Par défaut Problème avec DLOOKUP
    Bonjour,
    je me bar depuis 2 heures avec DLOOKUP Access 2010. Voilà mon code

    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
    Private Sub Ref_garantie_Exit(Cancel As Integer)
        Dim Resultat As Integer
        Dim enr As String
        enr = Me.[ref garantie]
        MsgBox "ENR  :  " & enr
        If IsEmpty(Me.[ref garantie]) = True Then
            MsgBox "SAISIE MANQUANTE", vbCritical, "Veuillez saisir un type de garantie" & Chr(13) & Chr(10) & "Merci"
            DoCmd.GoToControl "Ref garantie"
        Else
            DoCmd.GoToControl "Fin de garantie"
            Resultat = DLookup("[Type de garantie]", "Liste des types de garantie", "[Type de garantie]=" & enr)
            MsgBox "DUREE  :  " & cherche
            Me.[Fin de garantie] = DateAdd("Y", Resultat, Me.[Date d'achat])
        End If
    End Sub
    le champ de ma table est bien un string et le champ de mon formulaire est aussi un string
    DLOOKUP me retoune tout le temps l'erreur suivanteNom : DLOOKUP.PNG
Affichages : 167
Taille : 22,8 Ko

    J'ai modifié cette fonction en ajoutant de guillemets, des apostrophes mais elle bug toujours.
    j'ai parcouru des forums sans résultat.
    Pourriez-vous m'aider
    Merci

  2. #2
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 856
    Points : 3 427
    Points
    3 427
    Par défaut
    Bonjour pilou37,

    C'est le manque de " qui pose le problème.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Resultat = DLookup("[Type de garantie]", "Liste des types de garantie", "[Type de garantie]=" & chr(34) & enr & chr(34))
    devrait fonctionner.

    Bonne journée
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2014
    Messages : 9
    Points : 7
    Points
    7
    Par défaut Obtenir la valeur d'un autre champ dans la table
    Merci de votre aide.
    Je viens de me rendre compte que DLOOKUP me retourne en fait la valeur du champ "Type de garantie", or moi j'ai besoin de la valeur contenu dans le 2ème champ de la table.
    Exemple :
    Ma table est constituée de 2 champs "Type de garantie" et "Durée". Je souhaite chercher dans la table le type de garantie sélectionné dans mon formulaire et obtenir la durée correspondante contenu dans le 2ème champ de ma table.
    Comment dois procéder ?
    Merci de votre aide.
    Ce forum est très précieux pour les débutant comme moi.
    Encore merci.

  4. #4
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 856
    Points : 3 427
    Points
    3 427
    Par défaut
    Bonjour pilou37,

    Le moyen le plus rapide: quand tu es dans l'éditeur de code VBA.

    DLookup est une fonction avec 3 arguments, 2 obligatoires et 1 facultatif. DLookup("Le champ que tu veux", "La table que tu veux", "Les critères")
    Donc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Resultat = DLookup("Durée", "Liste des types de garantie", "[Type de garantie]=" & chr(34) & enr & chr(34))
    Bonne journée
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2014
    Messages : 9
    Points : 7
    Points
    7
    Par défaut Dlookup
    Dlookup ne retourne que le champ indiqué, je ne pouvais donc pas l'utiliser car je souhaitais comme retour la valeur du champ suivant.
    J'ai donc utilisé un autre moyen, j'ai créé un formulaire et j'ai lancé une recherche dessus.
    Voilà

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/05/2013, 22h41
  2. problème avec DLookup (access 2003)
    Par edonist dans le forum VBA Access
    Réponses: 5
    Dernier message: 09/09/2008, 22h28
  3. Réponses: 12
    Dernier message: 02/04/2007, 17h17
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 17h10

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