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 :

Ajout de donnée dans un sous-formulaire


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 19
    Points : 13
    Points
    13
    Par défaut [Résolu] Ajout de donnée dans un sous-formulaire
    Bonjour à tous,

    voici mon soucis actuel :
    j'ai un formulaire F1 avec un sous-formulaire F2 qui possède également un sous-formulaire F3 (F1 [1->infini] F2 et ainsi de suite) ;
    j'ai un formulaire indépendant de F1, nommé FI, qui possède un bouton à partir duquel, en cliquant, je veux que x valeurs soient enregistrées dans F3 dans le champ H.
    Ex : le champ H est une donnée heure et je veux enregistrer 10:01, 10:02, ..., 10:50 dans F3.

    Alors j'ai essayé :
    - de placer le focus sur F3 suivi de "DoCmd.GoToRecord , , acNewRec" mais le nouvel enregistrement concerne F1... perdu !
    - "forms!F1.F2!F3.Form.Recordset.AddNew" mais erreur 3426 : cette méthode a été annulée par un objet associé ???... perdu !

    Help

    NB : superbe site... mais je me répète

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 120
    Points : 88
    Points
    88
    Par défaut
    regardes sur http://loufab.developpez.com

    il y a un super tutoriel.

    Par contre je n'ai pas compris ton besoin d'avoir un nombre illimité de sous formulaire, faut peut être repenser la conception de ton appli.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 35
    Points : 13
    Points
    13
    Par défaut
    si tu as une reponse je serais interessé
    merci bien
    Cdt

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 120
    Points : 88
    Points
    88
    Par défaut
    dis moi plus précisement ce que tu cherches à faire. Pourquoi tu veux utiliser les sous formulaires en cascade?

    Expliques le contexte et ton besoin.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 19
    Points : 13
    Points
    13
    Par défaut
    en cascade car :

    F1 : nom d'un patient (1)
    F2 : traitements du patient (infini)
    F3 : heure de pose (infini)

    simple non

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 120
    Points : 88
    Points
    88
    Par défaut
    pour les traitements un seul formulaire suffit
    idem pour les pauses.

    ne confond pas formulaire et enregistrement.

    Le formulaire traitement peut contenir un nombre infini de traitement il suffit juste de rattacher le traitement au patient avec une clée.

    Après soit tu filtres ton sous formulaire pour n'avoir que les enregistrements qui correspondent à ton critéres ou bien tu fais un formulaire continu pour avoir tous les traitements donnés au patient.

    Je pense du as probablement mal défini tes relation entre les tables.

    As tu mis des relations entre tes tables?

    Quelle structure as tu mise en place?

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 19
    Points : 13
    Points
    13
    Par défaut

    je me suis peut-être mal exprimé mais j'ai fait tout ce que tu as écrit, je parle bien d'enregistrement quand j'écris 1 et infini... évidemment il n'y a que 3 formulaires imbriqués.

    Le but du problème est simple finalement : pouvoir saisir automatiquement les données dans F2 (une donnée) et F3 (x données) à partir de données issus d'un formulaire indépendant.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 120
    Points : 88
    Points
    88
    Par défaut
    chacun de tes 3 formulaires s'ouvre de manière indépendante? si c'est le cas, pour faire le lien avec tes tables faut que l'utilisateur saisisse l'info, l'ordi n'a aucun moyen de savoir à quel patient s'applique le traitement.

    En revanche si tu as un formulaire principal (celui du patient) qui est ouvert, tu as 2 manières de faire le lien.

    - soit lorsque tu ouvres le formulairs traitement à partir d'un bouton du formulaire patient, tu filtres le formulaire sur ouverture, comme tu auras préalablement crée une relation entre tes tables, le formulaire fils (traitement), verra son champ filtré automantiquement rempli avec les références du patient.

    - soit tu ouvres le formulaire sans le filtre et au moment de la saisie tu chrée un petit code qui remplit ta clé étrangère.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    'exemple
    Me!MonchampFils=Forms![patient]!codepatient
    Je t'avoue que je n'ai toujours pas compris exactement ta difficulté.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 19
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par pkrvz Voir le message

    Je t'avoue que je n'ai toujours pas compris exactement ta difficulté.
    c'est bien ce qu'il me semble

    Je reprend : j'ai un formulaire indépendant sans gestion de donnée qui permet uniquement à l'utilisateur de choisir un certain nombre d'option qui lui permet par la suite une édition... à côté de ceci j'ai mes fameux formulaires triples imbriqués qui n'ont aucun lien avec le précedent et qui possèdent les données que je désire saisir automatiquement à partir des choix du formulaire indépendant... me demande pas pourquoi, c'est commé ça

    J'arrive à intégrer la première valeur dans le formulaire F3 (voir ci-dessus pour ceux qui ont du mal à suivre ) mais je n'arrive pas à créer d'autres enregistrements autre que le premier.... message d'erreur ci-dessus


    PS : biensur, champs fils-pères ok, relation ok, tout est bon (ça tourne depuis 10 ans... mais je veux rajouter une subtilité qui est ce formulaire indépendant)

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 120
    Points : 88
    Points
    88
    Par défaut
    je crois avoir saisis ton erreur.

    Si tu pointes sur un nouvel enr sur l'evenement reception focus. ca marche la première fois parce que ton formulaire est au départ vide. (tu n'as rien commencé à saisir)

    la fois d'après si ton formulaire n'a pas été fermé entre temps tu n'as peut être pas enregistré tes modifs. donc d'action docmd.gotorecord plante.

    Il faut dans ce cas que tu sauvegardes tes nouvelles données avant de demander au formulaire d'afficher un enr vierge.
    essayes

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 120
    Points : 88
    Points
    88
    Par défaut
    il serait surement bcp plus simple tout faire en vba et de travailler sur les recordset. de cette manière tu serais libre de tes calculs et tu pourrais remplir tout ce que tu veux comme tu veux.

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 19
    Points : 13
    Points
    13
    Par défaut
    erreur 3426 : cette méthode a été annulée par un objet associé

    toujours pareil
    J'ai essayé de faire avec un bouton inclue dans le formulaire F2... idem



    Si je passe directement avec la table contenant les données de F3, comment :
    - ouvrir la table à partir d'un bouton
    - ajouter x enregistrements dans cette table

    .... j'ai essayé ceci mais ne marche pas, il doit y avoir une erreur :
    'ajout des heures directement dans la table DATES
    Dim orst As DAO.Recordset
    Set orst = CurrentDb.OpenRecordset("DATES")
    orst.AddNew
    orst("id_etiq") = etiq!id_etiq <- données du formulaire
    orst("Heure1") = "99:99"
    orst.Close
    Set orst = Nothing
    Merci pour ton aide

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 120
    Points : 88
    Points
    88
    Par défaut
    il manque
    juste avant le "close"

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 19
    Points : 13
    Points
    13
    Par défaut
    j'en ai marre

    erreur 3201 - vous ne pouvez pas ajouter ou modifier un enregistrement car l'enregistrement associé est requis dans la table 'F2'

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 120
    Points : 88
    Points
    88
    Par défaut
    peux tu m'envoyer ton schema des relations pour tes 3 tables. Sinon on ne s'en sortira pas....

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 19
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par pkrvz Voir le message
    peux tu m'envoyer ton schema des relations pour tes 3 tables. Sinon on ne s'en sortira pas....
    je t'ai envoyé un MP

  17. #17
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 19
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par francescu Voir le message
    si tu as une reponse je serais interessé
    merci bien
    Cdt
    Je suis passé par les recordset, trés pratique !
    Merci pkrvz (patrick )

    @+

Discussions similaires

  1. Ajout de données dans un sous-formulaire
    Par yusukevsluffy dans le forum IHM
    Réponses: 6
    Dernier message: 25/10/2013, 17h46
  2. Réponses: 6
    Dernier message: 03/06/2010, 22h35
  3. [AC-2007] Ajout et suppression de données dans un sous-formulaire
    Par crisjax dans le forum IHM
    Réponses: 5
    Dernier message: 12/04/2010, 22h31
  4. Réponses: 11
    Dernier message: 16/05/2006, 12h34
  5. ajout d'enregistrement dans un sous-formulaire
    Par LBSinclair dans le forum Access
    Réponses: 2
    Dernier message: 10/04/2006, 23h11

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