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 :

Conflit de codes dans VBA


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2010
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 64
    Par défaut Conflit de codes dans VBA
    Bonjour,

    N'y connaissant rien au VBA, j'avance par essai-erreur... Mais là je ne vois pas comment je pourrais faire fonctionner ces deux codes qui semble devoir être placés au même endroit...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Private Sub Form_Current()
     
        If Me.ID < (DMax("ID", "OBS_Species_Rhopalocera") + 1) Then
        MsgBox ("Warning: you are moving to another record")
        End If
     
        If IsNull(Me.X) Then
        Me.Square.Locked = False
        Me.Grid.Locked = False
     
        Else
        Me.Square.Locked = True
        Me.Grid.Locked = True
        End If
     
    End Sub
    Avec un seul code à la fois ca marche pourtant !

    Merci d'avance et bonne journée !

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 130
    Par défaut
    Bonjour,

    où est le conflit ?

    cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

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

    Je ne sais pas si cela s'appelle vraiment un "conflit", mais ce que je remarque c'est que introduit de cette manière seul le premier code fonctionne, et pas le deuxième...
    Faut il placer ce deuxième code dans une autre procédure que Form - Current ?

    Merci

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 130
    Par défaut
    Premier ou second ?

    Je n'en vois qu'un posté.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  5. #5
    Membre confirmé
    Inscrit en
    Août 2010
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 64
    Par défaut
    Désolé, je n'utilise peut-être pas le bon vocabulaire, mais voici mon problème plus en détail.

    Lorsque je place uniquement ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Form_Current()
     
        If Me.ID < (DMax("ID", "OBS_Species_Rhopalocera") + 1) Then
        MsgBox ("Warning: you are moving to another record")
        End If
     
    End Sub
    mon message d'alerte s'affiche bien lorsque je change de numéro d'enregistrement dans le formulaire.

    Lorsque je tape ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Form_Current()
        If IsNull(Me.X) Then
        Me.Square.Locked = False
        Me.Grid.Locked = False
     
        Else
        Me.Square.Locked = True
        Me.Grid.Locked = True
        End If
     
    End Sub
    J'arrive bie na bloquer les champs "Square" et "Grid" si le champ "X" n'est pas nul.

    Mais lorsque je tape ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Private Sub Form_Current()
     
        If Me.ID < (DMax("ID", "OBS_Species_Rhopalocera") + 1) Then
        MsgBox ("Warning: you are moving to another record")
        End If
     
        If IsNull(Me.X) Then
        Me.Square.Locked = False
        Me.Grid.Locked = False
     
        Else
        Me.Square.Locked = True
        Me.Grid.Locked = True
        End If
     
    End Sub
    les champs "Square" et "Grid" ne se bloquent plus...

    Je ne comprend pas...

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 130
    Par défaut
    Ok je comprends ce que tu veux dire.

    Par contre je ne comprends pas non plus pourquoi. A part que X soit null.

    Par contre que cherches-tu à faire avec cette syntaxe ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.ID < (DMax("ID", "OBS_Species_Rhopalocera") + 1)
    Traduction :
    Si ID est inf ID le plus grand + 1
    exemple :
    Soit une série d'ID 1 à 10
    que tu sois sur 1 ou 10 c'est toujours 11 qui sera retourné.

    Cela se produira tout le temps.

    Tu crée une base pour l'observation des papillons ?
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

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

Discussions similaires

  1. une action dans excel peut elle créer une ligne de code dans VBA?
    Par beebe dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 25/09/2008, 07h23
  2. Utiliser du code SQL dans VBA
    Par a2line dans le forum Requêtes et SQL.
    Réponses: 25
    Dernier message: 30/05/2006, 14h53
  3. [VBA-E]Supprimer macro (code dans code feuille de calcul)
    Par Elstak dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/04/2006, 16h37
  4. [VBA Excel] Comment écrire un code dans le ThisWorkBook ?
    Par WebPac dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/05/2005, 15h03

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