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

Requêtes et SQL. Discussion :

Remplacer caractères vides dans un champ texte [AC-2007]


Sujet :

Requêtes et SQL.

  1. #1
    Candidat au Club
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Mai 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable sécurité
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2016
    Messages : 7
    Points : 2
    Points
    2
    Par défaut Remplacer caractères vides dans un champ texte
    Bonjour à tous,

    Assez novice sur Access, je suis confronté à un problème de caractères dans un champs texte.

    1) J'importe à partir d'Excel dans une table (TEST) un champ texte (N° CIR) basé sur 11 caractères (donc dans mon format du champ texte j'ai mis @@@@@@@@@@@). ce champ est possible qu'en texte (car mélange alphanumérique)
    2) Dans le fichier Excel, les 11 caractères ne sont pas forcément présents d'où le fait de forcer avec les 11 @. Parfois il en manque au début ou à la fin.
    3) La table Access m'affiche donc parfois les 11 caractères (exemple : 1234567891X) ou """"""1236549"" ou 123456789"""" (avec les "" repérsentant des vides"

    Je souhaiterais remplacer ces "vides" par un 0 sur l'ensemble des données de la colonne (N° CIR)
    J'ai essayé par une requête mise à jour : Remplacer([N° CIR];" ";"0") ou Remplacer([N° CIR];"@";"0") ou Remplacer([N° CIR];"";"0") mais rien ne bouge.

    Dois je utiliser une autre formule ou un code VBA directement ? Et si oui laquelle ?

    Merci d'avance pour votre aide qui m'avancerait énormément...

    Cordialement

    Edy360

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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 087
    Points : 5 203
    Points
    5 203
    Par défaut
    Bonjour,

    A priori j'aurais tendance à toujours ajouter des 0 du même coté sinon ça va être l'embrouille... Par exemple devant avec une formule du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monchamp11=right("00000000000" & trim(monchamp),11)
    (je mets 11 zéros pour être sûr d'avoir 11 caractères à la fin)
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  3. #3
    Candidat au Club
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Mai 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable sécurité
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2016
    Messages : 7
    Points : 2
    Points
    2
    Par défaut Re
    Bonsoir
    Merci pour ta reponse. Je vais essayer demain mais je ne pense que cela resoudra ma problematique. Les vides sont a gauche ou a droite et d'un nombre pouvant etre changeant semon la donnees. Il faut des 0 à l'endroit precis des vides.

    Merci quand meme et bonne soirée
    Edy360

  4. #4
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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 087
    Points : 5 203
    Points
    5 203
    Par défaut
    En fait je ne comprends pas pourquoi replace ne marche pas car ça devrait faire le boulot...
    Les espaces existent bien dans le tableau excel ? Ils existent aussi dans la table access après import ?
    Si oui > update matable set monchamp=replace(monchamp,' ','0') et l'affaire est réglée...
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  5. #5
    Candidat au Club
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Mai 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable sécurité
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2016
    Messages : 7
    Points : 2
    Points
    2
    Par défaut Rere
    Moi non plus en fait...
    Les vides existent surtout apres import de l'excel car je force la donnee texte en mettant les 11 @ dans le format du champ de la table.
    Ensuite je fais une requête mise a joir avec le code. Tu penses qu'il faut passer par du code ?
    Merci

  6. #6
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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 087
    Points : 5 203
    Points
    5 203
    Par défaut
    Ca ne serait pas juste un format d'affichage par hasard ?
    Si c'est un format d'affichage ou un masque de saisie c'est sans effet lors de l'import je pense, seul l'update modifiera les données issues d'excel
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  7. #7
    Candidat au Club
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Mai 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable sécurité
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2016
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Quand tu parles "d'update" c'est avec une requête mise à jour ou du code vba direct (là ça dépasse mes capacités) ?

    En passant par une requête mise à jour avec dans mise à jour : Remplacer([N° CIR];" ";"0")...rien du tout.

    Si c'est par du VBA pourrais tu m'inqiuer stp la arche à suivre

    merci de ton aide

    Edy360

  8. #8
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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 087
    Points : 5 203
    Points
    5 203
    Par défaut
    Une requete c'est du SQL donc en anglais. Remplacer(... ça se passe juste au niveau de l'affichage.
    Mais d'abord il faut voir si les espaces sont bien présents dans la table TEST ?
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  9. #9
    Candidat au Club
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Mai 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable sécurité
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2016
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Je regarde ca a partir du 23. Je n'aurai pas accès à la base la semaine pro (congés). Merci pour ton aide.

  10. #10
    Candidat au Club
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Mai 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable sécurité
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2016
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Mais sinon oui la table a les espaces puisque dans le format du champ texte N CIR je mets @@@@@@@@@@@. Apres pour faire le sql update je passe par un requête mise a jour ou une macro ? Dans tous les cas merci de ton aide

  11. #11
    Candidat au Club
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Mai 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable sécurité
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2016
    Messages : 7
    Points : 2
    Points
    2
    Par défaut Résolu
    Le problème a été réglé en demandant un fichier .TXT pour l'import...
    Merci

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

Discussions similaires

  1. [MySQL] Limiter le nombre de caractères dans un champ texte
    Par bibi28 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 11/01/2008, 08h31
  2. recherche du caractère * dans un champ texte
    Par marechal dans le forum VBA Access
    Réponses: 1
    Dernier message: 06/07/2007, 16h37
  3. Réponses: 3
    Dernier message: 13/03/2007, 13h40
  4. [RegEx] remplace espace vide dans texte
    Par alexmorel dans le forum Langage
    Réponses: 1
    Dernier message: 09/10/2006, 21h15
  5. [VBA-A]Remplacer les espaces dans un champ texte
    Par Ericka dans le forum VBA Access
    Réponses: 6
    Dernier message: 17/05/2006, 15h31

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