{Access} correction code VBA

Bonsoir à tous,

voilà je vous expose mon problème, sur un formulaire access, lorsque un champ à choix multiples prend une valeur particulière, je souhaite qu'un autre champ dans le formulaire soit automatiquement rempli. J'ai donc crée une procédure évènementielle après MAJ du champ à choix multiple mais je dois avoir un problème sur ma ligne de code car cela ne marche pas :

If (([rôle] = "Réalisateur d'études") And (N°_de_convention_étudiant.OldValue = Null)) Then
N°_de_convention_étudiant.Value = DMax("[N° de convention étudiant]", "Etudiants") + 1
Else If (([rôle] = "Réalisateur d'études") And (N°_de_convention_étudiant.Value <> Null)) Then
N°_de_convention_étudiant.Value = N°_de_convention_étudiant.OldValue

ce que je ne comprends pas c'est que la 2° partie fonctionne, c'est à dire que si je passe le champ en réalisateur d'études et que N°_de_convention_étudiant possédait déjà une valeur celle ci n'est pas modifiée.

Par contre la première partie ne fonctionne pas : dans le cas ou on passe à réalisateur d'études, et que le champ N°_de_convention_étudiant est vide, je n'ai aucune valeur qui apparait dans mon champ convention.

Merci d'avance pour votre aide,
Xavier
Configuration: Windows XP
Firefox 3.5.3
Access 2007

3 réponses

  1. cette méthode la ne marchait pas non plus mais en inversant mes conditions (en commençant par les dernières pour n'en avoir qu'une au final) j'ai réussi à le faire fonctionner!

    merci quand même pour l'aide!
    1. essai d ajouter a ton champ role le.value
      rôle.value = "Réalisateur d'études"
      1. bonjour

        tu peux essayer de remplacer le =null par =""
        1. j'avais essayé aussi mais ça ne marchait pas non plus