Rester sur l'enregistrement qui vient d'etre modifie

cs_jpp81 Messages postés 32 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 25 novembre 2009 - 19 janv. 2007 à 19:49
cs_jpp81 Messages postés 32 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 25 novembre 2009 - 20 janv. 2007 à 13:22
Salut a tous


Mon probleme est tres simple:


Quand
on clique sur le bouton tout marche impec. Sauf que, invariablement
dans la grid dependante le curseur se remet sur le premier
enregistrement obligeant l'utilisateur a utiliser l'ascenceur pour
revenir en fin de fichier. Qu'est-ce qui manque pour que l'on reste sur
le dernier enregistrement ???
PrivateSub CmdUpdate_Click()
Dim base AsString
base = "INTRANTS.mdb"

If Data1.Recordset.NoMatchThen
Data1.BOFAction = 0
EndIf
'Vérifie que les champs sont remplisIf Text1.Text ""Or Text2.Text ""Or Text3.Text = ""Then
MsgBox " les 3 premier champs doivent être rempli!"
ExitSub

EndIf
 
Data1.UpdateRecord

Data1.Refresh
DBGrid1.Refresh
Data1.Caption = ""
Data1.Recordset.Bookmark = Data1.Recordset.LastModified
 
EndSub

 
EndSub


Merci beaucoup


jpp

4 réponses

cs_caramelmou Messages postés 56 Date d'inscription jeudi 25 décembre 2003 Statut Membre Dernière intervention 23 avril 2008 3
19 janv. 2007 à 21:38
Salut
Je n'ai pas vraiment compris le code,car il doit manquer qq lignes ;)
En tout cas, avec le code suivant, on se positionne bien sur la dernière ligne modifiée dans le controle Data1 et le controle DBgrid1 lié (c'est auto).

    Data1.Recordset.AddNew
      '  mise a jour des champs    
    Data1.Recordset.Update
    Data1.Recordset.Bookmark = Data1.Recordset.LastModified

Dr.T
0
cs_jpp81 Messages postés 32 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 25 novembre 2009
20 janv. 2007 à 05:52
Sur ma form, il y a un data1 qui gere d'un part 3 textbox et 2 combo (Ce
qui sert a entrer les enregitrements ) et une grid, qui, elle, affiche
tous les enregistrements (Mais qui n'est pas modifiable pr l'utilisateur ). Enfin 3 boutons de commande traditionnel,
ajoute, enregistre, et supprime.

Le code joint est elui du bouton "Enregitrer".

Normalement c'est cette ligne:


Data1.Recordset.Bookmark = Data1.Recordset.LastModified


Qui devrait permetre cela, mais j'ai pas trouver dans la doc vb4 ni ailleur quelque chose de clair pour la mettre en oeuvre.


Je precise aussi que je suis encore en vb4 pro


jpp
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
20 janv. 2007 à 08:47
Pas vraiment clair.

Je crois simplement deviner.... mais sans en être certain...

Il te faut une variable globale. Appelle-la Repere, par exemple (mets-là en type Variant)

et :
dans une procédure de modification : Repere = Data1.Recordset.Bookmark
dans une procédure de "positionnement/repositionnement" : Data1.Recordset.BookMark = Repere
0
cs_jpp81 Messages postés 32 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 25 novembre 2009
20 janv. 2007 à 13:22
J'ai trouvé.

C'est le :

        Data1.Refresh

        DBGrid1.Refresh

qui pose probleme. En fait le refresh reintialise le pointeur au debut du fichier.

Si on supprime, le pointeur reste bien sur le dernier enregistrement.

merci a tous.

jpp
0
Rejoignez-nous