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

IHM Discussion :

Ouverture d'un formulaire sur l'enregistrement saisi dans une ZLD d'un autre formulaire [AC-2010]


Sujet :

IHM

  1. #1
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2013
    Messages : 21
    Points : 15
    Points
    15
    Par défaut Ouverture d'un formulaire sur l'enregistrement saisi dans une ZLD d'un autre formulaire
    Bonjour,

    J'ai vu de nombreux posts sur ce sujet mais ils ne répondent pas à mon problème.

    J'ai un formulaire indépendant (non relié à une table ou à une requête) dans lequel j'ai uniquement (il est appelé CHOIXFILM) :
    - une Zone de liste appelée "CF" (qui me permet de sélectionner un film sur le titre mais qui retient le code, la première colonne est masquée),
    - un bouton permettant d'ouvrir le formulaire OEUVRE (sur un enregistrement dont le code est identique à celui de la ZL°.

    J'ai saisi le code suivant sur l'événement "sur clic" de mon bouton du premier formulaire (CHOIXFILM) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Commande4_Click()
        Me.Refresh
        DoCmd.OpenForm "OEUVRE", , "[CodeOeuvre]=" & Me.CF
    End Sub
    Le problème est que mon formulaire "OEUVRE" s'ouvre toujours sur le premier enregistrement.
    Comment faire pour que mon formulaire s'ouvre sur l'enregistrement voulu ?

    Remarque : Le bouton "actualiser" du premier formulaire (CHOIXFILM) n'est pas disponible, est-ce un problème ?

    Merci d'avance.
    Salas99

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 772
    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 772
    Points : 14 814
    Points
    14 814
    Par défaut
    Bonjour,
    le paramètre WhereCondition est le 4ème, le 3ème (FilterName), doit être le nom d'une requête enregistrée. Ajoute une virgule et cela fonctionnera:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Commande4_Click()
    Me.Refresh
    DoCmd.OpenForm "OEUVRE", , ,"[CodeOeuvre]=" & Me.CF
    End Sub
    autre astuce : utiliser le nom du paramètre (WhereCondition) cela évite de savoir à quelle position il se trouve
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "OEUVRE", WhereCondition:="[CodeOeuvre]=" & Me.CF

  3. #3
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2013
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    Merci,

    J'ai corrigé, mais cela ne fonctionne toujours pas.
    J'ai essayé avec une macro et j'ai le message suivant : "la commande ou l'action "Actualiser" n'est pas disponible pour le moment".

    En fait, j'ai le sentiment que lorsque je saisis le film dans la zone de liste, le formulaire ne valide pas de suite la valeur de la liste, par conséquent, le formulaire que j'appelle avec le bouton s'ouvre sur le premier enregistrement.

    Merci de ton aide.

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 772
    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 772
    Points : 14 814
    Points
    14 814
    Par défaut
    cela ne fonctionne que si le formulaire appelé est fermé et si Me.CF est renseigné (je pense que c'est le cas).
    Actualiser ne peut pas être utilisé avec un formulaire indépendant puisqu'il n'y a pas de données.

  5. #5
    Membre régulier
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2003
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2003
    Messages : 129
    Points : 122
    Points
    122
    Par défaut
    Bonjour,

    Ta commande Me.Refresh est inutile, c'est elle qui est à l'origine de ton erreur "la commande ou l'action "Actualiser" n'est pas disponible pour le moment".

    Je dirais même plus : si Me.Refresh fonctionnait, il aurait pour effet négatif d'effacer le choix fait sur ta liste CF et donc d'ouvrir le formulaire OEUVRE sur un enregistrement vide...

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 09/10/2015, 09h58
  2. Réponses: 5
    Dernier message: 23/02/2015, 10h13
  3. Réponses: 8
    Dernier message: 16/08/2010, 15h14
  4. Enregistrement multiple dans une base à partir d'un formulaire
    Par ange_dragon dans le forum Modélisation
    Réponses: 2
    Dernier message: 05/06/2007, 15h28
  5. Réponses: 2
    Dernier message: 21/12/2006, 09h26

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