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 :

Dlookup et Null [Toutes versions]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 48
    Par défaut Dlookup et Null
    Bonjour,

    Petite question sur la fonction Dlookup.

    L'objectif est de chercher dans un champs d'une table si la valeur entrée dans un formulaire a déja été entrée ou pas.

    J'utilise pour cela Dlookup ( je suis pas persuadé que ce soit la meilleur idée donc on peut envisager de changer la fonction)

    Cela donne qchose dans ce genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Dlookup("Temp_ID", "Registration", "Temp_ID =' "& str& " ' " = "NULL") Then
    Blla bla
    End if
    Ou:
    -Temp_ID est le champs dans lequel je souhaite vérifié si la donnée existe déja.
    -Registration la tabke
    -str : Le string dans lequel je stock la valeur entrée dans le formulaire

    Exemple: J'entre dans mon formulaire l'id temporaire : A0001. Je veux vérifier si cette valeur existe déja et si ce n'est pas le cas alors exécuter du code.

    Le problème est que le prog ne rentre jamais dans cette boucle...

    Ce qui est étrange est que j'ai déja utilisé cette fonction mais pour faire l'inverse:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Dlookup("Temp_ID", "Registration", "Temp_ID =' "& str& " ' " <> "NULL")Then
    Blla bla
    End if
    Et la ca fonctionne nickel. Ce qui semble bien confirmer que Dlookup renvoit NULL si il ne trouve pas le champs.

    Merci d'avance

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Bonjour,
    la syntaxe la plus simple à utiliser pour combiner Dlookup() et Nz() devrait être :
    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Nz(Dlookup("Temp_ID", "Registration", "Temp_ID ='"& str& "'"),"")<>"" Then
    MsgBox "on a trouvé"
    Else
    MsgBox "on aurait aimé trouver..."
    End If
    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 :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

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

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    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
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 48
    Par défaut
    Un grand merci ca fonctionne nickel

    Mais quel était exactement le problème ?

    Bien à vous

  4. #4
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    tu ne testais pas le retour de la fonction Dlookup dans ton code
    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 :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

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

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    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

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

Discussions similaires

  1. DlookUp toujours null
    Par redstoff dans le forum Access
    Réponses: 8
    Dernier message: 10/07/2012, 12h55
  2. Dlookup avec un critère null
    Par rob1son76 dans le forum VBA Access
    Réponses: 3
    Dernier message: 23/03/2012, 14h37
  3. critère null et DLookup
    Par kgb1917 dans le forum VBA Access
    Réponses: 4
    Dernier message: 12/07/2006, 16h31
  4. [VB6] [BDD] Recordset et champ égal à Null
    Par Gr|ppen dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 07/03/2003, 10h00
  5. "ALTERER" une col. NULL en NOT NULL - Int
    Par Gandalf24 dans le forum SQL
    Réponses: 2
    Dernier message: 28/12/2002, 00h07

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