OVH Cloud OVH Cloud

refresh

1 réponse
Avatar
jerome
Bonjour,

J'utilise une base de données dont les résultats sont affichées dans une
grille (MSHFlexGrid).
Lorsque je change de sélection, la grille ne se rafraichit pas, il faut que
je referme la fenêtre puis la réouvre.

Voici le code pour expliquer :
Public sub LoadDepense()
dtcompte.Commands(3).commandtext = "SELECT * FROM Depenses WHERE Mois='" &
cbMois.text & "' AND Annee=" & cbAn.text
If dtCompte.rscmDepenses.State <> 1 Then
dtCompte.rscmDepenses.Open
End If
frmModif.dgdepense.Refresh ' Rafraichissement de la grille
If dtCompte.rscmDepenses.State = 1 Then
dtCompte.rscmDepenses.Close
End If
End Sub

Private Sub cmdModif_Click()
LoadDepense
frmModif.show vbmodal
end sub

Donc, la fenêtre frmModif s'ouvre, mais la grille n'est pas rafraichit. Je
la referme puis reclique sur le bouton, et là ca rafraichit !!

Un solution ?
Merci

1 réponse

Avatar
Clive Lumb
Hello Jérôme,

Autant que je me souvienne c'est un bug.
Je l'ai contourné en mettant un timer de 2 à 5 secondes entre le changement
du recordset sous-jacent et le refresh.

Clive

"jerome" a écrit dans le message de
news:3fb5ffa9$0$9093$
Bonjour,

J'utilise une base de données dont les résultats sont affichées dans une
grille (MSHFlexGrid).
Lorsque je change de sélection, la grille ne se rafraichit pas, il faut


que
je referme la fenêtre puis la réouvre.

Voici le code pour expliquer :
Public sub LoadDepense()
dtcompte.Commands(3).commandtext = "SELECT * FROM Depenses WHERE Mois='"


&
cbMois.text & "' AND Annee=" & cbAn.text
If dtCompte.rscmDepenses.State <> 1 Then
dtCompte.rscmDepenses.Open
End If
frmModif.dgdepense.Refresh ' Rafraichissement de la grille
If dtCompte.rscmDepenses.State = 1 Then
dtCompte.rscmDepenses.Close
End If
End Sub

Private Sub cmdModif_Click()
LoadDepense
frmModif.show vbmodal
end sub

Donc, la fenêtre frmModif s'ouvre, mais la grille n'est pas rafraichit. Je
la referme puis reclique sur le bouton, et là ca rafraichit !!

Un solution ?
Merci