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 :

Probleme d'ouverture d'un formulaire via un autre formulaire.


Sujet :

Access

  1. #1
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut Probleme d'ouverture d'un formulaire via un autre formulaire.
    Bonjour,

    Dans le but d'ouvrir un formulaire via un autre formulaire et avoir l'enregistrement specifique, j'ai crée sur l'evenement click du bouton une macro, qui ouvre le formulaire souhaité et sur l'evement "sur souris appuyée" j'ai mis le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Commande46_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
     DoCmd.OpenForm "tbl_signalitique_superficiaire", , , "Nom Perimetres = " & Me.Nom_Perimetres
    End Sub
    J'ai par le suite en cliquant le message d'erreur suivant :

    Erreur d'execution '3075':
    Erreur de syntaxe (operateur absent) dans l'expression "Nom Perimetres = Nili"

    Pour info les données sont de la meme table et Nom_Perimetres represente la clé primaire.

    Merci.

    Cordialement.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 323
    Points : 23 758
    Points
    23 758
    Par défaut
    Bonjour.

    Essaye :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "tbl_signalitique_superficiaire", , , "[Nom Périmètres] = """ & Me.Nom_Perimetres & """"
    mais je pense que tu as aussi un soucis avec le fait que Me.Nom_Perimetres est nul.

    Si tu as besoin de tester un nul, il faut utiliser la fonction IsNull().

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut
    bonjour,

    Merci pour votre réponse, ça marche très bien, en ce qui concerne le null, j'ai effectué des test et ca marche, a vrai dire les données existe deja, puisque les deux formulaires sont issus d'une meme table,

    Merci beaucoup.

  4. #4
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut
    bonjour,

    Je suis de retour, je me suis effectivement rendu compte d'un petit souci, lors de l'ouverture du formulaire via un autre formulaire, j'ai constaté que je ne pouvais plus naviguer entre les enregistrement, il est figé uniquement sur l'enregistrement du formulaire précédent.

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 323
    Points : 23 758
    Points
    23 758
    Par défaut
    Bonjour.

    C'est normal car tu as appliqué un filtre qui ne sélectionne que cet enregistrement.

    Tu peux t'en tirer sans programmation en effaçant le filtre via l'interface d'Access.

    Si cela ne te conviens pas, il faut faire du code pour que Access se positionne sur l'enregistrement voulu SANS filtrer les données.
    Si tu veux le code pour cela, dit-le.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  6. #6
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut
    Bonjour,

    effectivement, j'aimerais qu'a l'ouverture du formulaire, qu'il se positionne sur l'enregistement voulu, mais sans pour autant que ca soit figé uniquement sur lui.

    je n'ai pas actuellement la base sous les yeux, mais c'est ce que je veux.

    merci.

  7. #7
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 323
    Points : 23 758
    Points
    23 758
    Par défaut
    OK, alors il faut procéder comme suit (à adapter à ta réalité).

    Dans le formulaire appelant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    docmd.OpenForm "NomTonForm", , , , , , Me.Nom_Perimetres
    On passe en paramètre la valeur cherchée.

    Dans le formulaire appelé, au chargement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if not isnull(me.openargs) then
        call me.recordset.findfirst("[Nom Périmètres] = """ & Me.OpenArgs & """") 'Trouve l'enregistrement passé en paramètre.
    end if
    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  8. #8
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut
    Ok, je reviendrais vers vous des que j'aurais adapté le code selon mon besoin.

    encore et toujours merci.

  9. #9
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut
    Bonjour,

    voila j'ai fait ce que vous m'avez préconisé et je viens de faire le test, ça ouvre effectivement le formulaire, mais pas sur l'enregistrement du formulaire appelant.

  10. #10
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut
    bonjour,
    une petite reponse s'il vous plait ?

  11. #11
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 621
    Points : 14 577
    Points
    14 577
    Par défaut
    Bonjour,
    Pour info les données sont de la meme table et Nom_Perimetres represente la clé primaire.
    j'ai du mal à comprendre le besoin d'ouvrir un second formulaire sur une même table et en sélectionnant la clé primaire de l'enregistrement sur lequel on est positionné (de type texte qui plus est : Nili)

    Pour info, le code que t'as fourni marot_r est correct, donc le problème provient certainement d'ailleurs.
    En mettant un point d'arrêt sur l'instruction, vérifie qu'il passe bien dans le call
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  12. #12
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut
    Bonsoir tee,

    effectivement je vous l'accorde, a première vue, nous avons du mal a comprendre, pourquoi j'ai besoin d'ouvrir un formulaire a partir d'un autre formulaire qui sont issus d'une même table.
    J'explique, a vrai dire le second formulaire contiendrait une carte géographique illustrant un périmètre, donc pour pouvoir afficher correctement la carte j'ai besoin d'un second formulaire.

    Cordialement.

  13. #13
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 621
    Points : 14 577
    Points
    14 577
    Par défaut
    a vrai dire le second formulaire contiendrait une carte géographique illustrant un périmètre
    et cette carte n'est pas intégrée dans les données de la première table je pense ...
    en ce qui concerne le problème, as-tu essayé de mettre un point d'arrêt sur l'instruction call me.recordset... pour vérifier qu'elle est bien exécutée ?
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  14. #14
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut
    Il n y a que le chemin de la carte qui est dans la table.

    Non j'ai pas fait ce test, je le ferais demain, la base n'est pas chez moi.

    merci pour la réponse.

  15. #15
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 621
    Points : 14 577
    Points
    14 577
    Par défaut
    Alors, le mieux et le plus simple serait de passer le chemin en paramètre ...
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  16. #16
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut
    c'est a dire ?

  17. #17
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 621
    Points : 14 577
    Points
    14 577
    Par défaut
    Si le formulaire à ouvrir contient les cartes, il faut filtrer avec le chemin de l'enregistrement en cours
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    docmd.OpenForm "NomTonForm", , , "CheminAOuvrir='" & Me.chemindufichier & "'"
    c'est mieux d'utiliser l'évènement Click plutôt que MouseDown
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  18. #18
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut
    Merci tee j'essayerais cette solution demain.

    merci.

  19. #19
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut
    Bonsoir marot_r et tee_grandbois,

    Au fait ca marche super bien, le test etait sur deux formulaire ayant des données de deux tables differentes, il ouvrait le formulaire sur des données aleatoires, juste quand justement les données sur le formulaires appelé ne sont pas saisi.

    cordialement.

  20. #20
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 323
    Points : 23 758
    Points
    23 758
    Par défaut
    Bonjour.

    Si tu considères le sujet clos, merci d'appuyer sur le bouton en bas de discussion.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 4
    Dernier message: 28/04/2015, 18h25
  2. Mise à jour formulaire via un autre formulaire
    Par Alien_psy dans le forum IHM
    Réponses: 3
    Dernier message: 09/02/2013, 17h52
  3. Réponses: 10
    Dernier message: 24/03/2011, 15h33
  4. Réponses: 2
    Dernier message: 18/02/2009, 10h48
  5. Réponses: 0
    Dernier message: 12/05/2008, 20h40

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