Access 2003 : Code en sortie d'evenement et changement d'enregistrement [Résolu]

talrasha 14 Messages postés lundi 16 janvier 2006Date d'inscription 26 août 2008 Dernière intervention - 23 juil. 2008 à 09:31 - Dernière réponse : phil2a 101 Messages postés mardi 20 janvier 2004Date d'inscription 22 décembre 2012 Dernière intervention
- 14 août 2008 à 14:54
Bonjour,

J'ai un petit souci. J'ai crée un formulaire de saisie tout simple et basé sur une table. Par exemple admettons que ce formulaire est crée uniquement avec l'assistant. Je souhaite mettre un code VB "SurSortie" d'un de mes champs.
Tout fonctionne très bien, mais le problème, c'est que :
Si l'on se place sur ce champ, et que l'on appuie sur un des boutons "Changer d'enregistrement", et bien le code VB est correctement éxecuté, mais le changement d'enregistrement ne se fait pas. Y a-t-il un moyen de faire fonctionner cela ou bien dois-je créer moi-même mes boutons de parcours?

Merci d'avance.
AK
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
phil2a 101 Messages postés mardi 20 janvier 2004Date d'inscription 22 décembre 2012 Dernière intervention - 14 août 2008 à 13:10
3
Merci
ok
tu as découvert que cette macro SurSortie d'un contrôle est à mettre à la poubelle définitivement. Dans tous les cas elle peut et doit être remplacée avantageusement.
En l'occurence par une macro SurToucheActivée:
Private Sub t_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
 

Merci phil2a 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 70 internautes ce mois-ci

Commenter la réponse de phil2a
Meilleure réponse
phil2a 101 Messages postés mardi 20 janvier 2004Date d'inscription 22 décembre 2012 Dernière intervention - 14 août 2008 à 14:54
3
Merci
Cette 2° question concerne la mise-à-jour ou non du formulaire.
Le test devrait figurer dans la macro AvantMiseAjour du formulaire.

Merci phil2a 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 70 internautes ce mois-ci

Commenter la réponse de phil2a
phil2a 101 Messages postés mardi 20 janvier 2004Date d'inscription 22 décembre 2012 Dernière intervention - 13 août 2008 à 15:25
0
Merci
tiens-tu compte du fait que la macro VB SurSortie réclame un TRUE pour autoriser la sortie du focus ?
Commenter la réponse de phil2a
talrasha 14 Messages postés lundi 16 janvier 2006Date d'inscription 26 août 2008 Dernière intervention - 14 août 2008 à 00:23
0
Merci
Salut,
En fait, je n'avais jamais spécialement tenu compte de cette variable (dont je ne connaissais pas l'utilité ;))... J'ai donc testé, j'ai mis à la fin de mon code "Cancel True" puis "Cancel False". Dans le second cas, il se passe exactement la même chose que s'il n'y avait rien d'écrit, dans le 1e cas, la sortie de champ n'est effectivement plus faite. Je reste donc bloqué dans mon champ...ce qui ne m'intéresse pas.
Pour faire propre, je laisse le Cancel = False, mais cela ne règle pas le problème qui est que le changement d'enregistrement n'est pas effectué...

Merci quand même pour t'être penché sur la question.

Si tu veut faire un test par toi même, il te suffit d'avoir 1 table avec juste 1 champ texte, tu génére un formulaire sur cette table avec l'assisant, et tu met un code bidon (par exemple Texte0.Value = UCase(Texte0.Value) ), et vois par toi-même : si tu as le focus sur le champ, tu ne peut plus parcourir les enregistrements...

J'ai plus d'idée concernant ce problème...
Commenter la réponse de talrasha
phil2a 101 Messages postés mardi 20 janvier 2004Date d'inscription 22 décembre 2012 Dernière intervention - 14 août 2008 à 09:34
0
Merci
Pour faire propre, je laisse le Cancel = False, mais cela ne règle pas
le problème qui est que le changement d'enregistrement n'est pas
effectué...

eh si justement, dans ce cas,

le changement d'enregistrement est effectué...
Commenter la réponse de phil2a
talrasha 14 Messages postés lundi 16 janvier 2006Date d'inscription 26 août 2008 Dernière intervention - 14 août 2008 à 11:52
0
Merci
Salut,

Il y a quelque chose que je ne dois pas cerner.
Tiens, derrière ce lien (http://dl.free.fr/plyGGmaN6 valable que 30j ;)) se trouve un fichier Access correspondant à la description de mon problème. J'ai beau mettre le "Cancel = False" un peu partout... je n'arrive pas à changer d'enregistrement...
Commenter la réponse de talrasha
talrasha 14 Messages postés lundi 16 janvier 2006Date d'inscription 26 août 2008 Dernière intervention - 14 août 2008 à 14:24
0
Merci
Ok, effectivement on peut le remplacer dans la plupart des cas...

Je pense quand même que ça pourrait être interessant, par exemple pour vérifier si il existe des doublons dans une base...

Personellement, j'ai une base de données avec des gens dedans, donc une table
PERSONNE ( id_pers, nom, prenom, date_naiss)
et je dois vérifier lorsque l'on saisie quelqu'un s'il existe déjà une personne portant le même [nom,prenom]... si oui, j'affiche un message pour prévenir et proposer soit d'ouvrir la fiche de cette personne, soit permettre de continuer la saisie.
Je vois pas très bien comment ne pas mettre d'évenement "surSortie"... mais c'est pas grave, j'ai déjà mis mon programme en ligne et personne ne trouve que c'est réellement une contrainte.

Merci, finalement j'ai ma réponse : c'est un bug d'Access
Commenter la réponse de talrasha

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.