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 :

Question simple: Récupérer une donnée dans une table [Toutes versions]


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 48
    Points : 27
    Points
    27
    Par défaut Question simple: Récupérer une donnée dans une table
    Bonjour,

    Question qui me semble extrèmement simple mais que je parviens pas à résoudre

    J'ai une table (Registration) ou je stock toute une série de donnée dont une "clef provisoire".
    j'ai une 2ème table (Liaison) ou je fais le lien entre cette "clef provisoire" et une clef "définitive". Pour l'instant cette liaison se fait sans la moindre vérification, J'utilise un formulaire dans lequel je met un numéro dans le champs "provisoire", un numéro dans el champs définitif et je crée ainsi ma table qui ne contient que 2 colonnes.

    Ce que j'aimerais maintenant faire c'est faire un test sur une des données de ma table Registration au moment ou j'entre le numéro provisoire.

    Par exemple : Considérons ma table Registration avec 2 entrées:
    -Numéro provisoir (ex: FO9XA21450)
    -Résulat du test: 8


    J'aimerais que lorsque j'entre le numéro F09XA21450 dans mon formulaire, mon formulaire me prévienne si, par exemple, le résultat est inférieur à 5.

    Mon problème est que je n'arrive pas à coder le fait d'aller chercher dans une table extérieure (Registration) le champs " résultat du test" du numéro provisoire que j'ai entré.

    Ca me semble plutot basique comme opération mais je suis bloqué.

    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 274
    Points
    34 274
    Par défaut
    Bonjour,
    l'utilisation de la fontion DLookup() peut-être une piste
    Un peu de lecture à ce sujet, dans le tutoriel de Philippe JOCHMANS
    http://starec.developpez.com/tuto/fonctionsdomaines/
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 48
    Points : 27
    Points
    27
    Par défaut
    Bonjour, merci pour la réponse.

    En effet cette fonction m'a l'air impeccable.

    J'ai donc essayé ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.result_txt = Dlookup([result],"Registration",Temp_ID=str)
    ou : result_txt est une text_box sur mon formulaire (pour visualiser si ca se passe bien)
    [result] est un champs de ma base de donnée "Registration" ou est contenu le résultat du test
    Temp_ID est le champs de la base de donnée Registration ou est contenu le numéro provisoir.
    str= est la variable dans laquelle je stock le numéro introduit via le formulaire.

    Aucun problème à la compilation mais rien ne s'affiche. J'ai l'impression que l'erreur se situe au niveau du = str. ?
    J'ai l'impression que je m'embrouille avce les "" que je ne sais jamais qaund mettre. Même chose pour [] qui reste pour le moins mystérieux.

    Qqu a une idée de ce qu'il faudrait écrire ?

    Bien à vous

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 274
    Points
    34 274
    Par défaut
    il faut adapter ta fonction comme s'il s'agissait d'une requête SQL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.result_txt = Dlookup("[result]","Registration","Temp_ID=" & str)
    correspondrait à un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strSQL = "SELECT result FROM Registration WHERE Temp_ID= " & str
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 48
    Points : 27
    Points
    27
    Par défaut
    Merci pour la réponse mais ca ne résoud pas encore le problème

    Tous les champs de ma table "registration" sont des nombres sauf ce champs Temp_ID qui est un texte.

    Lorsque je test le Dlookup sur un champs "nombre". Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Me.result_txt = Dlookup("[result]","Registration","Nr = 539")
    Pas de problème il me prend el bon champs.

    Lorsque j'utilise le Dlookup avec le & str il me dit: This object doesn't contain the automation object "A011373". Pourtant j'ai vérifié cinquantes fois dans ma table et cette valeur existe bien.

    J'essaie également en imposant la requete dans el code lui même:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Me.result_txt = Dlookup("[result]","Registration","Temp_ID = A_011373")
    et j'ai le même problème.

    J'ai essayé de copier directement le champs de la table dans el code au cas ou il y aurait un espace/caractère spécial qui ne s'afficherait pas mais rien n'y fait.

    Bref, je ne comprends pas. Ca fonctionne avec tous les champs sauf celui qu'il me faut

    BUn grand merci en tout ca spour les réponses

    Bien à toi

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 274
    Points
    34 274
    Par défaut
    si ton champs est de type texte, il faut penser aux '

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.result_txt = Dlookup("[result]","Registration","Temp_ID = 'A_011373'")

    et en mode "générique"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.result_txt = Dlookup("[result]","Registration","Temp_ID = '" & str & "'")
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  7. #7
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 48
    Points : 27
    Points
    27
    Par défaut
    Un grand merci

    Ca fonctionne nickel maintenant

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

Discussions similaires

  1. [1.x] Récupérer des données d'une bdd dans une liste déroulante
    Par bMallo dans le forum Symfony
    Réponses: 4
    Dernier message: 02/08/2012, 10h48
  2. [Toutes versions] coller les données d'une plage d'une cellule dans une cellule d'une autre feuille[VBA]
    Par arthson dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/01/2012, 17h37
  3. Réponses: 3
    Dernier message: 07/10/2011, 05h44
  4. Récupérer des données d'une feuille dans une autre
    Par pedroo dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/02/2009, 16h58
  5. Récupérer les données d'une liste dans une autre liste
    Par benoit knk dans le forum SharePoint
    Réponses: 2
    Dernier message: 23/05/2008, 16h10

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