75ROLLER
Messages postés40Date d'inscriptionmercredi 25 octobre 2006StatutMembreDernière intervention19 octobre 2007
-
16 oct. 2007 à 22:38
75ROLLER
Messages postés40Date d'inscriptionmercredi 25 octobre 2006StatutMembreDernière intervention19 octobre 2007
-
19 oct. 2007 à 18:57
Bonjour,je travail avec un datagrid pour visualiser mes donnees,quand je me promène dans ce champ on va dir au 200éme enregistrements es que je l effacé je voudrai que le cursseur reste a cette position au lieux de revenir tout en haut
(premiere enregistrement) si une personne une idée
merci
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 20072 17 oct. 2007 à 00:15
Salut,
ton Datagrid a quoi comme DataSource ?
Un control Ado ?
Si c' est telle est le cas :
Avant de supprimer enregistre la position du recordset grace au BookMark et tu te positionnera sur celui-ci après suppression.
Je suppose donc que tu supprimes par code et que tu rafraichis après.
Dim vbk As Variant
vbk = ADO1.Recordset.Bookmark
'Après suppression et rafraichissement
ADO1.Recordset.Bookmark = vbk
Ceci étant la position vbk de l' enregistremnt supprimé
devient celui du suivant (ou du précédent, je ne sais pas trop)
Attention quand même au cas de l' enregistrement unique.
75ROLLER
Messages postés40Date d'inscriptionmercredi 25 octobre 2006StatutMembreDernière intervention19 octobre 2007 17 oct. 2007 à 15:17
apret essais cela ne fonctionne pas je t envois la portion de code qui supprime un enregistrement
ci tu vois quel que chose ???
<html><head><title>Document sans titre</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /></head><!--DWLayoutTable-->----
Case cmd_supp
'bouton suprimer un achat dans la feuille general
Dim rep1 As Integer
vbk = AdoAchat.Recordset.Bookmark
rep1 = MsgBox("Voulez-vous supprimer cet achat?", vbOKCancel +
vbCritical, "Suppresion")
If rep1 = 2 Then
MsgBox "Suppression annulée", vbExclamation
Else
If rep1 = 1 Then 'si bouton ok
conn.Execute ("DELETE FROM table_achat WHERE ID = " & Val(Label16.Caption))
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 20072 17 oct. 2007 à 16:07
si ça marche toujours pas essaies avec AbsolutePosition
Case cmd_supp
'bouton suprimer un achat dans la feuille general
Dim rep1 As Integer
Dim xPosition As Integer
xPosition =AdoAchat.Recordset.AbsolutePosition+1
rep1 = MsgBox("Voulez-vous supprimer cet achat?", vbOKCancel + vbCritical, "Suppresion")
If rep1 = 2 Then
MsgBox "Suppression annulée", vbExclamation
Else 'si bouton ok
'j' ai supprimé le If en plus
conn.Execute ("DELETE FROM table_achat WHERE ID = " & Val(Label16.Caption))
MsgBox "Achat supprimé", vbInformation
Call PrixTotal
AdoAchat.Refresh
Call sousBouton
AdoAchat.Recordset.MoveFirst
If xPosition>0 Then AdoAchat.Recordset.Move xPosition
75ROLLER
Messages postés40Date d'inscriptionmercredi 25 octobre 2006StatutMembreDernière intervention19 octobre 2007 18 oct. 2007 à 08:39
Bonjour,la declaration (Dim vbk As Variant) et dans la section (declaration general),toute en haut du code.je viens d'essayé le truc avec AbsolutePosition sa ne fonctionne toujour pas,pourtant tu m as mis sur la voix y va falloir que je regarde sa de plus pret. je suis sur que d autre on eu le meme probleme que moi ??? pas beaucoup de manifestation (ho le mot tombe bien aujourd huit)A+++
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 20072 18 oct. 2007 à 14:49
Bonjour,
t' as raison de pousruivre cette cette "voix"..
(il n' y en a beaucoup en moment )
Mais expliques moi un peu ce qui se passe pour le datagrid.
Si pas de msg d' erreur,deux suggestions alors:
-Donnes le focus au DataGrid après rafraichissement
-Choisis , pour commencer , un enregistrement, parmi les premiers
(visible donc) pour voir si après le repositionnement tu auras bien
une flèche du coté du record selecteur.
Quelques infos en plus:
Pour actver un DataGrid : Data Grid.EditActive=True
Si après avoir donné le focus au DataGrid, aucune ligne n' est sélectioonée,fais un SendKeys "[left"} pour que la ligne soit en surbrillance.
75ROLLER
Messages postés40Date d'inscriptionmercredi 25 octobre 2006StatutMembreDernière intervention19 octobre 2007 19 oct. 2007 à 18:57
Bonjour, je viens donc de regarder la chose de plus, et bien je te remerci pour le coup de pouce
car la premiere version de ton code etait bon merci, je ne fais plus beaucoup de vb6 juste un peu de maintenance sur des programmes maison
cordialement A+