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 :

Mise à jour d'une liste déroulante dans un formulaire


Sujet :

Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 16
    Points : 10
    Points
    10
    Par défaut Mise à jour d'une liste déroulante dans un formulaire
    Bonjour,

    Voici mon problème : dans un formulaire de saisie d'un nouvel ouvrage intitulé "saisie titre BD", je dois renseigner plusieurs champs comme le "Titre de Série", le "genre", etc. Cs données sont puisées par l'intermédaire d'une liste déroulante. Or, il arrivera que cette liste ne contiennent pas lle nouvel élément que je souhaiterais enregistrer.
    j'ai essayer la méthode ci-dessous, qui aurait du soi disant me permettre d'une part d'incrémenter ma table source au travers d'un formulaire et d'autre part, en retournant sous mon formulaire de saisie de constater la mise à jour automatique de ma liste déroulante mais ça ne marche pas... :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Form_Activate()
    'Mettre à jour la liste déroulante du formulaire
    Forms![editeur]![MAISONS ÉDITIONS].Requery
    End Sub
    De plus, étant donné que j'ai plusieurs listes susceptibles d'être incrémentées comment faire un tir groupé dans le même formulaire ?

    merci de votre aide.

  2. #2
    Membre éclairé Avatar de ft035580
    Profil pro
    Inscrit en
    Août 2004
    Messages
    689
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 689
    Points : 812
    Points
    812
    Par défaut
    Salut,

    Si j'ai bien compris, tu fais appel à un autre formulaire afin de saisir les données manquantes de ta table source qui alimente ta liste.

    Auquel cas,ta méthode est bonne:
    Forms![editeur]![MAISONS ÉDITIONS].Requery
    Mais place la sur l'évènement fermeture de ton formulaire.

    Ainsi lorsque tu retourneras sur ton formulaire "Editeur" ta liste "Maisons Edition" sera mise à jour.

    Bon courage.

  3. #3
    Membre averti Avatar de @rkane
    Homme Profil pro
    developpeur amateur dans mon cadre professionnel
    Inscrit en
    Juin 2006
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : developpeur amateur dans mon cadre professionnel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 521
    Points : 403
    Points
    403
    Par défaut
    pour une valeur qui n'existe pas dans ta liste ... ben moi tout simplement je mettrais dans les proprietes de la liste l'option "lmiter à liste" sur "non"... mais bon... peut-être que j'ai mal saisi ton probleme...

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Merci pour vos conseils... mais cela ne marche toujours pas...

    Pour être complet je dois signaler ceci :
    Quand j'ouvre ma base, apparait un formulaire au démarrage à partir duquel je clique sur un bouton intitulé "saisie nouvel enregistrement". De là, je parviens à un autre formulaire de saisie (intitulé "FORMSAISIE") où se trouvent différentes listes déroulantes.

    Prenons l'exemple des "Titres de séries". Si je veux enregistrer un nouveau titre de série qui n'existe pas dans ma liste déroulante, j'ai donc créé un bouton de commande qui ouvre un autre formulaire (FORMSERIE) qui me permet d'incrémenter ma table "série". De là j'enregistre mo nouvel enregistrement et je reviens sur FORMSAISIE pour choisir dans ma liste déroulante ce nouvel enregistrement... et je m'apercois qu'il ne s'y trouve pas !!!

    j'ai donc inseré dans un premier temps l'evenement suivant dans FORMSAISIE sur "activé", puis "sur activation" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Forms![FORMSAISIE]![N°SAISIE].Requery
    ("N°SAISIE" correspond au numeroauto de mes titres de série)
    j'ai inséré le meme évenement sur "fermeture" de FORMSERIE

    A chaque fois, je suis obligé de fermer le formulaire FORMSAISIE et le réouvrir pour voir appararaitre ce nouvel enregistrement...

    Je vous remercie grandement par avance si vous pouviez me dire où se trouve mon erreur..

  5. #5
    Membre averti Avatar de @rkane
    Homme Profil pro
    developpeur amateur dans mon cadre professionnel
    Inscrit en
    Juin 2006
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : developpeur amateur dans mon cadre professionnel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 521
    Points : 403
    Points
    403
    Par défaut
    moi... à vue d'oeil... je mettrais sur evenement fermeture de ton FormSerie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    forms[FormSaisie].form.Requery

  6. #6
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut Sur abscence dans liste
    Bonjour,

    Une autre idée:
    Pour une liste déroulante il y a l'évènement 'Sur abscence dans liste'
    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
    Private Sub MaListe_NotInList(NewData As String, Response As Integer)
    Dim retVal As Long, qdef As DAO.QueryDef
     
      retVal = MsgBox("Voulez-vous ajouter '" & NewData & "' à la liste des Séries ?", vbYesNo, "Confirmation")
      If retVal = vbNo Then
         Response = acDataErrContinue
         Exit Sub
      End If
     
      Set qdef = CurrentDb.CreateQueryDef("", "INSERT INTO T_Séries ([Titre Série]) VALUES ('" & NewData & "')")
      qdef.Execute dbFailOnError
      If qdef.RecordsAffected = 0 Then
         MsgBox "La valeur n'a pas pû être ajouté. Il y a eu une erreur pdt INSERT INTO T_Séries ..."
      End If
      Response = acDataErrAdded
    End Sub
    A+

Discussions similaires

  1. Réponses: 4
    Dernier message: 26/02/2013, 11h58
  2. [AC-2007] Mise a jour d'une liste déroulante dans une feuille de données
    Par yoyo1664 dans le forum IHM
    Réponses: 1
    Dernier message: 03/03/2011, 06h06
  3. Mise à jour d'une liste déroulante
    Par JenTry dans le forum IHM
    Réponses: 1
    Dernier message: 29/05/2007, 16h32
  4. Mise à jour d'une liste déroulante
    Par maxeur dans le forum IHM
    Réponses: 2
    Dernier message: 30/01/2007, 13h52
  5. Réponses: 3
    Dernier message: 30/06/2006, 22h56

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