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 :

Affectation par code vba d'une zone de texte d'un état Access


Sujet :

VBA Access

  1. #1
    Invité de passage
    Homme Profil pro
    développeur en vb6
    Inscrit en
    Décembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : développeur en vb6
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2014
    Messages : 3
    Par défaut Affectation par code vba d'une zone de texte d'un état Access
    Bonjour,
    J'ai un état (rapport) qui s'appelle "Recap Exercices Clos".
    J'ai une zone de texte qui s'appelle Étiquette39 et une autre zone de texte qui s'appelle Ordi_Extra

    J’insère le code suivant à l'évènement "Ouverture" de l'état.
    Lorsque j'exécute et j'affiche le rapport (état), j'ai l'erreur suivante: "Erreur d'exécution 2427 expression sans paramètre" qui se produit à la ligne 8. Car l'instruction de la ligne 7. est vérifiée puisque la zone de texte "Ordi_Extra" reçoit suite un message, la valeur "E" ou la valeur "O"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    1.    If (Me.Ordi_Extra.Enabled = False) Then
    2.        Me.Ordi_Extra.Enabled = True
    3.    End If
     
    4.    If (Me.Ordi_Extra.Value) = "O" Then
    5.       Me.Étiquette39.Value = "SERVICE ORDINAIRE"
    6.    Else
    7.        If (Me.Ordi_Extra.Value = "E") Then
    8.           Me.Étiquette39.Value = "SERVICE EXTRAORDINAIRE"
    9.        End If
    10.  End If
    Merci pour votre aide.
    Jacques4020

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 131
    Par défaut
    Bonjour,

    mettre une majuscule accentuée dans un nom de champ c'est quand même chercher les problèmes...

  3. #3
    Invité de passage
    Homme Profil pro
    développeur en vb6
    Inscrit en
    Décembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : développeur en vb6
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2014
    Messages : 3
    Par défaut
    Bonjour NICO84,
    J'accepte votre remarque.Ceci étant dit, c'est un programme écrit en version Access 97 dont j'ai hérité. Ensuite je l'ai importé en Access 365.
    Merci.

  4. #4
    Expert éminent
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 976
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 976
    Par défaut
    bonsoir,
    une étiquette n' a pas de valeur mais une légende (Caption en anglais) il faut donc écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Me.Étiquette39.Caption = "SERVICE ORDINAIRE"
    d'autre part, concernant la remarque de Nico84, à propos des accents sur les nom d'objets (Étiquette39) : c'est Access qui nomme ainsi les objets de type étiquette créés (pour respecter les règles orthographiques locales françaises)

  5. #5
    Invité de passage
    Homme Profil pro
    développeur en vb6
    Inscrit en
    Décembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : développeur en vb6
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2014
    Messages : 3
    Par défaut Affectation par code vba d'une zone de texte qui s'appelle Étiquette39
    Bonjour tee_grandbois,

    Merci pour votre réponse.
    Cette réponse ne fonctionne pas car d'après ma discussion de base, j'ai mentionné que Étiquette39 est une zone de texte et non pas un objet de la classe "Etiquette" (Label en anglais).
    la propriété "caption" n'est pas disponible pour les objets de type "texte".
    J'ai résolu mon problème en déplaçant le code dans l'évènement "Au Formatage" de l'entête Groupe0 de l'état. Ce groupe "EntêteGroupe0" contient l'objet de texte "Étiquette39"

    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
    Private Sub EntêteGroupe0_Format(Cancel As Integer, FormatCount As Integer)
        If (Me.Ordi_Extra.Enabled = False) Then
            Me.Ordi_Extra.Enabled = True
        End If
     
        If (Me.Ordi_Extra.Value <> "") Then
            If (Me.Ordi_Extra.Value) = "O" Then
                Me.Étiquette39.Value = "SERVICE ORDINAIRE"
            Else
                If (Me.Ordi_Extra.Value = "E") Then
                    Me.Étiquette39.Value = "SERVICE EXTRAORDINAIRE"
                End If
            End If
        End If
    End Sub

  6. #6
    Expert éminent
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 976
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 976
    Par défaut
    bonsoir,
    j'ai mentionné que Étiquette39 est une zone de texte et non pas un objet de la classe "Etiquette" (Label en anglais).
    en effet, je n'ai pas capté en lisant, désolé.
    Pense à fermer la discussion avec le bouton:

Discussions similaires

  1. [WD-2016] [VBA Word] Code VBA d'une zone de texte (textBox)
    Par steeves66 dans le forum Word
    Réponses: 4
    Dernier message: 09/07/2020, 20h52
  2. [XL-2013] VBA - Remplir une zone de texte par Userform
    Par Ally97 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 06/02/2019, 21h51
  3. [AC-2016] Insérer et modifier une zone de texte dans un graphe Access par VBA
    Par Beber39 dans le forum VBA Access
    Réponses: 7
    Dernier message: 22/05/2018, 18h53
  4. Réponses: 7
    Dernier message: 15/08/2012, 17h16
  5. [VBA] mettre une zone de texte en premier plan ?
    Par fellower dans le forum VBA Access
    Réponses: 2
    Dernier message: 08/03/2007, 10h13

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