IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Champ résultat en fonction de champs renseignés


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 19
    Points : 10
    Points
    10
    Par défaut Champ résultat en fonction de champs renseignés
    Bonsoir
    svp je sollicite votre aide pour finaliser un travail que j'ai déga entamé avec votre aide merci d'avance.
    en fait j'ai table avec 05 champs:
    1- Nom
    2- Prenom
    3- NumLicence
    4- NumChomeur
    5- Resultat
    SVP
    je souhaiterai que le champ :

    - champ "resultat" m'inscrit " ECT" si les champs NumLicence et NumChomeur ne sont pas renseignés.
    - champ "resultat" m'inscrit " Cho" si le champ NumLicence est renseigné
    - champ "resultat" m'inscrit " Lic" si les champ NumChomeur est renseigné

  2. #2
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Bonjour,

    Pour vous donnez une réponse précise il faudrait préciser le type des différents champs
    Texte ou numérique ?

    Car les tests nécessaire doivent être fait sur 0 si numérique ou Null ou "" si texte.

    De plus utiliser Nom comme nom de champ n'est pas recommendable car Nom (Name) est un mot clé dans les versions françaises, il vaut mieux mettre Nom_Travailleur par exemple.

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 19
    Points : 10
    Points
    10
    Par défaut Champ résultat en fonction de champs renseignés
    Bonjour,
    merci pour vos orientations.
    pour ce qui est des champs ils se presentent comme ceci:

    1- Nom_adhérant : texte
    2- Prenom _adhérant : texte
    3- NumLicence_adhérant : numerique
    4- NumChomeur_adhérant : numerique
    5- Resultat_adhérant : texte
    Merci pour votre précieuse aide
    mes salutations.

  4. #4
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Bonjour,

    Sur l'évènement Réception Focus du champs Resultat_adhérant vous écrivez le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Resultat_Adhérant_GotFocus ()
    'Premier test logique
    If IsNull(Me.[NumLicence_Adhérant]) and IsNull(Me.NumChomeur_Adhérant) then
    <div style="margin-left:40px">Me.[Resultat_Adhérant]="ECT"</div>End If
    'Deuxieme test logique
    If Me.[NumChomeur_adhérant]>0 and IsNull(Me.[NumLicence_adhérant) then
    <div style="margin-left:40px">Me.[Resultat_adhérant] = "Lic"</div>End If
    'Troisème test
    If IsNull(Me.[NumChomeur_adhérant]) And Me.[NumChomeur_adhérant]>0 then
    <div style="margin-left:40px">Me.[Resulta_adhérant]="Cho"</div>End If
     
    End Sub
    Il y a des <blockQuote> qui se mettent dans les lignes il ne faut pas les recopier.

    Il est possible que le test avec IsNull ne fonctionne pas si vous avez mis la valeur par défaut des champs numérique à 0, il faut alors alors remplacer
    ISNull([NomChamp]) par Me.[NomChamp]=0

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 19
    Points : 10
    Points
    10
    Par défaut
    Bonjour,
    merci pour votre réponse.
    le champ "resultat" par défaut est "ECT", donc les 02 champ ne sont pas renseignés.
    si le champ NumLicence_adherant est renseigné alors champ situation = "LIC", si maintenat les 02 champs "NumLicence_adherant " et " NumChomeur_adhérant" sont renseignés, alors champ "resultat" = "CHO"

    y'a juste un ptit problème, j'ai remplacer test drnière par ceci malgré ca pas de résultat.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    'changement à ce nivaeu là
    If (Me.[NumChomeur_adhérant]) >0 And Me.[NumChomeur_adhérant]>0 then<blockquote>Me.[Resulta_adhérant]="Cho"</blockquote>End If
    End Sub
    le 2eme problème il me change pas le champ "situation"
    merci encore pour votre aide qui m'est précieuse.
    mes salutations.

  6. #6
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 19
    Points : 10
    Points
    10
    Par défaut Champ résultat en fonction de champs renseignés
    Bonjour
    merci pour le tout, ca marche à merveille, sauf que le champs "resultat" n'affiche pas à temp le changement, il faut que je quitte l'application pour que les changements prenent effet.
    comment faire SVP
    merci pour votre aide
    mes salutations.

  7. #7
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Bonjour,

    Si le code est placé dans l'évènement Réception focus du champ Resultat il faut impérativement que le focus soit donné à ce champ avant de quitter l'enregistrement, ce n'est qu'a cette condition que la procédure événementielle est exécutée.

    Pour donné le focus il faut que le curseur qui parcours les contrôles du formulaire quand vous faites Enter ou Tab passe sur le contrôle Resultat.
    Faites un essai en cliquant dans le contrôle et cela devrait permettre de voir ce qui ce passe.

  8. #8
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 19
    Points : 10
    Points
    10
    Par défaut Champ résultat en fonction de champs renseignés
    Bonjour
    merci pour votre réponse, effectivement que ça fonctionne correctement sauf, que je dois quitter le formulaire ou cliquer sur le champ en question "resultat"

    J'ai un bouton qui ouvre un autre formulaire, "saisie1". Je modifie un des champs " NumLicence_adhérant" ou "NumChomeur_adhérant"

    Quand je reviens au formulaire "adherants", la mise à jour n'est pas faites
    (pas de modification).

    J'ai essayé les méthodes suivantes :
    DoCmd.refresh
    DoCmd.Requery
    DoCmd.ShowAllRecords

    En VBA, j'ai fermé et réouvert le formulaire
    merci pour votre aide
    je suis désolé pour toutes ses questions.
    mes salutations

  9. #9
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 19
    Points : 10
    Points
    10
    Par défaut
    Bonsoir,

    Voila le message qu'il m'affiche lorsque je clique sur le champ resultat:
    cet enregistrement à été modifié par un autre utilisateur depuis que que vous avez commencé à le modifier...!
    que dois-je faire SVP
    merci pour l'aide vous m'apporter
    Salutations

  10. #10
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Bonjour,

    Désolé pour le retard à répondre.

    Je ne comprend pas pourquoi le champ ne se met pas à jour vous dites quand même dans un de vos message que ça fonctionne si

    ou cliquer sur le champ en question "resultat"
    Donc j'en reviens à ma suggestion précédente, faites en sorte que le curseur passe obligatoirement par le champ Resultat avant de quitter l'enregistrement ou de fermer le formulaire en mettant une instruction Me.Resultat_adhérant.GotFocus après les trois tests If....then

    Si cela ne va pas essayé de mettre votre BDD à disposition en pièce jointe pour que l'on puisse voir exactement ce qui ce passe. Si les données sont confidentielles faites une copie avec des données bidons.
    Bon dimanche

  11. #11
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 19
    Points : 10
    Points
    10
    Par défaut
    Bonjour, merci pour votre réponse, mon problème n'est pas encore sollutionné
    effectivement quand je modifie un enregistrement le changemnt ne s'opère pas en temp reel et ce malgré que le focus est donné au champ resultat.
    ceci dit mais quand y'a un clique sur le champ en question dans le formulaire il est mis à jour le changement s'opère. et voici le message qui m'affiche:

    lorsque je clique sur le champ resultat: titre du message (conflit d'écriture)

    "cet enregistrement à été modifié par un autre utilisateur depuis que que vous avez commencé à le modifier...! "
    merci pour votre réponse

  12. #12
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 324
    Points : 470
    Points
    470
    Par défaut
    Essaie de voir avec si avec un me.Dirty ça résoud le problème.

Discussions similaires

  1. [MySQL-5.1] Obtenir un champs supplémentaire en fonction des champs existant
    Par reivilol dans le forum Requêtes
    Réponses: 2
    Dernier message: 22/01/2015, 14h05
  2. Réponses: 4
    Dernier message: 24/10/2014, 16h13
  3. Fonction de mise à jour du champ TTC en fonction du champ HT
    Par francois134 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 02/08/2009, 21h25
  4. Réponses: 7
    Dernier message: 02/10/2007, 22h55
  5. Ajouter un signe avant résultat en fonction du champ
    Par davyd dans le forum Langage SQL
    Réponses: 10
    Dernier message: 10/03/2005, 11h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo