OVH Cloud OVH Cloud

Requery

13 réponses
Avatar
Richard
Bonsoir,

J'ai écrit un certain code en ADO pour passer des transaction comtable dans
un formulaire qui contient des champs de saisie (non lié à aucune table).
une fois qu'on appui sur le bouton sauvegarde, le code rajoute un nouvel
enregistrement dans la table transaction. Le hic est que dans mon formulaire
j'ai aussi une liste de donnée (lstTransaction) qui est liée à la table
transaction via une requete sur la table transaction. Le problème est que le
nouvel enregistrement ne s'affiche pas tout de suite malgrè que je fais un
requery sur la liste et sur le formulaire j'ai tout essayé, refresh,
requery, repaint mais ça n'a servi à rien. Quelqu'un a une idée sur comment
corriger ça ?

Merci d'avance

Richard

Voici le code en question:

Private Sub cmdSaveTrans_Click()

Dim cnn1 As ADODB.Connection
Dim rstTrans As ADODB.Recordset
Dim strCnn As String


Me.Refresh


Set cnn1 = New ADODB.Connection
strCnn = "Intranet"
cnn1.Open strCnn

Set rstTrans = New ADODB.Recordset
rstTrans.CursorType = adOpenKeyset
rstTrans.LockType = adLockOptimistic
rstTrans.Open "transactions", cnn1, , , adCmdTable

With rstTrans
.AddNew
!DATETRANS = Me!DATETRANS
!DESCTRANS = Me!DESCTRANS
!REFTRANS = Me!REFTRANS
!ACCOUNTDEBITTRANS = Me!cmbDebit
!ACCOUNTCREDITTRANS = Me!cmbCredit
!AMOUNTTRANS = Me!AMOUNTTRANS
.Update
.Close
End With
Me!DATETRANS = date
Me!DESCTRANS = ""
Me!REFTRANS = ""
Me!cmbDebito = ""
Me!cmbCredito = ""
Me!AMOUNTTRANS = ""

cnn1.Close

Stop
lstTransaction.Requery

Me.Requery

Me.Refresh
Me.Repaint

End Sub

3 réponses

1 2
Avatar
Rv
Il me semblait moi aussi que le problème devrait-être indépendant de la
technologie ADO ou DAO utilisée pour mettre à jour la table. Jusqu'à la
nuit où, alors que je cherchais un raccourci ..., je l'ai vu, tests à
l'appuie (ce qui n'exclue pas qu'ils soient faux!) :
En ADO en utilisant une connexion autre que celle de la base courante on
a bien une mise à jour "décalée" au niveau de la source des formulaires, et
des listes et ... Alors qu'en DAO pas de soucis.
J'avais ouvert un fil à ce sujet "Problème de mise à jour avec un Recordset
ADO" le 3 juil. 2003.

Précision: Access2000 SP3

Y revient quand Richard?

Rv


"3stone" a écrit dans le message de
news:3fb900de$0$15316$
Salut,

"Rv"
"Mais, le requery sur la liste n'est pas lié à l'ajout des données par
ADO"


Je ne comprends pas la remarque. Désolé!



Je voulais juste dire par là... que l'ajout soit fait par ADO ou DAO,
le requery devait dans les deux cas rafraichir la liste...

Il me semble qu'un requery sur une liste "fonctionne" toujours de la même
facon,

quel que soit la méthode utiliser pour la modification de la table.

Moi, je chercherais plutôt du coté de la méthode utilisée pour l'ajout des
données.



Mais, Richard va revenir, bien sûr ;-)


--
A+
Pierre (3stone) Access MVP
--------------------------------------
Une pour tous, tous pour une ;-)
http://users.skynet.be/mpfa/charte.htm
--------------------------------------







Avatar
Richard
Bonsoir les gars;

Désolé du retard j'avais pas de connection toute la journée; je ne suis pas
à mon bureau.
Bon résultat des test; rien à faire ça ne marche pas.

Précision je n'ai aucun SP d'installé, je vais donc vérifier de ce côté là!
Vendredi je reviens à mon bureau où j'ai tout les SP et je vais voir.
C'est la première fois qu'un truc pareil que m'arrive que ce soit DAO ou
ADO; il faut dire que je suis nouveau en ADO...pas impressioné jusqu'à
maintenant.


Rv a écrit dans le message :
#
Il me semblait moi aussi que le problème devrait-être indépendant de la
technologie ADO ou DAO utilisée pour mettre à jour la table. Jusqu'à la
nuit où, alors que je cherchais un raccourci ..., je l'ai vu, tests à
l'appuie (ce qui n'exclue pas qu'ils soient faux!) :
En ADO en utilisant une connexion autre que celle de la base courante on
a bien une mise à jour "décalée" au niveau de la source des formulaires,
et

des listes et ... Alors qu'en DAO pas de soucis.
J'avais ouvert un fil à ce sujet "Problème de mise à jour avec un
Recordset

ADO" le 3 juil. 2003.

Précision: Access2000 SP3

Y revient quand Richard?

Rv


"3stone" a écrit dans le message de
news:3fb900de$0$15316$
Salut,

"Rv"
"Mais, le requery sur la liste n'est pas lié à l'ajout des données par
ADO"


Je ne comprends pas la remarque. Désolé!



Je voulais juste dire par là... que l'ajout soit fait par ADO ou
DAO,


le requery devait dans les deux cas rafraichir la liste...

Il me semble qu'un requery sur une liste "fonctionne" toujours de la
même


facon,
quel que soit la méthode utiliser pour la modification de la table.

Moi, je chercherais plutôt du coté de la méthode utilisée pour l'ajout
des


données.


Mais, Richard va revenir, bien sûr ;-)


--
A+
Pierre (3stone) Access MVP
--------------------------------------
Une pour tous, tous pour une ;-)
http://users.skynet.be/mpfa/charte.htm
--------------------------------------











Avatar
Richard
BINGO ! Bravo Rv et merci pour tout à toi et 3stone. ça a parfaitement
solutionner mon problème !



Rv a écrit dans le message :
#Rx#
Re,

Je viens de tester et ce n'est pas la solution.

Autre possibilité :
Si la table "transactions" est dans la même base que la liste
"lstTransaction", on peut utiliser la connection ADO courante de la base
pour éviter ce genre de soucis :

rstTrans.Open "transactions", currentproject.connection, , ,
adCmdTable

et on oublie cnn1.

A+

Rv

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

Est-ce que vous avez essayé un :
me.lstTransaction.RowSource = me.lstTransaction.RowSource
voir :
dim strSourceListe as string
strSourceListe = me.lstTransaction.RowSource
me.lstTransaction.RowSource = ""
me.lstTransaction.RowSource = strSourceListe

Je dis cela car j'ai eu le mêm pb sur un formulaire dont je mettais
à


jour les données via ADO et pour le voir raffraîchi je n'ai rien trouvé
de


mieux que :
me.RecordSource = me.RecordSource

Le requery ne fonctionnait qu'après plusieurs tentatives
successives!


Alors qu'en DAO il n'y avait pas de soucis!

A+

Rv








1 2