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

Access Discussion :

Comment indiquer une recherche infructueuse d'une valeur précise dans un champ d'une table.


Sujet :

Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    February 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : February 2007
    Messages : 14
    Points : 16
    Points
    16
    Par défaut Comment indiquer une recherche infructueuse d'une valeur précise dans un champ d'une table.
    Bonsoir,

    dans un formulaire, à partir d'un bouton de commande dédié, je souhaite ouvrir un deuxième formulaire en mettant en correspondance deux champs grâce à l'instruction :

    DoCmd.OpenForm "Formulaire1", , , "[vente_id_objet] = " & Me.id_achat

    avec [vente_id_objet] valeur recherchée dans le contrôle du formulaire Formulaire1 et Me.id.achat la valeur sélectionnée dans le formulaire en cours.

    Cela fonctionne très bien si effectivement il y a une valeur qui existe pour le bien sélectionné.


    Par contre, si il n'y a pas de correspondance, alors le formulaire Formulaire1 s'ouvre quand même mais il est vide.

    Je souhaiterais tester avant l'ouverture du formulaire Formulaire1, l'existence de cette correspondance entre les deux champs directement dans la table Tbl_ventes à laquelle appartient vente_id_objet.

    J'utilise l'instruction DLookup mais je ne sais pas pourquoi cela ne marche pas. Je pense à une erreur de syntaxe mais je n'y arrive pas après maintes essais.

    programme VBA de la forme :

    critère = "vente_id_objet =" & Me.id_achat
    Dlookup("vente_id_objet",Tbl_ventes",critère)

    Merci par avance si on peut m'aider sur ce point.
    En réalité sil il 'y a as de correspondance, je ne souhaite surtout pas ouvrir le 2° formulaire et indiquer simplement à l'écran qu'il n'y a pas de vente réalisée sur cet article.

  2. #2
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    May 2005
    Messages
    2 857
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : May 2005
    Messages : 2 857
    Points : 4 708
    Points
    4 708
    Par défaut
    plutôt que dlookup(), utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Dcount("*", "Tbl_ventes",critère)
    si Dcount = 0 alors pas de correspondance.
    "Always look at the bright side of life." Monty Python.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    February 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : February 2007
    Messages : 14
    Points : 16
    Points
    16
    Par défaut
    Bonsoir MICNIV,

    je te remercie cela a l'air de bien fonctionner.

    Par contre, pourquoi on met "*" comme premier argument de Dcount?

    Merci par avance pour ta réponse.

  4. #4
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    May 2005
    Messages
    2 857
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : May 2005
    Messages : 2 857
    Points : 4 708
    Points
    4 708
    Par défaut
    Bonsoir,
    Dcount("*", "Tbl_ventes",critère)
    Puisqu'on compte le nombre de lignes d'une table (ou d'une requête) selon un critère, il est inutile ici de nommer le nom d'une colonne.
    A+
    "Always look at the bright side of life." Monty Python.

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

Discussions similaires

  1. linq to sql : insérer une valeur précise dans un champ numéro auto
    Par boby62423 dans le forum Accès aux données
    Réponses: 3
    Dernier message: 31/01/2009, 20h53
  2. [Setter Property="FontFamily"] Comment indiquer une Police embarquée ?
    Par neguib dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 19/11/2008, 11h51
  3. Rechercher une valeur précise dans une table
    Par tonton54 dans le forum MySQL
    Réponses: 5
    Dernier message: 28/10/2008, 16h58
  4. Réponses: 2
    Dernier message: 13/12/2007, 16h02
  5. Saisir une valeur null dans 1 champ de ma table
    Par User dans le forum Bases de données
    Réponses: 3
    Dernier message: 17/03/2007, 00h40

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