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

VBA Access Discussion :

Liste déroulante et ajout nouvelles données [AC-2010]


Sujet :

VBA Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 85
    Points : 45
    Points
    45
    Par défaut Liste déroulante et ajout nouvelles données
    Bonjour,
    Dèjà merci de votre aide.
    J'ai un formualire "FrmIntervenantDossierAjout" comportant une zone de liste "IdIntervenantAuDossier" basée sur "IDIntervenant" de la table "TblIntervenants".
    Cette dernière contient TOUS les intervenants.
    Pour faciliter la recherche, je tape, dans "IdIntervenantAuDossier" le nom de l'intervenant recherché dans la zone de liste.
    Si l'intervenant à sélectionner ne se trouve pas dans la liste, je voudrais après un "enter" ou "changement de champs", que s'ouvre une MsgBox indiquant que l'intervenant n'existe pas avec la proposition de l'ajout ou non dans la table "TblIntervenant" (par l'intermédiaire de "FrmIntervenantAjout").
    Si réponse "oui" à la question, je voudrais ouvir le formulaire "FrmIntervenantsAff" sur un NewRec. A la sortie la liste doit être mise à jour.

    Code du "sur absence dans liste" de "IdIntervenantAuDossier":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
       If MsgBox("L'intervenant n'existe pas. Voulez-vous l'enregister dans la liste?", vbYesNo, "confirmation") = vbNo Then
       Me.Undo
       Else
       Dim stDocName As String
       Dim stLinkCriteria As String
     
       stDocName = "FrmIntervenantsAff"
       DoCmd.OpenForm stDocName, , , stLinkCriteria
       DoCmd.GoToRecord , , acNewRec
       End If
    Code sur "sur activé" du "FrmIntervenantAuDossier":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me![IdIntervenantAuDossier].Requery
    Résultat :
    La MsgBox s'ouvre et "L'intervenant n'existe pas. Voulez-vous..." Je répond oui. Le "FrmIntervenantAff" s'ouvre bien en NewRec. ensuite un message :"Le texte que vous avez entré n'est pas un élément de la liste. Voulez-vous modifier les éléments de la liste. Oui Non. Ce message semble généré par access. Je répond Oui. Je complète mon nouvel enregistrement dans "FrmIntervenantsAff" et je quitte. Là je reçois un message d'erreur sur la mise à jour de la liste (Requery repris ci-dessus).
    Je ne comprends pas où se trouve l'erreur.
    A bientôt.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour
    J'ai l'impression que tu cumules deux procédures: la tienne + celle d'Access.
    A partir de la version 2007, Access peut s'occuper de tout:
    Dans les propriétés de la comboBox :
    - Absence dans liste à Oui
    - Formulaire Modifier les éléments de liste : NomDuFormulaireSourceDeTaCombo.

    A partir de ce moment là Access va générer le message, t'ouvrir ton formulaire d'ajout et actualiser la liste à la fermeture du formulaire.
    L'inconvénient est que ton message n'est pas personnalisé.

    Si tu veux le personnaliser, il faut agir sur l'évènement 'Erreur' de ton formulaire, et gérer l'erreur 2237.
    Dernière modification par Invité ; 13/11/2010 à 08h05.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 85
    Points : 45
    Points
    45
    Par défaut
    Merci de ta réponse. C'est bien ça le souci.
    Mais alors, je ne vois comment ouvrir le formulaire
    - Formulaire Modifier les éléments de liste : NomDuFormulaireSourceDeTaCombo.
    sur un nouvel enregistrement vierge. Access ouvre le formulaire sur le 1er enregistrement de la table.
    Crois-tu que ce soit réalisable?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Effectivement
    Mais si c'est un formulaire continu il te donne la possibilité, d'ajouter un enregistrement.
    Sinon il faut effectivement passer par du code un peu plus lourd.
    As tu regardé ce lien dans la Faq:
    http://access.developpez.com/faq/?page=zdl#AbsDsListe
    Dernière modification par Invité ; 14/11/2010 à 13h27.

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

Discussions similaires

  1. [XL-2007] Ajout nouvelle donnée dans liste déroulante Userform/combobox
    Par grhum7 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 04/03/2014, 16h10
  2. problème liste déroulante et ajout de données
    Par aba_tarn dans le forum Modélisation
    Réponses: 1
    Dernier message: 26/07/2007, 18h40
  3. type de champ: liste déroulante (problème ajout données)
    Par aba_tarn dans le forum VBA Access
    Réponses: 0
    Dernier message: 26/07/2007, 14h25
  4. [MySQL] Liste déroulante et base de données
    Par lanysteph dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 20/10/2006, 12h07
  5. liste déroulante avec ajout possible
    Par bachilbouzouk dans le forum ASP
    Réponses: 5
    Dernier message: 19/04/2005, 11h48

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