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 :

PB Transaction et sous formulaires


Sujet :

IHM

  1. #1
    Membre éclairé Avatar de pyloupylou
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2012
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2012
    Messages : 438
    Points : 666
    Points
    666
    Par défaut PB Transaction et sous formulaires
    Bonjour,

    Après de longues heures de prise de tête je sollicite un peu d'aide....

    Je n'arrive pas à faire fonctionner le principe des transactions avec un formulaire principal et des sous formulaires liés:
    En fait plus exactement, le principe de rollback ne fonctionne que pour la table du formulaire principale en revanche dès que j'effectue une action sur un des sous formulaire les actions sont systématiquement enregistrées que je passe ou non sur le rollback

    Ma démarche est la suivante :
    - j'initialise mon workspace en début de traitement avant de lancer les écrans-
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     ' on déclare le workspace
        Set wrkcurrent = Application.DBEngine.Workspaces(0)
        ' et la database
        Set db = wrkcurrent.Databases(0)

    - je travaille ensuite avec des formulaires déconnectés en rattachant directement les recordsets à la base de données par défaut du dbengine agissant directement sur les recordsets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
                txt_sql = "ma source"
                Set monecran.Recordset = wrkcurrent.Databases(0).OpenRecordset(txt_sql)
                '--------------------------- sous liste détail libelle
                With monecran.Controls("conteneur_sousecran")
                        txt_sql = "ma source sous ecran "
                        Set .Form.Recordset = wrkcurrent.Databases(0).OpenRecordset(txt_sql)
                            .LinkMasterFields = "champ liaison1;champ liaison 2"
                            .LinkChildFields = "correspondance1;correspondance2"
                End With
    L'ensemble de l'écran est en lecture seule que je libère lorsque la modification est demandée
    je sollicite ensuite les ordres de transactions à partir de wrkcurrent

    Est ce que je loupe quelque chose ?
    Je me vois mal gérer des tables intermédiaires pour traiter les annulations

    Merci pour vos conseils avisés

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 359
    Points : 23 829
    Points
    23 829
    Par défaut
    Bonjour

    je sais que les transactions marchent dans du code mais je ne pense pas qu'on puisse les utiliser avec des formulaires ... meme si ce serait vraiment cool.

    A mon avis il va falloir le faire a la main, soit en passant par une table temporaire ou en utilisant un indicateur de saisie temporaire.

    Pour l'indicateur de saisie temporaire je creerai un champ booleen IsTempo que tu mets a True lors de ta saisie puis a la fermeture de ton formulaire (ou autre evenement qui defini la fin de saisie) soit tu le mets a False, l'equivalent de ton "Commit" ou tu supprimes tous les enregistrements qui ont IsTempo a true, l'equivalent de ton "Rollback". Si tu es en multi-utilisateurs il faudra sans doute ajoutrer le code de l'utilisateur a ta saisie histoire de ne pas detruire/confirmer la saisie de quelqu'un d'autre.

    A+

Discussions similaires

  1. appeler une procedure d'un sous formulaire
    Par kchrel dans le forum Access
    Réponses: 11
    Dernier message: 19/10/2004, 17h42
  2. Verouillage de formulaire et sous formulaire
    Par Mattdesoibs dans le forum IHM
    Réponses: 3
    Dernier message: 15/10/2004, 10h22
  3. Rafraichir un sous-formulaire
    Par estancha dans le forum IHM
    Réponses: 2
    Dernier message: 12/10/2004, 11h06
  4. Réponses: 2
    Dernier message: 10/10/2004, 23h12
  5. où est mon sous-formulaire ?
    Par yves_fuji dans le forum IHM
    Réponses: 2
    Dernier message: 08/09/2004, 08h34

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