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 :

Pb formulaire formule et source de contrôle


Sujet :

VBA Access

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Janvier 2009
    Messages : 7
    Points : 2
    Points
    2
    Par défaut Pb formulaire formule et source de contrôle
    Bonjour à tous ,

    Je cherche une solution a mon problème sur un formulaire access.
    J'expose mon problème :

    J'ai plusieur champs dans mon formulaire sur l'un des champs (nous dirons le champs 2) j'ai inséré une formule pour que lorsque je rempli le champs1 une partie de celui-ci soit saisi automatiquement dans le champs 2 . jusqu'a la je n'ai pas de souci par contre le fait d'avoir mis ma formule sur ma source de controle le champs 2 ne s'affiche plus dans ma table qui me pose problème car le champs et aussi appelé dans un autre formulaire .
    Donc ma question est comment faire pour mettre ma formule et le nom de mon champs dans la source de controle.

    Merci par avance

  2. #2
    Membre actif Avatar de spaiku
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Septembre 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 209
    Points : 293
    Points
    293
    Par défaut
    Bonjour,

    si j'ai bien compris :

    1) Ton champ 2 est rempli automatiquement par la saisie dans le champ 1
    2) Tu as utilisé la propriété ControlSource pour automatiser ta saisie.
    3) Du coup, la table sous-jacente à ton formulaire n'est pas renseignée pour ce champ 2.

    Si c'est bien cela, voilà la solution que je te propose :
    1) Tu laisses le nom du champ de la table sous-jacente dans la propriété ControlSource pour que lecture et écriture des données puissent se faire.
    2) Tu utilises l'événement OnChange du champ 1 de ton formulaire pour écrire dans le champ 2.

    Ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Champ1_Change()
        Me.Champ2 = me.Champ1.Text
    End Sub

  3. #3
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Janvier 2009
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Merci pour ta réponse ... tu a tres bien compris mon problème ...

    j'ai essayer ta manip mais sa ne Fonctionne pas rien ne se passe dans mon champ2 ( pas de récupération automatique des info du champ1) petit précision le champ2 ne reprend qu'une parti des info dans le champs1 :

    exemple :
    champs 1 = nom prenom date de naissance
    champs 2 = nom ( en récupération automatique du champ1).

  4. #4
    Membre actif Avatar de spaiku
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Septembre 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 209
    Points : 293
    Points
    293
    Par défaut
    Quel est le type de champ de Champ1 et Champ2 : TextBox, ComboBox, ListBox ?

  5. #5
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Janvier 2009
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    le type de champ de Champ1 et Champ2 c'est TextBox

  6. #6
    Membre actif Avatar de spaiku
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Septembre 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 209
    Points : 293
    Points
    293
    Par défaut
    ok, dans ce cas deux questions :

    1) Pour le test de ma manip, as-tu bien fait ce qu'il fallait pour que l'événement se déclenche ? c a d :
    - Aller dans les propriétés du champ
    - Pour l'événement "Sur changement", cliquer sur les "..." à droite de la case
    - Choisir "Générateur de code"
    - Ecrire le code que je t'ai donné à cet endroit

    2) Si ton champ1 est une TextBox, comment sais-tu que ce que l'utilisateur tape est son nom ? Tu ne prends que la partie qui se trouve avant le 1er espace ?

  7. #7
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Janvier 2009
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    oui j'ai executé la manip telle que tu me la décrite .

    pour revenir sur le contenu de mes champs.
    le champs1 comporte 34 caratére tous attachés la formule que j'utilise pour la saisi automatique dans le champ2 actuellement c'est "=Droite(Gauche([Nom_champ1];NbCar([Nom_Champ1])-27);6)" placé sur la source de contrôle
    Cela permet au champ 2 de récuperer le 6 premier caractère automatiquement mais du coup pas d'enregistrement dans la table .

  8. #8
    Membre actif Avatar de spaiku
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Septembre 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 209
    Points : 293
    Points
    293
    Par défaut
    ok, encore des questions :

    - Je ne comprends pas bien ta formule. Pourquoi ne pas écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =Gauche([Nom_champ1];6)
    ?

    - Et en reprenant ma proposition de tout à l'heure, je tenterais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Champ2 = Left(me.Champ1.Text, 6)
    sur l'événement Change du Champ 1

  9. #9
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Janvier 2009
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    pour te répondre sur la formule en fait d'autre champs sont lie de la même manière que le champ2 au champ 1 mais pas sur les même caractére de plus c'était un exemple que je te donné car en faite même si mon champ1 fait 34 caractére je suis obligé de partir de la droit vers la gauche car je ne récupére pas forcement que 6 caractère enfin j'ai voulu facilité la chose avec mon exemple ...

    j'ai essaiyé mais ca ne fonctionne toujours pas je rempli mon champ 1 mais rien ne s'incrémente dans mon champ2. j'ai même refait plusieur fois ta manip

  10. #10
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Janvier 2009
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    ta dernière manip fonction mais pas correctement pour moi .
    En fait quand je veux entré des information dans mon champ 1 rien ne s'affiche et dans mon champ2 seul le 1er caractére et pris en compte

Discussions similaires

  1. Contrôle Formulaire calculé et source champ contrôlé ?
    Par fragglerick dans le forum VBA Access
    Réponses: 2
    Dernier message: 18/12/2011, 08h38
  2. Réponses: 2
    Dernier message: 25/04/2007, 12h11
  3. Réponses: 6
    Dernier message: 10/03/2007, 11h42
  4. Réponses: 5
    Dernier message: 23/02/2007, 15h56
  5. Réponses: 1
    Dernier message: 02/09/2006, 11h02

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