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 :

Suppression mot dans champ [AC-2003]


Sujet :

IHM

  1. #1
    Débutant
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 482
    Points : 142
    Points
    142
    Par défaut Suppression mot dans champ
    Bonjour,

    J'ai un champ contenant les informations suivantes :

    179240T40001 personne de contact : de Castro Chloé - (03) 555 55 55

    Le n° 179240T40001 varie selon les enregistrement et le nom prénom et téléhpone aussi

    J'aimerais ne garder que dans le champ le nom prénom et téléphone (à partir de Castro donc dans ce cas-ci)

    Comment m'y prendre ? Avec une requête mise à jour ?

  2. #2
    Membre confirmé
    Avatar de dok flint
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    366
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 366
    Points : 548
    Points
    548
    Par défaut
    Bonjour ,
    Il est possible de créer un champ temporaire sur le formulaire et tu lui donne comme source de données = =ExtracChaîne([champ1];37;34)
    ou : 37 désigne le nombre de caractères à enlever et 34 de ceux à garder
    puis tu n'a qu'à créer un requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE Table1 SET Table1.champ1 = Formulaires!Table1!Texte38;
    texte38 : c'est le champ temporaire
    table1 : c'est la table des données
    champ1: le champ contenant les informations à diminuer
    mais c'est plus prudent de créer un autre champ dans le quel tu met la mise à jour car si tu exécute la requête une 2 ème fois elle va diminuer encore les infos du champ .
    A+

  3. #3
    Débutant
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 482
    Points : 142
    Points
    142
    Par défaut
    merci pour ta si rapide réponse mais j'ai un problème : les données du champ peuvent être remplies des manières suivantes :
    120501T60021
    132923T20001personne de contact : Castro Chloé
    personne de contact : Castro Chloé
    ou champ vide


  4. #4
    Membre confirmé
    Avatar de dok flint
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    366
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 366
    Points : 548
    Points
    548
    Par défaut
    Bonjour,
    Si j'ai bien compris tu a des données d'une autre source et tu veux les "polir" un peut pour ne garder que le nom.
    Une question : est ce que le format de saisie est respecter pour tous les enregistrements c'est a dire est ce que le nom quand il existe il est toujours le dernier ,car comme ça on pourra faire un test de la longueur du texte dans le champ avant l'extraction .
    A+

  5. #5
    Débutant
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 482
    Points : 142
    Points
    142
    Par défaut
    Ma table contient ce champ qui contient des données que j'aimerais nettoyer. Ces données peuvent se présentées de 4 manières :

    - Le champ est vide
    - 120501T60021
    - 163445T20001personne de contact : Castro Chloé - (02)555 55 55
    - personne de contact : Castro Chloé - (02)555 55 55
    Je n'aimerais dans mon champ que garder cela :
    Castro Chloé - (02)555 55 55

  6. #6
    Débutant
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 482
    Points : 142
    Points
    142
    Par défaut
    J'ai bien trouvé une solution pour supprimer "personne de contact :"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.contact.Value = Replace(Me.contact.Value, " personne de contact : ", " ")
    mais pas pour supprimer le n° de contrat comprenant 12 caractères et se situant avant "personne de contact :" ou seul dans le champ


  7. #7
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 391
    Points : 19 817
    Points
    19 817
    Billets dans le blog
    66
    Par défaut
    Salut,

    Regarde du côté des fonctions InStr et Mid en anglais

    A+

  8. #8
    Débutant
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 482
    Points : 142
    Points
    142
    Par défaut
    oui j'y ai pensé si le n° de contrat à 12 chiffres précède personne de contact mais dans le cas ou le champ ne reseigne que le n° de contrat ...

  9. #9
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 391
    Points : 19 817
    Points
    19 817
    Billets dans le blog
    66
    Par défaut
    Dans ce cas la fonction InStr renvoie 0 et tu effectue un autre traitement

  10. #10
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    789
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 789
    Points : 1 266
    Points
    1 266
    Par défaut
    Bonjour lucas,

    Pour ma part, voilà comment je ferais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Function AnalyseMot(MonChamp As String) As String
     
        If Len(MonChamp) = 0 Then 'Le champ est vide
            AnalyseMot = ""
        'Le champ contient ce caractère
        '163445T20001personne de contact : Castro Chloé - (02)555 55 55 ou
        'personne de contact : Castro Chloé - (02)555 55 55)
        ElseIf MonChamp Like "*:*" Then
            AnalyseMot = Mid(MonChamp, InStr(MonChamp, ":") + 1)
        Else 'Il ne reste que la solution où il n'y a que le n° de contrat
            AnalyseMot = MonChamp
        End If
    End Function
    Cordialement

    Christophe

  11. #11
    Débutant
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 482
    Points : 142
    Points
    142
    Par défaut
    Bonjour,

    Je suppose que je dois faire référence à cette fonction sur l'évènement de mon formulaire mais lequel ? sur activation ? et de quelle manière ?

  12. #12
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 391
    Points : 19 817
    Points
    19 817
    Billets dans le blog
    66
    Par défaut
    Salut,

    Sur la propriété source contrôle de la zone de texte ou tu souhaite faire apparaître ce résultat et à supposé que la chaine d'origine se trouve dans [Champ1] :


    Remarque:

    Cette fonction doit figurer dans un module indépendant
    A+

  13. #13
    Débutant
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 482
    Points : 142
    Points
    142
    Par défaut
    Ca marche pour mes champs commencant par personne de contact.
    Par contre si mon champ était vide , il me met #ERREUR maintenant et pour mes champs qui ne contiennent que le n° de contrat commencant par 1 suivi de 11 caractères ? une solution peut etre ?

  14. #14
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 391
    Points : 19 817
    Points
    19 817
    Billets dans le blog
    66
    Par défaut
    Re,

    Ce n'est pas moi l'auteur de la fonction

    Pour le cas ou le champ1 est vide tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =iif(IsNull([Champ1]);Null;AnalyseMot([Champ1]))
    A+

  15. #15
    Débutant
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 482
    Points : 142
    Points
    142
    Par défaut
    euh dsl mais je dois placer ca ou dans mon code ?

  16. #16
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 391
    Points : 19 817
    Points
    19 817
    Billets dans le blog
    66
    Par défaut
    A adapter et copier à la main toujours sur la propriété Source contrôle

  17. #17
    Débutant
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 482
    Points : 142
    Points
    142
    Par défaut
    Citation Envoyé par User Voir le message
    A adapter et copier à la main toujours sur la propriété Source contrôle
    ok mais j'ai déjà ca comme source controle pour mon champ :


  18. #18
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 391
    Points : 19 817
    Points
    19 817
    Billets dans le blog
    66
    Par défaut
    tu le remplaces...

  19. #19
    Débutant
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 482
    Points : 142
    Points
    142
    Par défaut
    bêtequestion dsl ...
    merci bcp
    il me reste + qu'à supprimer mes champs qui comment par 1 suivi de 11 caractères ...

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

Discussions similaires

  1. [AC-2007] Suppression doublons dans champ de table
    Par RMDIM dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 13/04/2012, 09h39
  2. [RegEx] suppression mot dans chaine
    Par vivian dans le forum Langage
    Réponses: 3
    Dernier message: 18/07/2006, 18h23
  3. Recherche d'un mot dans une phrase se touvant dans un champ
    Par Grandbastien dans le forum Access
    Réponses: 3
    Dernier message: 02/04/2006, 09h58
  4. Réponses: 4
    Dernier message: 01/03/2006, 13h58
  5. Suppression de mots dans une chaîne
    Par psychomatt dans le forum Langage
    Réponses: 7
    Dernier message: 06/08/2004, 15h34

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