Pb de défilement

Miss_Am Messages postés 15 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 20 juillet 2005 - 19 juil. 2005 à 17:47
wilfrid2009sylvin Messages postés 1 Date d'inscription mercredi 1 juillet 2009 Statut Membre Dernière intervention 23 mai 2010 - 23 mai 2010 à 17:56
Bonjour à tous...

Je suis sous access et j'ai un sous formulaire dans lequel des enregistrements sont rentrés automatiquement en fonction de ceux du formulaire principal...

J'aimerais que sur modification d'une ligne du sous formulaire (il est en mode feuille de données) le focus passe automatiquement à la ligne suivante. Ce qui revient à la meme chose que si on clic sur le bouton suivant de la barre de défilement.


Donc ma question est: comment ecrire en code de passer à une nouvelle ligne, ou de faire la meme chose que si l'utilisation avait cliqué sur la barre de défilement?


J'ai déja essayé DoCmd.GoToRecord, acNext ou acNewRec mais ca ne marche pas parce que la ligne suivante est vide donc ce n'est pas un enregistrement.

4 réponses

hyrockbass Messages postés 25 Date d'inscription jeudi 30 juin 2005 Statut Membre Dernière intervention 6 janvier 2006
20 juil. 2005 à 10:13
essaie de declarer un recordset correspondant aux enregistrements present dans ton sous formulaire et en suite tu fais <Non de ton recordset .addnew>

ex :

'connexion a la base
Dim Madb as New ADODB.Connection
Set Madb = CurrentProject.Connection

'Declaration de ton recordset
Dim rSousFormulaire As New ADODB.Recordset

'initialisation de ton recordset
rSousFormulaire.Open "<ici tu met tout ce qu'il y a dans le champs 'Source' de l'onglet
0
hyrockbass Messages postés 25 Date d'inscription jeudi 30 juin 2005 Statut Membre Dernière intervention 6 janvier 2006
20 juil. 2005 à 10:16
essaie de declarer un recordset correspondant aux enregistrements present dans ton sous formulaire et en suite tu fais <Non de ton recordset .addnew>

ex :

'connexion a la base
Dim Madb as New ADODB.Connection
Set Madb = CurrentProject.Connection

'Declaration de ton recordset
Dim rSousFormulaire As New ADODB.Recordset

'initialisation de ton recordset
rSousFormulaire.Open "",Madb,adOpendynamic,adLockOptimistic

'ensuite tu fais
rSousFormulaire.AddNew

je sais pas si ca va marcher mais tu peu essayé. retient moi au courant. a+
0
Miss_Am Messages postés 15 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 20 juillet 2005
20 juil. 2005 à 11:09
ok.

Merci ton code a l'air de marcher.....

Dis moi est-ce que tu sais (surement)....comment je fait pour que le recorset s'affiche dans le sous formulaire?
Il faut que je change la source?

Merci encore pour ton code.
0
wilfrid2009sylvin Messages postés 1 Date d'inscription mercredi 1 juillet 2009 Statut Membre Dernière intervention 23 mai 2010
23 mai 2010 à 17:56
D'après moi,si vous êtes dans visual basic,voila ce que vous pouvez faire :

Lorque vous enregistrer sur le formulaire principal , il remplit aussi les sous formulaires ,si d'après ce que vous dites et vous voulez que a la fin de l'enregistrement le curseur passe a la ligne Ok

Voila se que vous allez mettre a la fin du boutton enregistrer

La zone de texte a laquelle la souris ou encore le curseur viendra se placé et ensuite un point après setfocus
ex:
text1.setfocus
voila se que j'avais comme idée pour vous .
Si vous n'avez pas compris envoi un mail a l'adresse:wilfridngamba@yahoo.fr

Merci de votre part .
0