[VB6] Datagrid et ajout d'enregistrement via code

Datagrid et ajout d'enregistrement via code [VB6] - VB/VBA/VBS - Programmation

Marsh Posté le 30-07-2003 à 13:31:26    

Salut,
 
je bosse sur un programme VB avec un Datagrid et je rencontre un problème: lorsque j'ajoute une ligne au datagrid depuis un bouton "ajouter", et que je veux, après avoir entré les données, me déplacer à un autre endroit, le curseur reste bloqué sur l'enregistrement que je viens d'ajouter :heink:  Je peux même en ajouter plusieurs à la suite, ça ne pose pas de problème. Mais impossible de faire bouger mon curseur à un autre endroit :cry:
 
C'était la version courte du problème, voici la version détaillée [:huit]
 
Dans une application VB sur laquelle je bosse en ce moment, j'ai un Datagrid avec deux jolis boutons "ajouter" et "supprimer". Dieu seul sait pourquoi ils veulent qu'on bosse comme ça. Dommage, tant pis. Je souligne au passage que comme tout Datagrid, celui-ci est lié à un recordset ADO qui n'a absolument aucun lien avec une base de données. C'est juste pour faire joujou, les données ne venant que partiellement de la DB, le recordset fonctionne donc en mode déconnecté.
 
J'ai rencontré plusieurs problèmes dont je me suis plutôt bien dépêtré jusqu'à présent, mais il m'en reste un auquel je n'ai pas encore trouvé de solution: l'ajout des enregistrements.
 
En fait, ça marche bien jusqu'au moment où on se dit qu'on va passer à autre chose: j'appuie sur le bouton ajouter, le code répondant à cet évènement ajoute un enregistrement au recordset, et laisse l'utilisateur le remplir. Si les données ne remplissent pas les conditions, du code est prévu pour retirer cet enregistrement. De même, si un enregistrement en cours d'édition se retrouve avec des données non-conformes, le datagrid reprend les données d'origine. Par données conformes, j'entends simplement une clause "not null".
 
Le problème est ici: si les données sont OK et qu'on clique ailleurs, l'enregistrement est bien mémorisé, mais impossible de faire voyager le curseur à un autre endroit du datagrid :cry:
 
Je peux d'ailleurs faire plusieurs ajouts d'affilée, cela ne pose aucun problème, mais impossible, une fois un ajout fait, de faire aller le curseur à un autre endroit :/
 
Toute idée ou suggestion est la bienvenue :jap:

Reply

Marsh Posté le 30-07-2003 à 13:31:26   

Reply

Marsh Posté le 30-07-2003 à 15:10:35    

Up ! :bounce: la solution m'intéresse

Reply

Marsh Posté le 30-07-2003 à 15:25:42    

Taz a écrit :

Up ! :bounce: la solution m'intéresse


[:ddr555]
 
 
bon en fait (et comme d'habitude :o) j'ai trouvé la solution seul: je mets à jour le bookmark du recordset pour qu'il aille pointer vers un autre enregistrement (genre celui sur lequel je clique avec la souris) et c'est parti [:banzai]
 
Sinon avec le clavier ça a l'air de marcher automatiquement mais ces end users sont des fans de la souris :/

Reply

Sujets relatifs:

Leave a Replay

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