Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pb avec les transactions, comment simuler !?

3 réponses
Avatar
Bruno MAZÉPA
Bonjour à tous,
Sous Access 2000.
Je voulais utiliser les transactions dans mes sous-formulaires.
Afin de valider ou non les modifications apportées par les utilisateurs.
Problème, certaines instructions ne sont pas utilisables, telles que les
recherches dans le domaine (ex : Dlookup)
Comment pourrais-je faire pour éventuellement simuler des transactions.
C'est à dire ne pas utiliser "begintrans", "commit", "rollback", mais
pouvoir valider ou non les modifications.
J'ai pensé à créer une table temporaire !?
Mais pas terrible avec des multi-utilisateurs !
Comment faire, merci de votre aide.
--
Cordialement.

3 réponses

Avatar
Rv
Salut,

S'il n'y que les DlookUp, DMax, ..., on peut remplacer par des requêtes
ADO ou DAO. De mon côté, j'ai ouvert une transaction sur le workspaces(0),
puis j'ai effectué sans pb un DLookUp dans la transaction... (Access2000 ,
Windos2000 Pro )

Sinon la table tempo avec un champ IdUtilisateur en supplément (bien
géré évidement) ferait trés bien l'affaire non? Et encore ce n'est peut-être
pas nécessaire: En effet, si l'appli est déployée avec un frontal et un
dorsal. Le frontal peut-être copié sur chaque PC (c'est même un peu le
but!), donc pour chaque utilisateur. Et le pb du multi-utilisateurs au
niveau de la validation du formulaire (lui même sur le frontal) ne se pose
plus!

A+

Rv




"Bruno MAZÉPA" <ReplyToNewsGroup> a écrit dans le message de
news:
Bonjour à tous,
Sous Access 2000.
Je voulais utiliser les transactions dans mes sous-formulaires.
Afin de valider ou non les modifications apportées par les utilisateurs.
Problème, certaines instructions ne sont pas utilisables, telles que les
recherches dans le domaine (ex : Dlookup)
Comment pourrais-je faire pour éventuellement simuler des transactions.
C'est à dire ne pas utiliser "begintrans", "commit", "rollback", mais
pouvoir valider ou non les modifications.
J'ai pensé à créer une table temporaire !?
Mais pas terrible avec des multi-utilisateurs !
Comment faire, merci de votre aide.
--
Cordialement.




Avatar
Bruno MAZÉPA
Salut Hervé,
Alors là, j'ai un gros soucis !

Lorsque je veux faire un Dlookup dans mon sous-formulaire pendant une
transaction,
Access me met un message "Opération annulée" !?

Pour mes transactions, j'utilise une procédure donnée par Michel WALSH
Public Sub StartTrans(MyForm As Form)
Dim MyWs As String
MyWs = MyForm.Name
Set WrkSp = DBEngine.CreateWorkspace(MyWs, "Admin", vbNullString)
Set xdb = WrkSp.OpenDatabase(CurrentDb.Name)
WrkSp.BeginTrans
Set rst = xdb.OpenRecordset(MyForm.RecordSource, dbOpenDynaset)
Set MyForm.Recordset = rst
Set rst = Nothing
done = False
End Sub

Ou MyForm est mon objet sous-formulaire (c'est lui qui contient mes
enregistrements)
Est que je n'utilise pas bien la procédure !?
--
Cordialement.

"Rv" a écrit dans le message de
news:%23E8EK%
Salut,

S'il n'y que les DlookUp, DMax, ..., on peut remplacer par des
requêtes

ADO ou DAO. De mon côté, j'ai ouvert une transaction sur le workspaces(0),
puis j'ai effectué sans pb un DLookUp dans la transaction... (Access2000 ,
Windos2000 Pro )

Sinon la table tempo avec un champ IdUtilisateur en supplément (bien
géré évidement) ferait trés bien l'affaire non? Et encore ce n'est
peut-être

pas nécessaire: En effet, si l'appli est déployée avec un frontal et un
dorsal. Le frontal peut-être copié sur chaque PC (c'est même un peu le
but!), donc pour chaque utilisateur. Et le pb du multi-utilisateurs au
niveau de la validation du formulaire (lui même sur le frontal) ne se pose
plus!

A+

Rv




"Bruno MAZÉPA" <ReplyToNewsGroup> a écrit dans le message de
news:
Bonjour à tous,
Sous Access 2000.
Je voulais utiliser les transactions dans mes sous-formulaires.
Afin de valider ou non les modifications apportées par les utilisateurs.
Problème, certaines instructions ne sont pas utilisables, telles que les
recherches dans le domaine (ex : Dlookup)
Comment pourrais-je faire pour éventuellement simuler des transactions.
C'est à dire ne pas utiliser "begintrans", "commit", "rollback", mais
pouvoir valider ou non les modifications.
J'ai pensé à créer une table temporaire !?
Mais pas terrible avec des multi-utilisateurs !
Comment faire, merci de votre aide.
--
Cordialement.








Avatar
Rv
Re,

Juste une petite remarque. Comme MyForm est un sous formulaire, il y a
peut être une particularité. A tester, je ne l'ai pas fait mais j'ai déjà
été confronté à un pb ressemblant. J'éssaierai ceci :

Set MonFormPrincipal.MonSousForm.Recordset = rst
Ceci change le principe de la procédure existante. Mais si ça fonctionne on
peut écrire une procédure supplémentaire pour le cas des sous formulaires
...

Ou bien avec la syntaxe existante mais avec le code dans le formulaire
concerné en remplaçant myForm par Me.

Sinon, à propos de la table temporaire, l'appli. en question est-elle déjà
capable de reconnaître différents utilisateurs?

A+

Rv

"Bruno MAZÉPA" <ReplyToNewsGroup> a écrit dans le message de
news:%
Salut Hervé,
Alors là, j'ai un gros soucis !

Lorsque je veux faire un Dlookup dans mon sous-formulaire pendant une
transaction,
Access me met un message "Opération annulée" !?

Pour mes transactions, j'utilise une procédure donnée par Michel WALSH
Public Sub StartTrans(MyForm As Form)
Dim MyWs As String
MyWs = MyForm.Name
Set WrkSp = DBEngine.CreateWorkspace(MyWs, "Admin", vbNullString)
Set xdb = WrkSp.OpenDatabase(CurrentDb.Name)
WrkSp.BeginTrans
Set rst = xdb.OpenRecordset(MyForm.RecordSource, dbOpenDynaset)
Set MyForm.Recordset = rst
Set rst = Nothing
done = False
End Sub

Ou MyForm est mon objet sous-formulaire (c'est lui qui contient mes
enregistrements)
Est que je n'utilise pas bien la procédure !?
--
Cordialement.