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 :

Extraction de caractère spécifique dans un champ d'une table


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Analyste d'exploitation
    Inscrit en
    Septembre 2014
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Septembre 2014
    Messages : 59
    Points : 33
    Points
    33
    Par défaut Extraction de caractère spécifique dans un champ d'une table
    J'ai un formulaire Access.

    Le champ a 5 chiffres mais l'utilisateur saisira seulement les 3ième et 4ième caractère.

    Comment écrire le code en VB Access:


    Le champ que l'utilisateur écrit se nomme: filt_Categ (Catégorie)

    J'ai trouvé un code qui conserverait les 3ième et 4ième caractère du champ catégorie

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
       If IsNull(Me.filt_Categ) = False Then
            StrWhere = StrWhere & " AND MID ("Prod_D_SCOR_ERR_GENER_Dp.SCOR_NO_CATG_PROD_MODOP",3,2) = " & Me.filt_Categ
        End If

    Cela me donne un erreur. Pouvez-vous m'aider ?

  2. #2
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    Salut challe1976 et bienvenu,

    Initialise le masque de saisie sur l'événement d'activation du formulaire.


  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Analyste d'exploitation
    Inscrit en
    Septembre 2014
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Septembre 2014
    Messages : 59
    Points : 33
    Points
    33
    Par défaut
    J'ai mis un masque de saisie dans le champ: XX99X pour dire que l'utilisateur doit rentrer les chiffres 99

    et il y a un erreur, il ne trouve pas de données même s'il y en a, pouvez-vous m'aider

  4. #4
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    Il ne faut pas confondre la valeur du champ avec la valeur affichée.
    Un masque de saisie présentera la valeur sous le format demandé alors que la valeur stockée sera seulement ceux saisie.

    si on saisie dans [monchamp] : "22" avec un masque "XX"99\X,
    [monchamp] renvoi 22
    si c'est pour l'utilisation dans une recherche la propriété .Text peut être une solution pratique pour récupérer la valeur affichée.
    [monchamp].Text renvoi "XX22X"


  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Analyste d'exploitation
    Inscrit en
    Septembre 2014
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Septembre 2014
    Messages : 59
    Points : 33
    Points
    33
    Par défaut
    On récupére la valeur saisie comme cela, dois-je modifier le code avec le masque de saisie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     If IsNull(Me.filt_Categ) = False Then
            StrWhere = StrWhere & " AND Prod_D_SCOR_ERR_GENER_Dp.SCOR_NO_CATG_PROD_MODOP = " & Me.filt_Categ
        End If

  6. #6
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    Essai avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If Not IsNull(Me.filt_Categ) Then   ' C'est équivalent mais plus logique et facile à comprendre
        Me.filt_Categ.SetFocus   ' Pour obtenir la propriété .Text il est possible que le focus soit requis
        StrWhere = StrWhere & " AND Prod_D_SCOR_ERR_GENER_Dp.SCOR_NO_CATG_PROD_MODOP = " & Me.filt_Categ.Text
    End If

  7. #7
    Nouveau membre du Club
    Femme Profil pro
    Analyste d'exploitation
    Inscrit en
    Septembre 2014
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Septembre 2014
    Messages : 59
    Points : 33
    Points
    33
    Par défaut
    Ça fonctionne pas

  8. #8
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    et avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Not IsNull(Me.filt_Categ) Then
       StrWhere = StrWhere & " AND Prod_D_SCOR_ERR_GENER_Dp.SCOR_NO_CATG_PROD_MODOP like '???" & Me.filt_Categ & "?'"
    End If
    ?

Discussions similaires

  1. SELECT d'une chaine de caractère spécifique dans un champ
    Par damnn dans le forum Développement
    Réponses: 1
    Dernier message: 09/12/2009, 10h35
  2. Réponses: 5
    Dernier message: 12/09/2008, 19h53
  3. Réponses: 1
    Dernier message: 14/11/2007, 11h53
  4. agrandir le nombre de caractère dans le champ d'une table
    Par ssinderella dans le forum VBA Access
    Réponses: 3
    Dernier message: 21/06/2007, 14h22
  5. Lire un code à barre dans un champ d'une table
    Par tleboukaka dans le forum Débuter
    Réponses: 1
    Dernier message: 05/09/2005, 15h15

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