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 :

ouverture d'une fenetre de résultats d'une requête


Sujet :

Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 388
    Points : 72
    Points
    72
    Par défaut ouverture d'une fenetre de résultats d'une requête
    Bonjour,
    Je sais que question a déja été posée mais je n'ai pas trouvé de réponses...
    comment faire pour avoir une fenetre qui s'affiche avant avant l'ouverture d'un formulaire et qui donne le résultat chiffré d'une requête paramétrée.
    ex: La requête paramétrée: "Entrez le nom recherché: "
    Fenetre d'affichage : " il y a "x" enregistrements correspondant à
    votre demande "
    ....Puis affichage du form..si résult >0

    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    Utilise une msgbox

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    If leNombreD'enregistrements> 0 then
         msgbox "Il y'a " & lenombred'enregistrement & " corresponda...",vbokonly
         docmd.openform "Leformulaire"
    end if
    De ce goùut là

    Starec

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 388
    Points : 72
    Points
    72
    Par défaut
    Merci
    mais comment trouver le nombre d'enregistrements correspondant à ma requête?
    dois-je rajouter un compteur?...sur la requête elle même?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re

    Va voir du côté des fonctions de domaine DCount notamment elle pourra te donner le nombre d'enregistrements

    Starec

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 388
    Points : 72
    Points
    72
    Par défaut
    ok pour DCount,
    mais où dois-je inserer la formule?
    parce-que du résultat dépendra l'affichage de ma mgsbox (avant ou pendant l'ouverture du form.
    Merci

  6. #6
    Invité
    Invité(e)
    Par défaut
    Salut,

    Avant pour tester le IF

    Starec

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 388
    Points : 72
    Points
    72
    Par défaut
    ???

  8. #8
    Membre confirmé
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Points : 580
    Points
    580
    Par défaut
    Citation Envoyé par PAUL87
    ???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    dim nbenreg as integer
     
    nbenreg = Dcount("tonchamp","nom_de_ta_requête","critère_eventuel")
     
    If nbenreg> 0 then 
         msgbox "Il y'a " & lenombred'enregistrement & " corresponda...",vbokonly 
         docmd.openform "Leformulaire" 
    end if

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 388
    Points : 72
    Points
    72
    Par défaut
    Suis vraiment nul
    je n'y arrive pas:

    J'ai placé le code suivant dans mon "open form":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Form_Open(Cancel As Integer)
    Dim nbenreg As Integer
     
    nbenreg = DCount("NOM", "FORM REQ NOM")
     
    If nbenreg > 0 Then
         MsgBox "Il y'a " & lenombred 'enregistrement & " corresponda...",vbokonly
         DoCmd.OpenForm "Leformulaire"
    End If
    End Sub
    et j'ai droit a un :"erreur de comilation: variable non définie"
    WHY?

  10. #10
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Et si tu remplaces lenombred'enregistrement par nbenreg...
    Ca fonctionnerait pas mieux

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 388
    Points : 72
    Points
    72
    Par défaut
    Merci,
    Mais c'est vraiment trés etrange,....

    J'ai bien remplacé par "nbenreg" ce que tu m'a dis ...cela ne fonctionne toujours pas ... (erreur 64479 ou 64231)

    par contre, lorsque dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nbenreg = DCount("NOM", "FORM REQ NOM")
    je remplace le nom de la requete par le nom d'une table (ex:ma table principale qui a un champ NOM).cela fonctionne tres bien
    POURQUOI?

  12. #12
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Dcount(Nomd'unChampPrésentDanslaRequete,NomRequete)
    En général j'utilise la clé primaire ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dcount ([N°Contrat],"Liste des contrats en cours")

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 388
    Points : 72
    Points
    72
    Par défaut
    J'en suis là du code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Form_Open(Cancel As Integer)
    Dim nbenreg As Integer
     
    nbenreg = DCount([NOM], "PATIENTS Requête")
     
    If nbenreg > 0 Then
         MsgBox "Il y'a " & nbenreg & " corresponda...", vbOKOnly
         DoCmd.OpenForm "FORM REQ NOM"
    End If
    End Sub
    et j'ai vraiment l'impression que ça coince uniquement à la fin du code:
    nbenreg = DCount([NOM], "xxxxxxxxxx")
    ça marche si je mets le nom d'une table et pas celle de la requête conçernée.....j'ai essayé en changeant le champ par la clef primaire...meme resultat:
    erreur d'exécution 64479: "l'expression entrée comme paramètre de requête est à l'origine de l'erreur suivante:" l'objet ne contient pas d'objet d'automatisation "ENTREZ LE NOM RECHERCHE"
    Pour moi c'est encore plus incompréhensible que de l'hébreu..
    Merci encore pour votre aide

  14. #14
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Merci de ne pas faire de UP ...

    sinon c'est la confusion classique entre chaine et variable ...

    tu as mis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nbenreg = DCount([NOM], "PATIENTS Requête")
    au lieu de ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nbenreg = DCount("[NOM]", "PATIENTS Requête")
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 388
    Points : 72
    Points
    72
    Par défaut
    malheureusement ça ne marche toujours pas!!!
    Meme syptomes...et meme code d'erreur
    problème de domaine ....

  16. #16
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Est-ce que ta requête fonctionne bien en dehors du code VBA ?
    Est-ce bien une requête sélection ?
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  17. #17
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 257
    Points : 19 409
    Points
    19 409
    Billets dans le blog
    62
    Par défaut
    il me semble que si c'est une requête paramétrée, le:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nbenreg = DCount("NOM", "FORM REQ NOM")
    ne risque pas de marcher
    ( hormis si on mets 1 critère: nbenreg = DCount("NOM", "FORM REQ NOM",critère))

    il faut bien lui passer le paramètre du style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    set rq=currentdb.Querydefs("Ta requête")
    rp.Parameters("TON_PARAM") = TaVariable
     
    rp.OpenRedordSet()
    et ballayer le recordSet ?

    @+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  18. #18
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Est ce que ta requete retourne le champ NOM sur lequel porte le DCount?
    Amicalement

  19. #19
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Et en utilisant DAO, ça serait pas plus simple et plus performant ?

    Enfin, je me place à la place de l'utilisateur.

    Citation Envoyé par Utilisateur X
    Que va m'apporter une fenêtre avec le nombre d'enregistrements à laquelle je vais devoir répondre systématiquement OK ? Le nombre d'enregistrements, je préfererais le voir par exemple dans une étiquette en haut du formulaire, ou bien dans le pied de formulaire, voire même dans le titre de la fenêtre.

  20. #20
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 388
    Points : 72
    Points
    72
    Par défaut
    Bonjour,
    C'est effectivement une requête paramétrée... de selection.
    Meme en rajoutant un critère (un autre champ de la table PATIENTS <>0 par ex) ça ne marche toujours pas........
    C'est vraiment compliqué pour moi...
    la requête paramétrée "rechercher par le nom" fonctionne parfaitement bien, le formulaire qui lui est dédié lui aussi fonctionne trés bien (avec tous ses champs sélectionnés)...
    Je ne comprends vraiment pas pourquoi je ne peux pas faire ouvrir une Msgbox avec le résultat de la requête....
    De plus c'est une requête fondamentale pour ma base....
    J'ai vraiment besoin de vos lumières....SVP
    Voici l'état actuel de mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Form_Open(Cancel As Integer)
    Dim nbenreg As Integer
     
    nbenreg = DCount("[NOM]", "PATIENTS Requête", " [NomEtude] <>'0'")
     
    If nbenreg > 0 Then
         MsgBox "Il y'a " & nbenreg & " reponse(s) correspondante(s)...", vbOKOnly
         DoCmd.OpenForm "FORM REQ NOM"
    End If
    End Sub
    Merci

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/12/2010, 21h20
  2. ouverture avec une interpolation de mouvement d'une fenetre
    Par escteban dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 19/06/2007, 17h04
  3. Réponses: 7
    Dernier message: 09/08/2005, 13h47
  4. Réponses: 4
    Dernier message: 03/05/2005, 09h03
  5. Afficher une fenetre par rapport a une autre
    Par luffy0013 dans le forum MFC
    Réponses: 4
    Dernier message: 14/02/2005, 21h16

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