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

IHM Discussion :

Peux-t-on ajouter du code dans l'action d'un bouton de navigation access [AC-2003]


Sujet :

IHM

  1. #1
    Membre du Club
    Homme Profil pro
    Retraité, bénévole
    Inscrit en
    Septembre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Retraité, bénévole

    Informations forums :
    Inscription : Septembre 2008
    Messages : 55
    Points : 42
    Points
    42
    Par défaut Peux-t-on ajouter du code dans l'action d'un bouton de navigation access
    Bonjour
    je voudrais savoir s'il est possible de rajouter du code à l'action d'un bouton de la barre de navigation Access...
    Par exemple, pour se passer de la numérotation automatique (qui me pose quelques problèmes) je récupère à l'ouverture d'un Formulaire le dernier numéro de Client et si j'appuie sur "nouvel enregistrement" je place automatiquement dans le champs txtCientNo la valeur stockée précédemment + 1... et voila....
    Merci à tous et toutes.....

  2. #2
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Bonjour,

    Tu peux utiliser l'événement qui se déclenche lors de l'insertion d'un nouvel enregistrement pour y mettre ton code : Avant insertion.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Form_BeforeInsert(Cancel As Integer)
     
        'Ton code
     
    End Sub
    Domi2

  3. #3
    Membre du Club
    Homme Profil pro
    Retraité, bénévole
    Inscrit en
    Septembre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Retraité, bénévole

    Informations forums :
    Inscription : Septembre 2008
    Messages : 55
    Points : 42
    Points
    42
    Par défaut comme souvent il suffisait d'y penser
    Merci domi2
    j'y vais de ce pas....
    Salutations depuis la Thailande....

  4. #4
    Membre du Club
    Homme Profil pro
    Retraité, bénévole
    Inscrit en
    Septembre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Retraité, bénévole

    Informations forums :
    Inscription : Septembre 2008
    Messages : 55
    Points : 42
    Points
    42
    Par défaut Ben ca marche pas
    Resalut domi
    Ben voila, ca ne marche pas...
    mon Formulaire est basé sur la tabContacts
    dans l'évènement avant ajout j'ai mis le code suivant (pour essai)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Form_BeforeInsert(Cancel As Integer)
        If IsNull(txtContacNo) Then
            ContacNo = lstContact + 1
        End If
    End Sub
    dans le débugger j'ai posé un arrêt, mais il n'y a pas d'arrêt ??????
    lorsque je clique sur le bouton "ajouter un enregistrement" de la barre de navigation dans les enregistrements de ce formulaire...
    par contre j'ai un arrêt sur l'évènement "après ajout ?????" (j'ai essayé le code sur "avant" et sur "après").... je ne vois pas où je foire !!!!
    RE-MERCI de ton aide avec un arrêt sur les deux événements
    J'ai supprimé le "NumeroAuto" qui me donne des insomnies.....

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 710
    Points : 847
    Points
    847
    Par défaut
    Salut,

    Si tu n'as pas d'arret, c'est peut etre que le test "If IsNull(txtContacNo) Then" n'est pas vrai ?

    C'est quoi txtContacNo ?
    Et ContacNo ? Et lstContact ?

  6. #6
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Re,

    Quand tu insères un enregistrement, il ne se passe rien AVANT que l'enregistrement ne soit modifié.

    L'événement ne va donc se produire que lorsque tu tapes un premier caractère.

    Met une simple MsgBox en entête de ta procèdure pour voir à quel moment l'événement se produit.

    [Edit] En l'occurence, ton test ne sert à rien. Avant insertion ne se produit que pour les nouveaux enregistrements et pas pour les modifications. Donc tu peux mettre ton nouveaux numéro contact sans autre...

    Domi2

  7. #7
    Membre du Club
    Homme Profil pro
    Retraité, bénévole
    Inscrit en
    Septembre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Retraité, bénévole

    Informations forums :
    Inscription : Septembre 2008
    Messages : 55
    Points : 42
    Points
    42
    Par défaut complement d'info
    Salut Muhad'hib
    "C'est quoi txtContacNo ?"
    "Et ContacNo ? Et lstContact ?"
    Alors lstContact est une variable Publique dans laquelle je récupère le dernier ContactNo de la table contact.... numéro contenu dans ContacNo
    txtContacNo est le champs dépendant du formulaire basé sur ContacNo.
    en fait ce test est déjà dans l'événement "SurSortie" de ce controle. J'ai juste copié ce code pour avoir quelque chose dans l'événement "AvantAjout"... en fait c'est ce que je ferais si l'événement est pris en compte.
    Qu'and à l'arrêt qui ne se fait pas lors du debugage, je penses que de toutes facons l'arrêt devrait se faire avant le test.... non ?
    Merci de ton aide

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 710
    Points : 847
    Points
    847
    Par défaut
    txtContacNo est le champs dépendant du formulaire basé sur ContacNo.
    Alors quand tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ContacNo = lstContact + 1
    Si ContactNo est la table, tu veux affecter un valeur à une table ?
    Je ferais plustot :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
            Me.txtContacNo = lstContact + 1
    Qu'and à l'arrêt qui ne se fait pas lors du debugage, je penses que de toutes facons l'arrêt devrait se faire avant le test.... non ?
    Cela dépend sur quelle ligne tu as mis l'arret !

    Prendre aussi en compte les remarques de Domi2 : mets un msgbox et supprime le test.

  9. #9
    Membre du Club
    Homme Profil pro
    Retraité, bénévole
    Inscrit en
    Septembre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Retraité, bénévole

    Informations forums :
    Inscription : Septembre 2008
    Messages : 55
    Points : 42
    Points
    42
    Par défaut Avant "résolu"
    Salut Domi2.... effectivement on s'est croisé...
    Je clarifie la situation.
    J'ai comme table en jeu "tsbContacts" avec comme champ index "ContacNo"
    J'ai un formulaire "frmContacts" avec comme source "tabContacts", qui contient entre autre le controle "txtContacNo" dépendant du champ "ContacNo"...
    Dans le contexte "SurSortie" du controle "txtContacNo" j'ai le code suivant qui fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub txtContacNo_Exit(Cancel As Integer)
        If IsNull(txtContacNo) Then
            ContacNo = lstContact + 1
        End If
    End Sub
    Ce que je voulais faire :
    Lors du click sur le bouton "ajouter un enregistrement" de la barre des boutons de déplacement exécuter la ligne "ContacNo = lstContact + 1"... J'ai essayé de créer un bouton "ajout" contenant ma ligne... ca marche, mais il y a dualité avec le bouton de déplacement "ajouter"... j'ai désactiver la fonction "Ajouter autorisé" du Formulaire, mais alors on ne peut plus faire d'ajout... il faudrait supprimer la barre de déplacement et créer l'équivalent en utilisant des boutons et des controles perso, mais ca c'est pour plus tard... tant pis (si j'avais bien lu la chronologie des événements je ne vous aurais pas ennuyé.
    Ce que je voudrais faire maintenant c'est régler la sécurité de ma base (je ne peux faire de mise à jour des tables que sous le compte utilisateur "Administrateur"... Pourquoi ???
    Et puis je vais partager la base pour l'utiliser à plusieurs.
    Je suis seul à développer, en Thailande, parlant un peu Anglais, et devant tantot utiliser l'alphabet Anglais et le Thai... qui plus est le système de date est "boudique" rien que ca.... en plus je débute sous Access.... et je suis en retraite
    Enfin Salutation Thailandaises...
    à Mouhad'hin... merci de ton attention et je penses que le texte ci-dessus répondra à tes questions.
    MERCI à vous deux et peut-être à plus

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 710
    Points : 847
    Points
    847
    Par défaut
    As tu tester ce que cela donne sur l'évenement aprés insertion (sans le "If IsNull(txtContacNo)") ?


    Ce que je voudrais faire maintenant c'est régler la sécurité de ma base (je ne peux faire de mise à jour des tables que sous le compte utilisateur "Administrateur"... Pourquoi ???
    Et puis je vais partager la base pour l'utiliser à plusieurs.
    Je te propose de créer un autre post pour ne pas mélanger les pb
    Regarde ici et ici ça te sera utile.

  11. #11
    Membre du Club
    Homme Profil pro
    Retraité, bénévole
    Inscrit en
    Septembre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Retraité, bénévole

    Informations forums :
    Inscription : Septembre 2008
    Messages : 55
    Points : 42
    Points
    42
    Par défaut A Mouhad'hib
    Bonjour
    As tu tester ce que cela donne sur l'évenement aprés insertion (sans le "If IsNull(txtContacNo)") ?
    Bien sur et l'arrêt se fait bien au niveau du point d'arrêt... avant de lire quelque code que ce soit, donc avant d'effectuer le test (qui n'était là que pour avoir quelque chose dans la procédure :-)).
    Après lecture de la chronologie des événements (j'auraid du commencer par là, mais j'étais au bureau et je ne l'avais pas) :
    Lorsque vous activez un nouvel enregistrement vierge de formulaire, puis créez un nouvel entegistrement à l'aide d'un controle, la séquence suivante se produit :
    Activation formulaire -> Entrée contrôle -> Réception focus contrôle -> Avant insertion formulaire -> après insertion formulaire...
    donc comme dit Domi, En
    l'occurence, ton test ne sert à rien. Avant insertion ne se produit que pour les nouveaux enregistrements et pas pour les modifications. Donc tu peux mettre ton nouveaux numéro contact sans autre...
    je reviens donc à la condition sursortie du controle... ca ne fait jamais qu'un "tab" de plus :-0
    Merci pour tes liens.... mais pour le premier... le lien sur le pdf ne fonctionne pas !
    Salutations Thai

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Ajouter un code dans macro mais quel code et où?
    Par Un Internaute dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/06/2015, 14h14
  2. Ajouter du code dans la balise HEAD
    Par jpberub dans le forum ASP.NET
    Réponses: 3
    Dernier message: 25/05/2010, 14h59
  3. [jQuery] Ajouter du code dans le DOM
    Par Spir dans le forum jQuery
    Réponses: 4
    Dernier message: 29/09/2008, 09h46
  4. Même code dans deux actions
    Par salmoucha dans le forum MVC
    Réponses: 7
    Dernier message: 16/04/2008, 10h43
  5. Ajouter du code dans le code d'une feuille
    Par srame dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/04/2007, 11h05

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