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 :

Détecté la mise à jour du champ Autonum dans un formulaire basé sur une requête ?


Sujet :

IHM

  1. #1
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut Détecté la mise à jour du champ Autonum dans un formulaire basé sur une requête ?
    Bonjour à tous et merci de votre temps et de votre aide.

    J'ai dans un formulaire pas mal compliqué un champ qui affiche mon autonum.
    Si on alimente le formulaire directement avec la table, au moment de l'événement beforeInsert, la valeur de l'autonum est disponible.
    Or je dois passer par une requête et là, au moment du beforeInsert, la valeur n'est pas disponible. On a Null.

    Les événements sont les suivants :
    1. Ajout d'un enregistrement :
      Le champ autonum de la table vaut "(Nouv)".
      Le champ autonum de la requête vaut "(Nouv)".
    2. Début de saisie dans un des champs (n'importe lequel)
      Le champ autonum de la table vaut le nouveau numéro.
      Le champ autonum de la requête vaut "(Nouv)".
    3. Passage au champ suivant
      Le champ autonum de la table vaut le nouveau numéro.
      Le champ autonum de la requête vaut "(Nouv)".


    Donc à un moment donné j'ai bien l'info dont j'ai besoin dans mon formulaire basé sur la requête.
    Le problème est que je n'arrive pas à détecté quand l'autonum passe de Null à UneValeur.
    Il ne semble pas y avoir d'événement (ou je ne l'ai pas trouvé) au niveau du formulaire.
    Je ne peut pas travaillé aux niveaux des champs de saisie individuellement (ex : en appelant du code dans [/CODEinline]afterUpdate[CODEinline] du champ) car j'en ai beaucoup trop.

    J'ai essayé de mettre me.MonChampAuto.Requery au niveau de l'événement BeforeInsert du formulaire, mais cela ne change rien, tant que je n'ai pas changé de champ, l'autonum vaut Null.
    J'ai essayé un me.requery mais cela ne marche pas non plus, il recharge toute mes données et ma création est perdue.

    Je ne peut pas, à priori, récupéré l'enregistrement de la table avec l'autonum Max car l'appli est multi utilisateurs et donc je pourais avoir eu plusieurs créations.

    Si quelqu'un a une idée ou une piste ou mieux une solution :-), je suis preneur.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  2. #2
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Salut,
    Est-il possible sur l'évènement AfterUpdate() ou BeforeUpdate(Cancel As Integer) de la zone de texte qui suit celle de ton autonum d'insérer ce bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim id As Long
    id = Nz(DMax("id", "Ma_Tbl"), 0) + 1
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Hélas, comme je l'ai dit je suis en multi-ultisateur donc le Max pourrais correspondre à celui d'un autre utilisateur.
    Et l'utilisateur peut saisir les informations dans n'importe quel ordre donc si je veux le faire avec un événement au niveau du champ, il faut que je le fasse pour tous et j'en ai environ 70.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  4. #4
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Re,
    J'avais un doute sur ta demande.
    De tous les contrôles de ton formulaire, ne peux-tu pas imposer à chaque fois qu'on ouvre ou qu'on rafraichisse le formulaire (Form_Open(), Form_Load()) de forcer un Set.focus sur l'un des contrôles ?
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Il y a un set focus mais mon utilisateur peut décider de commencer par un autre champ.

    Par contre cela m'a donné une idée, je vais vérifier avec mon utilisateur mais je pense que le champ Titre devrait probablement être obligatoirement saisi donc on pourrait récupérer le numéro à ce moment.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    J'ai vu avec mon client, on va détecter la modification de 2 champs particuliers et cela va être suffisant.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  7. #7
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    Salut, Marot,

    Si tu fais un INSERT via un recordset ,
    donc après rst.ADDNEW, après avoir valorisé un champ au moins, la valeur de rst!idAuto est disponible, avant le rst.UPDATE

    Si ça peut aider. CDLT
    "Always look at the bright side of life." Monty Python.

  8. #8
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Merci pour l'info.

    C'est un formulaire lié donc pas de Insert SQL.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

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

Discussions similaires

  1. [AC-2007] Champs calculés dans un état basé sur des requêtes pivot
    Par isacoz dans le forum IHM
    Réponses: 2
    Dernier message: 24/10/2014, 00h09
  2. Réponses: 3
    Dernier message: 04/06/2010, 22h57
  3. Réponses: 2
    Dernier message: 18/06/2008, 08h04
  4. Réponses: 1
    Dernier message: 06/02/2008, 04h03
  5. Réponses: 2
    Dernier message: 28/01/2008, 13h54

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