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 :

Créer un message d'alerte ne changeant de numéro d'enregistrement


Sujet :

IHM

  1. #1
    Membre du Club
    Inscrit en
    Août 2010
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 64
    Points : 48
    Points
    48
    Par défaut Créer un message d'alerte ne changeant de numéro d'enregistrement
    Rebonjour,

    J'espère ne pas trop abuser de ce forum en posant ma troisième question en deux jours, mais j'ai beau chercher et...

    Dans un formulaire, comment pourrais je afficher un message qui alerterait l'utilisateur qu'il passe sur un enregistrement antérieur ? (Ceci afin d'éviter qu'un utilisateur ne change des données antérieures sans s'en rendre compte...).

    Merci d'avance !

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,
    Que veux-tu dire par "enregistrement antérieur" ?
    Cela signifie-t-il que tu veux prévenir l'utilisateur de toute modification dans un enregistrement autre que celui qu'il est occupé à créer ?
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  3. #3
    Membre du Club
    Inscrit en
    Août 2010
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 64
    Points : 48
    Points
    48
    Par défaut
    Bonjour,

    Oui c'est exactement ça.

  4. #4
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    Dès lors, pour tous les contrôles que tu veux protéger, tu dois les verrouiller.
    Dans l'événement "sur activation" (current), tu testes si un champ indispensable (je veux dire un champ qui a sûrement une valeur si c'est un ancien enregistrement) est null.
    Si oui, c'est un nouvel enregistrement, tu enlèves les verrous aux contrôles concernés.
    Si non, c'est un ancien, tu poses les verrous .
    Si tu n'es pas à l'aise avec le VBA, tu réalises cela en spécifiant explicitement chaque contrôle concerné.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    If isnull(me.leChampIndispensable) then
     me.LeNomDuChamp1.Locked = False
     me.LeNomDuChamp2.Locked = False 
    ........
    else
     me.LeNomDuChamp1.Locked = True
     ...........
    end if
    Si tu es à l'aise avec le VBA, tu lances une boucle sur tous les contrôles du formulaire et tu aménages leur propriété "Locked" s'ils en ont une.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  5. #5
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 468
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 468
    Points : 16 348
    Points
    16 348
    Par défaut
    Bonjour

    Tu peux aussi déjà changer les propriétés de ton formulaire pour qu'il ne serve qu'au mode ajout.
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  6. #6
    Membre du Club
    Inscrit en
    Août 2010
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 64
    Points : 48
    Points
    48
    Par défaut
    Merci beaucoup pour cette réponse, je ai testé le code et il fonctionne. Cependant, le but n'est en fait pas de bloquer les champs d'un enregistrement encodé précédemment, mais juste de prévenir l'encodeur qu'il a changé d'enregistrement (il aurait donc la liberté de corriger un champ en cas d'erreur d'encodage...).

    Une nouvelle idée ?

    PS : N'étant effectivement pas à l'aise avec le VBA, j'apprécie tout de même la réponse précédente qui pourra certainement me servir à l'avenir, et puis comme ça j'en apprend sur le VBA en général... merci

  7. #7
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    bonjour
    Un exemple si tu utilise un num auto

  8. #8
    Membre du Club
    Inscrit en
    Août 2010
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 64
    Points : 48
    Points
    48
    Par défaut
    Merci pour cette dernière réponse, moyennant une petite rectification ça marche à merveille. Avec le code proposé :

    If Me.ID < DMax("ID", "Obs_Species_Rhopalocera") Then
    MsgBox ("Warning, you are moving to a previous record")

    Le passage d'un enregistrement vierge (qui ne possède pas encore d'ID) au dernier enregistrement ne crée pas le message d'alerte. En rajoutant simplement un +1 cela fonctionne...

    If Me.ID < (DMax("ID", "Obs_Species_Rhopalocera") + 1) Then
    MsgBox ("Warning, you are moving to a previous record")

    Merci beaucoup

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

Discussions similaires

  1. [AC-2007] Créer un message d'alerte evenement "sur changement"
    Par samsab dans le forum IHM
    Réponses: 11
    Dernier message: 09/05/2019, 15h38
  2. [XL-2010] Créer un classeur à partir d'un modèle - message d'alerte
    Par Daejung dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/04/2012, 10h48
  3. [Toutes versions] Créer un message d'alerte dans un formulaire
    Par chris_ij32 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 14/04/2011, 15h54
  4. Créer un message d'alerte sur résultat de requête
    Par curt dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 28/02/2008, 10h56
  5. Créer un message d'alerte avec comme solution oui ou non
    Par La_Bande_A_Zozo dans le forum C++Builder
    Réponses: 3
    Dernier message: 24/05/2006, 14h43

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