Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/03/2011, 13h44   #1
Débutant
 
Inscription : octobre 2004
Messages : 432
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 432
Points : 93
Points : 93
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 ?
lucas-18 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2011, 15h39   #2
Membre éclairé
 
Avatar de dok flint
 
Inscription : septembre 2003
Messages : 292
Détails du profil
Informations personnelles :
Âge : 43

Informations forums :
Inscription : septembre 2003
Messages : 292
Points : 378
Points : 378
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 :
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+
__________________
Pourquoi faire compliqué quand on peut faire simple
Je suis encore en ACCESS 2003
dok flint est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2011, 16h28   #3
Débutant
 
Inscription : octobre 2004
Messages : 432
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 432
Points : 93
Points : 93
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

lucas-18 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2011, 17h17   #4
Membre éclairé
 
Avatar de dok flint
 
Inscription : septembre 2003
Messages : 292
Détails du profil
Informations personnelles :
Âge : 43

Informations forums :
Inscription : septembre 2003
Messages : 292
Points : 378
Points : 378
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+
__________________
Pourquoi faire compliqué quand on peut faire simple
Je suis encore en ACCESS 2003
dok flint est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2011, 17h47   #5
Débutant
 
Inscription : octobre 2004
Messages : 432
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 432
Points : 93
Points : 93
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
lucas-18 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2011, 17h41   #6
Débutant
 
Inscription : octobre 2004
Messages : 432
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 432
Points : 93
Points : 93
J'ai bien trouvé une solution pour supprimer "personne de contact :"

Code :
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

lucas-18 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2011, 17h52   #7
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 205
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 205
Points : 5 258
Points : 5 258
Salut,

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

A+
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2011, 17h55   #8
Débutant
 
Inscription : octobre 2004
Messages : 432
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 432
Points : 93
Points : 93
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 ...
lucas-18 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2011, 18h18   #9
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 205
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 205
Points : 5 258
Points : 5 258
Dans ce cas la fonction InStr renvoie 0 et tu effectue un autre traitement
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2011, 22h22   #10
Membre éclairé
 
Homme Christophe AUMOITTE
Inscription : octobre 2009
Messages : 254
Détails du profil
Informations personnelles :
Nom : Homme Christophe AUMOITTE
Âge : 43
Localisation : France, Bas Rhin (Alsace)

Informations forums :
Inscription : octobre 2009
Messages : 254
Points : 303
Points : 303
Bonjour lucas,

Pour ma part, voilà comment je ferais :

Code :
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
marsouin_89 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2011, 12h51   #11
Débutant
 
Inscription : octobre 2004
Messages : 432
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 432
Points : 93
Points : 93
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 ?
lucas-18 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2011, 15h03   #12
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 205
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 205
Points : 5 258
Points : 5 258
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+
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2011, 16h57   #13
Débutant
 
Inscription : octobre 2004
Messages : 432
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 432
Points : 93
Points : 93
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 ?
lucas-18 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2011, 17h14   #14
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 205
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 205
Points : 5 258
Points : 5 258
Re,

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

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

Code :
=iif(IsNull([Champ1]);Null;AnalyseMot([Champ1]))
A+
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2011, 17h27   #15
Débutant
 
Inscription : octobre 2004
Messages : 432
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 432
Points : 93
Points : 93
euh dsl mais je dois placer ca ou dans mon code ?
lucas-18 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2011, 17h36   #16
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 205
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 205
Points : 5 258
Points : 5 258
A adapter et copier à la main toujours sur la propriété Source contrôle
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2011, 18h42   #17
Débutant
 
Inscription : octobre 2004
Messages : 432
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 432
Points : 93
Points : 93
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 :

lucas-18 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2011, 18h58   #18
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 205
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 205
Points : 5 258
Points : 5 258
tu le remplaces...
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2011, 19h02   #19
Débutant
 
Inscription : octobre 2004
Messages : 432
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 432
Points : 93
Points : 93
bêtequestion dsl ...
merci bcp
il me reste + qu'à supprimer mes champs qui comment par 1 suivi de 11 caractères ...
lucas-18 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h50.


 
 
 
 
Partenaires

Hébergement Web