Ouvrir une transaction

Démarre une transaction; les modifications d'enregistrement qui suivent sont conservées dans la transaction jusqu'à ce qu'une action de script Valider la transaction ou Annuler la transaction soit exécutée.

Remarque  Les transactions sont gérées au sein de la fenêtre d'origine. Les actions exécutées dans différentes fenêtres à partir de la fenêtre de la transaction d'origine seront automatiquement validées en dehors des transactions existantes.

Options 

  • L'option Ignorer la validation lors de la saisie des données écrase les options de contrôle de saisie de données définies pour les rubriques et valide quand même l'enregistrement. Cette option ignore uniquement la validation des rubriques configurées sur l'option de validation Uniquement lors de la saisie des données dans la boîte de dialogue Options d'entrée pour ; les rubriques configurées sur Systématiquement continueront d'être validées, même si l'option Ignorer la validation lors de la saisie des données est sélectionnée. Consultez la section Définition du contrôle des rubriques.

  • L'option Ignorer les conflits de verrouillage ESS permet aux clients des sources de données ODBC de forcer la validation des modifications lorsque le verrouillage optimiste empêche l'action de validation. Les sources de données ODBC sont également considérées comme des sources SQL externes (ESS).

Compatibilité 

Produit Prise en charge
FileMaker Pro Oui
FileMaker Go Oui
FileMaker WebDirect Oui
FileMaker Server Oui
FileMaker Cloud Oui
FileMaker Data API Oui
Publication Web personnalisée Oui

Provient de la version 

19.6.1

Description 

Une transaction se compose de modifications apportées à un ou plusieurs enregistrements dans la fenêtre active. Les modifications dans une transaction peuvent affecter plusieurs tables dans plusieurs fichiers de base de données. Toutes les modifications dans une transaction sont validées ou, si une erreur survient, annulées. Une transaction démarre avec une action de script Ouvrir une transaction. Après avoir démarré une transaction, les modifications d'enregistrement résultantes sont conservées dans la transaction jusqu'à qu'une action de script Valider la transaction ou Annuler la transaction soit exécutée. Les actions ci-dessous peuvent modifier les enregistrements stockés dans les bases de données et peuvent être utilisés comme actions de script transactionnelles.

Lorsque vous ajoutez une action de script Ouvrir une transaction à un script, l'action de script Valider la transaction y est automatiquement associée.

Les transactions :

  • combinent une ou plusieurs modifications de rubrique ou de table dans un seul ensemble de modifications ;

  • valident ou annulent un ensemble de modifications ;

  • regroupent les modifications de rubrique ou de table entre les actions de script Ouvrir une transaction et Valider la transaction ;

  • vous permettent de créer un ensemble de modifications plus fiable ;

  • peuvent être automatiquement annulées à l'aide de l'action de script Annuler la transaction ;

  • réussissent (validation) ou échouent (annulation) dans leur ensemble ;

  • réussissent lorsque les règles de schéma ont été respectées ;

  • sont automatiquement annulées lorsque les règles de schéma n'ont pas été respectées ;

  • peuvent éventuellement ignorer les paramètres de validation et les annulations automatiques lorsque les règles de schéma n'ont pas été respectées (ignorer les règles de schéma peut compromettre l'intégrité transactionnelle) ;

  • sont modifiées dans un fichier temporaire local avant que l'action de script Valider la transaction n'enregistre les modifications dans le fichier principal.

Les transactions sont automatiquement validées et terminées quand :

  • les actions de script suivantes modifient la fenêtre du modèle : Nouvelle fenêtre, Fermer la fenêtre ou Sélectionner la fenêtre ;

  • les boîtes de dialogue suivantes sont utilisées : Gérer la base de données, Gérer le conteneur ou Gérer la source de données ;

  • les actions ou actions de script suivantes sont effectuées : Enregistrer une copie ou Reconnexion ;

  • le fichier est fermé.

Les transactions sont automatiquement annulées quand :

  • une erreur de schéma non résolue existe avant le démarrage d'une transaction (les transactions sont automatiquement ignorées lorsque cela se produit) ;

  • une modification apportée à une rubrique, définie pour être toujours validée, ne correspond pas aux options de validation de rubrique ;

  • l'action de script Annuler la transaction est utilisée ;

  • un script est annulé quand ;

  • l'action de script Interrompre script est utilisée dans une transaction ;

  • un script est annulé à l'aide de Script Debugger ;

  • il existe des erreurs de privilège, notamment aucun accès à la rubrique, aucun accès à l'enregistrement et aucun accès à la table.

Remarques 

  • Vous ne pouvez pas utiliser l'action de script Ouvrir une transaction pour démarrer une transaction dans une autre.

  • Les transactions imbriquées à l'aide de l'action de script Exécuter script rejoignent les transactions d'origine, mais elles ignorent les actions de script Annuler la transaction et Valider la transaction dans les sous-scripts.

  • Lorsqu'elle est utilisée dans les transactions, l'action Supprimer l'enregistrement supprime un enregistrement à la fois.

  • L'action Tronquer la table ne peut pas être annulée.

  • Lorsqu'elle est utilisée dans les transactions, l'action Importer des enregistrements n'affiche pas de récapitulatif.

  • L'action de script Annuler la transaction n'annule pas la valeur d'incrément du numéro de série saisi automatiquement.

  • L'option Enregistrer autom. les modif. d'enreg. dans la boîte de dialogue Format de modèle est ignorée lors des transactions.

  • Les modifications apportées à l'action de script Exécuter FileMaker Data API ne sont pas incluses dans la transaction du script. Toute opération exécutée dans cette action de script, même incluse dans une transaction, est irréversible.

Exemple 1 

Ouvre et valide une transaction.

Copier
Ouvrir une transaction []
    Ouvrir enreg./requête
    Définir rubrique [ Ressources::Description ; "texte descriptif" ]
Valider la transaction

Exemple 2 

Ouvre et valide une transaction sans validation de la saisie des données.

Copier
Ouvrir une transaction [ Ignorer la validation lors de la saisie des données ]
    Ouvrir enreg./requête
    Définir rubrique [ Ressources::Description ; "texte descriptif" ]
Valider la transaction

Exemple 3 

Ouvre et valide une transaction sans protection du verrouillage ESS.

Copier
Ouvrir une transaction [ Ignorer les conflits de verrouillage ESS ]
    Ouvrir enreg./requête
    Définir rubrique [ Ressources::Description ; "texte descriptif" ]
Valider la transaction