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 :

Afficher un message d'erreur lorsque nul


Sujet :

VBA Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 168
    Points : 64
    Points
    64
    Par défaut Afficher un message d'erreur lorsque nul
    Bonjour,

    J'ai créer une sorte de fonction recherche, pour que par exemple, la personne tape un nom, ensuite el s'appuie sur un bouton, le nom trouvé dans la table va s'enregistrer dans la table TEMP, et ensuite à partir de la table TEMP, une feuille de donnée est ouverte pour lire son contenu.
    Moi je voudrais ajouter une sorte de message erreur, de façon à ce que si le nom n'a pa été trouvé dans la table, et bien un message s'affiche dans une msgbox du genre "désolé, aucun nim n'a été trouvé".

    En gros je voudrais un truc du genre "si la table TEMP est vide, alors afficher msgbox quoi.

    Est-ce possible ?

    merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Quel type de fonction de recherche as-tu utilisée ?

    En effet, suivant ce que tu as fait, on peut récupérer le résultat de cette recherche et avec la fonction IsNull tester celui-ci.

    Philippe

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 168
    Points : 64
    Points
    64
    Par défaut
    En fait voila comment j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim recup As Integer 
     
    recup = UCase(Me.Numero) 'on récupère dans une variable le numero tapé par l'utilisateur
     
    Sql= "INSERT INTO Temp (Numero)" & _
    "SELECT [Numero]" & _
    "FROM Table" & _
    "WHERE Table.Numero = " & recup & ";"
    Voila et moi j'aimerai rajouter une condition, si Temp est vide, alors afficher msgbox quoi

  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 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 644
    Points : 34 351
    Points
    34 351
    Par défaut
    salut,

    il "suffit" d'adapter ton code avec les fonctions du type IsNull() ou Nz()

    Peux-tu nous indiquer le code actuellement utilisé stp ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 168
    Points : 64
    Points
    64
    Par défaut
    Bien sur voici mon code complet :

    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
    16
    17
    18
    19
    Private Sub Commande18_Click()
     
    DoCmd.RunMacro "vider recherche"
     
    Dim value As Integer
     
    value = UCase(Me.Texte42)
     
     
    Sql = "INSERT INTO recherche(NSerie, NArticle, Indice_modif, Categorie, Famille, Designation_produit, Date_de_production, Operateur, Observation)" & _
    "SELECT [NSerie], [NArticle], [Indice_modif], [Categorie], [Famille], [Designation_produit], [Date_de_production], [Operateur], [Observation]" & _
    "FROM [Produits]" & _
    "WHERE Produits.NSerie = '" & value & "';"
    CurrentDb.Execute Sql
     
    DoCmd.RunMacro "Recherche par numéro de série"
     
     
    End Sub
    Doonc que dois-je faire pour changer mon message d'erreur dans le cas présent ?

  6. #6
    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 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 644
    Points : 34 351
    Points
    34 351
    Par défaut
    je pense que ta variable est problématique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    value = UCase(Me.Texte42)
    1/ elle prend un nom qui est reservé à VBA
    2/ pourquoi tu mets un UCase avec un numérique ??

    ton code deviendrait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim valeur As Integer
    valeur = Nz(Me.Texte42,XX)
    avec XX ta valeur par défaut
    qui déboucherait sur un test

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 168
    Points : 64
    Points
    64
    Par défaut
    Et je ne peux pas faire un truc comme ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If UCase(Me.Texte42) = Null Then
     
    MsgBox "Le champ est vide, vous n'avez saisie aucune information. Vous devez saisir une information pour pouvoir effectuer cette recherche"
     
    End If
    Fin j'ai essayé mais ça marche pas

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Regardes l'aide sur la fonction IsNull.

    Mais cela ne résoudra pas ton problème, en effet, c'est le résultat de l'Insert qui t'intéresse.

    Car mais si tu as une valeur valide dans ta zone de texte, cela ne signifie pas que tu auras un enregistrement valide.

    Regardes du coté de la fonction de domaine DCount pour compter le nombre d'enregistrement dans la table (pour la fonction il y a un tuto sur les fonctions de domaines sur mon espace).

    Philippe

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 168
    Points : 64
    Points
    64
    Par défaut
    Bonjour,

    Merci de tes réponses

    Hélas je me suis un peu perdu dans toutes ces fonctions, j'ai donc essayer de faire autrement, et j'ai obtenu un résultat pas trop mal, bien que je n'ai pas obtenu ce que je voulais excatement. Mais tant pis ! ça fonctionne pour le moment, si j'ai le temps j'irai voir plus en finesse pour les fonctions que tu as cité ci-dessus

    Bien cordialement

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

Discussions similaires

  1. message d'erreur lorsque j'essaie de changer la valeur d'un champ.
    Par cladsam dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 08/06/2006, 14h00
  2. [struts] afficher un message d'erreur depuis l'action
    Par discoboys dans le forum Struts 1
    Réponses: 6
    Dernier message: 10/02/2006, 10h28
  3. [DOS] mp3 affiche le message d'erreur
    Par maind5or dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 26/01/2006, 17h08
  4. [C#] Fenêtre pour afficher un message d'erreur
    Par radicalrider dans le forum ASP.NET
    Réponses: 18
    Dernier message: 17/08/2005, 11h01
  5. comment affiché un message d'erreur
    Par djouahra.karim1 dans le forum Bases de données
    Réponses: 5
    Dernier message: 23/11/2004, 12h12

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