cs_Sandy084
Messages postés53Date d'inscriptionmardi 11 janvier 2005StatutMembreDernière intervention14 juin 2006
-
30 mai 2005 à 11:03
cs_Sandy084
Messages postés53Date d'inscriptionmardi 11 janvier 2005StatutMembreDernière intervention14 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.
cs_Sandy084
Messages postés53Date d'inscriptionmardi 11 janvier 2005StatutMembreDernière intervention14 juin 2006 31 mai 2005 à 21:47
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!
cs_Sandy084
Messages postés53Date d'inscriptionmardi 11 janvier 2005StatutMembreDernière intervention14 juin 2006 30 mai 2005 à 11:43
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??
Totoroyamada
Messages postés31Date d'inscriptionjeudi 26 mai 2005StatutMembreDernière intervention17 novembre 2005 30 mai 2005 à 14:50
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...
cs_Sandy084
Messages postés53Date d'inscriptionmardi 11 janvier 2005StatutMembreDernière intervention14 juin 2006 31 mai 2005 à 18:47
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