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 :

IsNull ne fonctionne pas comme souhaité [AC-2003]


Sujet :

VBA Access

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 335
    Points : 229
    Points
    229
    Par défaut IsNull ne fonctionne pas comme souhaité
    Bonjour,

    Je suis en train de réaliser sur base du code du tuto publipostage un module pour exporter vers word les données de la base ACCESS.

    J'ai deux questions :

    1- Après avoir parcouru le site et qq forums, je ne vois pas l'avantage et l'inconvénient de l'utilisation de champs de fusion dans un doc word par rapport à l'usage de signets. Quelqu'un pourrait-il m'expliquer?

    2- Pour utiliser un format de document déjà existant, j'ai préféré les signets et applique le code d'Olivier (voir tuto publipostage avec access). Il fonctionne parfaitement tant que mes champs de la base de données de départ sont remplis. Si ceux-ci sont vides ou Null ou qu'il n'y a pas d'enregistrements, le processus s'arrête et me met un message d'erreur.
    Pour solutionner cela, j'ai pensé tester le champs d'origine de la manière suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If Not IsNull("NomContact") Then   .ActiveDocument.Bookmarks("NomContact").Range.Text = rs02.Fields("NomContact") 
    Else .ActiveDocument.Bookmarks("NomContact").Range.Text = "Inconnu"
    Mais quand le champs NomContact est vide ou Null, la deuxième partie du test ne se réalise pas.

    La seule solutions que j'ai pour le moment est d'obliger au remplissage des champs d'origine dans la table de départ au moins par une valeur de défaut. Ce qui est loin d'être élégant, je trouve.

    Merci pour vos suggestions et remarques que j'attends avec impatience

  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 594
    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 594
    Points : 34 263
    Points
    34 263
    Par défaut
    salut,
    en fait la fonctionne fonctionne bien, mais ton test n'est pas le bon,
    ici
    tu testes la chaine de caractères "NomContact", qui n'est pas vide, et encore moins Null,
    si tu souhaites tester la valeur du champ, il faut passer par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IsNull(rs02.Fields("NomContact"))
    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
    Membre actif
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 335
    Points : 229
    Points
    229
    Par défaut Résolu
    Cher JpCheck,
    Petit test effectué et tu as bel et bien raison...
    Un tout grand merci!!

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

Discussions similaires

  1. [MySQL] Un formulaire qui ne fonctionne pas comme il faut (problèmes avec stripslashes & com)
    Par vincent.b dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 30/04/2007, 20h02
  2. requete qui ne fonctionne pas comme je shouterais
    Par domino_dj dans le forum Requêtes
    Réponses: 1
    Dernier message: 04/04/2007, 12h27
  3. [PopupControl] Affichage pas comme souhaitée
    Par Guigui_ dans le forum wxPython
    Réponses: 3
    Dernier message: 23/11/2006, 08h28
  4. un if qui ne fonctionne pas comme je veux
    Par Kelly182 dans le forum Access
    Réponses: 4
    Dernier message: 27/07/2006, 15h12
  5. time.sleep() ne fonctionne pas comme souhaité
    Par Olivier_ dans le forum Général Python
    Réponses: 3
    Dernier message: 19/11/2005, 01h46

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