Affichage Datagrid2 selon Datagrid1 [Résolu]

Messages postés
53
Date d'inscription
mardi 11 janvier 2005
Dernière intervention
14 juin 2006
- - Dernière réponse : cs_Sandy084
Messages postés
53
Date d'inscription
mardi 11 janvier 2005
Dernière intervention
14 juin 2006
- 31 mai 2005 à 21:47
Bonjour!
Je vais essayer d'etrte la plus claire possible... J'ai un Datagrid1, et selon la ligne sur laquelle je clique je remplis differement le Datagrid2. Jusque la ca fonctionne si je selectionne une ligne, mais impossible d'en selectionner une autre sans relancer l'application.
Voici mon code:

Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
DataGrid2.Visible = True
Label1.Visible = True
Index = DataGrid1.Columns(0).Value


Rst2.CursorLocation = adUseClient ' Sinon le jeu d'enregistrement ne peut pas prendre ne compte les signets
Rst2.Open "Select distinct Produit.Libéllé_produit, Produit.Prix_unitaire, Produit.Taille, LigneCommande.Quantité_commandé FROM Produit, LigneCommande, Commande WHERE Produit.Code_produit=LigneCommande.Code_produit AND LigneCommande.Code_commande like '" & Index & "'", Cxn, , adLockOptimistic
Set DataGrid2.DataSource = Rst2
End Sub

Il faudrais vider le Datagrid2 au début je pense, mais comment faire??
Set DataGrid2.DataSource = " "
Ca ne marche pas!!

J'espére que vous saurez m'aider, en attendant je vous remercie.
Afficher la suite 

6 réponses

Meilleure réponse
Messages postés
53
Date d'inscription
mardi 11 janvier 2005
Dernière intervention
14 juin 2006
3
Merci
Ca y'est j'ai trouvé!!
Grace à commentcamarche.net , y'a pas mal de trucs d'ailleurs.
Il me manquait
Set Rst2 = Nothing
et je n'ai pas mis Rst2.Close.
Voila voili!

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 118 internautes nous ont dit merci ce mois-ci

Messages postés
31
Date d'inscription
jeudi 26 mai 2005
Dernière intervention
17 novembre 2005
0
Merci
De tête (parce que ça fait un paquet de temps que je ne fais plus de vb6) :

Essaie Set DataGrid2.Datasource = Nothing
Messages postés
53
Date d'inscription
mardi 11 janvier 2005
Dernière intervention
14 juin 2006
0
Merci
Ca fait comme avant, c'est à dire ca marche au premier coup, et aprés quand on change de ligne ce met erreur 3705 cette opération n'est pas autorisée si l'objet est ouvert.
Vous savez comment y remédier??
Messages postés
123
Date d'inscription
vendredi 21 janvier 2005
Dernière intervention
25 juillet 2007
1
0
Merci
essaie : DataGrid2.rows = 1
Messages postés
31
Date d'inscription
jeudi 26 mai 2005
Dernière intervention
17 novembre 2005
0
Merci
Bon, j'ai été rouvrir un vieux projet vb6, j'avoue que je ne m'en serai jamais souvenu sinon...

Rst2.Close 'sûrement ce qu'il te manque, c'est le recordset qui est déjà ouvert et non le datagrid

Rst2.Open "la nouvelle requête"

Rst2.Requery

Par contre, c'est un conseil qu'on retrouve souvent ici et pour cause,
évite les accents et autres caractères ésotériques dans ton code, tes
noms de table, de champs etc...

En espérant t'avoir aidé...
Messages postés
53
Date d'inscription
mardi 11 janvier 2005
Dernière intervention
14 juin 2006
0
Merci
Salut !
Mais si je met Rst2.Close en premier ca ne marche pas (erreur 3704 operation non autorisée si l'objet est fermé), et si il est à la fin ca ne m'affiche rien.

Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
DataGrid2.Visible = True
Label1.Visible = True
Index = DataGrid1.Columns(0).Value


Rst2.Close
Set DataGrid2.DataSource = Nothing
Rst2.CursorLocation = adUseClient ' Sinon le jeu d'enregistrement ne peut pas prendre ne compte les signets
Rst2.Open "Select distinct Produit.Libéllé_produit, Produit.Prix_unitaire, Produit.Taille, LigneCommande.Quantité_commandé FROM Produit, LigneCommande, Commande WHERE Produit.Code_produit=LigneCommande.Code_produit AND LigneCommande.Code_commande like '" & Index & "'", Cxn, , adLockOptimistic
Rst2.Requery
Set DataGrid2.DataSource = Rst2
Rst2.Close
End Sub

On est pas loin du but...J'espére que tu as une idée.
Merci

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.