Problème de mise à jour de formulaire - VB/VBA/VBS - Programmation
Marsh Posté le 07-08-2007 à 11:06:35
Bonjour,
essayer: refresh après avoir changé le rowsource
Cordialement
Marsh Posté le 07-08-2007 à 11:23:23
Merci mais je ne peux pas faire de refresh sur la zone de liste par contre sur le form entier je peux faire un refresh. J'ai essayé en changeant la rowsource et en faisant requery mais cela n'a rien changé.
Marsh Posté le 07-08-2007 à 13:51:55
re,
En dehors de refresh, requery et repaint je ne vois pas grand chose d'autre.
Un bout de code(ou la totalité) serait bienvenu
Cordilement
Marsh Posté le 07-08-2007 à 13:58:43
Private Sub Form_Load()
Liste8.RowSource = "SELECT titre, nom, prix_t1, prix_t2, no_operat FROM fin_info"
Liste8.Requery
End Sub
Marsh Posté le 07-08-2007 à 15:28:24
Par contre j'ai un problème d'affichage quand je veux afficher les données de la table modifiée.
Il me les affiche pas directement je dois taper une ou deux touches sur le clavier en général.
Comment faire pour qu'il me les affiche directement?
For Each varitem In Liste8.ItemsSelected
titre = Liste8.ItemData(varitem)
prix_t1.SetFocus
prix_t1a = prix_t1.Text
prix_t2.SetFocus
prix_t2a = prix_t2.Text
Set rst = New ADODB.Recordset
rst.Open "UPDATE fin_info SET prix_t1 = '" & prix_t1a & "', prix_t2 ='" & prix_t2a & "' WHERE titre ='" & titre & "' ", cnx
Next varitem
Liste8.RowSource = "SELECT titre, nom, prix_t1, prix_t2, no_operat FROM fin_info"
Liste8.Requery
End Sub
Marsh Posté le 07-08-2007 à 18:15:42
Bonsoir,
je n'utilise pas le ADODB mais ne faut-il pas un rst.close ou un set rst = nothing????
ca n'explique pas le pb des touches nécessaires.
cette séquence n'est pas dans le sub ..._open()
parce que je ne vois pas comment tu selectionnes des items avant l'open.
Cordialement
Marsh Posté le 08-08-2007 à 09:17:29
Voilà le code en entier:
Private Sub editer_cours_Click()
Dim varitem As Variant
Dim rst As ADODB.Recordset
Dim cnx As ADODB.Connection
Dim prix_t1a As String
Dim prix_t2a As String
Dim titre As String
Set cnx = New ADODB.Connection
'Définition du pilote de connexion
cnx.Provider = "Microsoft.Jet.Oledb.4.0"
'Définition de la chaîne de connexion
cnx.ConnectionString = "Y:\base.mdb"
'Ouverture de la base de données
cnx.Open
For Each varitem In Liste8.ItemsSelected
titre = Liste8.ItemData(varitem)
prix_t1.SetFocus
prix_t1a = prix_t1.Text
prix_t2.SetFocus
prix_t2a = prix_t2.Text
Set rst = New ADODB.Recordset
rst.Open "UPDATE fin_info SET prix_t1 = '" & prix_t1a & "', prix_t2 ='" & prix_t2a & "' WHERE titre ='" & titre & "' ", cnx
Next varitem
Set rst = Nothing
Liste8.RowSource = "SELECT titre, nom, prix_t1, prix_t2, no_operat FROM fin_info"
Liste8.Requery
End Sub
Marsh Posté le 07-08-2007 à 10:46:36
Bonjour HFR,
J'effectue des requêtes en ADO sur des tables mais lorsque je veux afficher les tables
sur lesquelles j'ai fait des requêtes dans un formulaire dans une zone de liste (rowsource
= SELECT * FROM TABLE). Cela ne m'affiche pas le résultat je suis obligé d'ouvrir
et fermer le formulaire pour avoir la mise à jour.
Avez vous une idée de comment faire pour ne pas devoir ouvrir/fermer le formulaire.
Je vous remercie