Problème de mise à jour de formulaire

Problème de mise à jour de formulaire - VB/VBA/VBS - Programmation

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

Reply

Marsh Posté le 07-08-2007 à 10:46:36   

Reply

Marsh Posté le 07-08-2007 à 10:53:56    

Pour  les précisions j'interface avec une bdd access.

Reply

Marsh Posté le 07-08-2007 à 11:06:35    

Bonjour,
essayer: refresh      après avoir changé le rowsource
Cordialement
 

Reply

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é. :/

Reply

Marsh Posté le 07-08-2007 à 13:39:05    

up

Reply

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

Reply

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

Reply

Marsh Posté le 07-08-2007 à 14:33:06    

Re,  
mettre la séquence dans private Sub Form_Open()

Reply

Marsh Posté le 07-08-2007 à 15:19:27    

Merci cela fonctionne :)

Reply

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


Message édité par vrutoile le 07-08-2007 à 15:30:43
Reply

Marsh Posté le 07-08-2007 à 15:28:24   

Reply

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
 
 

Reply

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

Reply

Marsh Posté le 08-08-2007 à 11:04:06    

up

Reply

Marsh Posté le 08-08-2007 à 11:46:05    

Bonjour,
aucune idée,
quelqu'un d'autre??
Cordialement

Reply

Marsh Posté le 08-08-2007 à 15:02:26    

tjrs pas d'idées ?

Reply

Marsh Posté le 09-08-2007 à 09:35:51    

up :/

Reply

Marsh Posté le 09-08-2007 à 14:21:40    

reup

Reply

Marsh Posté le 10-08-2007 à 09:26:15    

up

Reply

Marsh Posté le 10-08-2007 à 14:21:58    

up

Reply

Marsh Posté le 13-08-2007 à 09:12:01    

up tjrs

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed