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
L'ensemble de l'écran est en lecture seule que je libère lorsque la modification est demandée
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
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
Partager