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 :

bouton VBA ouvrir formulaire et ajout enregistrement


Sujet :

IHM

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 61
    Points : 43
    Points
    43
    Par défaut bouton VBA ouvrir formulaire et ajout enregistrement
    bonjour a tous,

    petit probleme de code VBA

    j'ai 2 tables :

    tblEMPLOYES (EmployeID, Nom, etc...)
    tblTACHES (TacheNum, EmployeID, etc...)

    elles sont reliees par une relation de type 1-N une employes pouvant effectuer plusieurs taches.

    j'ai ensuite un formulaire (frmEmploye) dans lequel il y a un sous formulaire imbrique (sfTaches) pour les taches effectuees par employe.
    j'ai cree un bouton de commande "AjouterTache" sur sfTaches qui lorsqu'on click dessus ouvre un petit formulaire popup (frmAjouter) qui permet d'ajouter une nouvel tache.

    Cependant lorsque le formulaire frmAjouter est affiche le champ tblTaches.EmployeID n'est pas rempli automatiquement.

    Est-ce que quelqu'un pourrait m'aider a ecrire la suite du code pour le bouton "AjouterTache" qui remplira automatiquement le champ tblTaches.EmployeID :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub AjouterTache_Click()
     
    DoCmd.OpenForm "frmAjouter", acNormal, , acFormAdd
     
    End Sub
    Merci beaucoup

    eddy37fr

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2006
    Messages : 37
    Points : 26
    Points
    26
    Par défaut bouton VBA ouvrir formulaire et ajout enregistrement
    Salut eddy37fr,

    Je n'ai pas essayé mais tu pourrais faire la chose suivante:
    linker ton formulaire "AjouterTache" sur ta table tblTACHES. Tu peux ensuite mettre la condition sur le EmployeID quand tu ouvres ton formulaire. Ca ressemblerait probablement au code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Private Sub AjouterTache_Click()
     
    DoCmd.OpenForm "frmAjouter", acNormal, , "[EmployeID] = Me.(Nom du contrôle dans lequel tu as ton EmployeID)"
     
    End Sub
    Ça marche pour moi sur Access 2000.

    Bonne chance dans tes démarches!

    Gringo59

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 61
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par Gringo59 Voir le message
    Salut eddy37fr,

    Je n'ai pas essayé mais tu pourrais faire la chose suivante:
    linker ton formulaire "AjouterTache" sur ta table tblTACHES. Tu peux ensuite mettre la condition sur le EmployeID quand tu ouvres ton formulaire. Ca ressemblerait probablement au code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Private Sub AjouterTache_Click()
     
    DoCmd.OpenForm "frmAjouter", acNormal, , "[EmployeID] = Me.(Nom du contrôle dans lequel tu as ton EmployeID)"
     
    End Sub
    Ça marche pour moi sur Access 2000.

    Bonne chance dans tes démarches!

    Gringo59

    Salut Gringo59

    merci pour ta réponse mais malheureusement ca ne marche pas. en fait quand je click sur le bouton ajouter y a une msgbox input qui apparait et me demande "Me.EmployeID (de la table employé)". on doit pas etre loin de trouver? si je fais ok il ouvre le formulaire ajouter mais ne rempli pas le champ EmployeID (de la table taches). Si je fais annuler y a la fenetre visual basic pour debogage qui apparait.
    Pour info le formulaire frmAjouter est déja lier a la table Taches.

    des suggestions?

    faut-il créer des variables ? (petit détail je suis ultra débutant en VBA).

    merci

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 61
    Points : 43
    Points
    43
    Par défaut
    finalement j'ai trouve mais de la facon suivante :

    sur le boutonn ajouter qui figure sur le sousformulaire j'ai mis le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    Private Sub ajoutTache_Click()
    DoCmd.OpenForm "frmAjouter", , , , acAdd, acDialog, Me.Parent.txtboxEmployeID
    End Sub
    et sur l'evenement On Load du formulaire frmAjouter j ai mis le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub Form_Load()
    Me.EmployeID = Me.OpenArgs
    End Sub
    merci encore de ton aide

    bonjour a la belle province

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 02/10/2010, 09h00
  2. [AC-2000] Bouton ouvrir formulaire au xième enregistrement
    Par 4rocky4 dans le forum IHM
    Réponses: 7
    Dernier message: 25/08/2010, 14h09
  3. Exécuter vba + ouvrir formulaire par un bouton
    Par leeloo35 dans le forum VBA Access
    Réponses: 2
    Dernier message: 28/01/2008, 19h48
  4. Réponses: 2
    Dernier message: 17/08/2007, 09h54
  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