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

Access Discussion :

Export table avec lien hypertexte en CSV [AC-2010]


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2013
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 53
    Points : 33
    Points
    33
    Par défaut Export table avec lien hypertexte en CSV
    Bonjour et bonne année à tous les bénévoles,

    Mon problème est le suivant:
    J'exporte une table Access au format CSV où il y a des lien hypertexte vers des pages Internet.
    L'export se passe très bien sauf que le caractère # est ajouté devant chaque lien #http://....
    J'ai fait pas mal d'essais pour le format d'export mais cela ne fonctionne pas, comment éviter l'ajout de ce #

    J'ai essayé de passer par une table intermédiaire en changeant le type de donnés du champ hyperlien en format texte.
    C'est bien le format texte qui ajoute le # dans la table Access mais comment supprimer le premier caractère de gauche à l'aide d'une requête mise à jour.

    Il y a bien l'option d'ouvrir le fichier avec le bloc-note pour supprimer le # mais le fichier a plus de 600 000 lignes alors le temps de réponse... même problème en l'ouvrant sous Excel.

    Quelqu'un a-t' il une réponse.

    Merci beaucoup.

    ACN

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

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Bonsoir,
    pour ce problème il faut utiliser la fonction Remplacer dans une requête et faire l'export de cette requête à la place de ta table :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Remplacer(Nz([ChampdeTypeLien];"");"#";"")
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

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

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    Bonsoir,
    pour ce problème il faut utiliser la fonction Remplacer dans une requête et faire l'export de cette requête à la place de ta table :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Remplacer(Nz([ChampdeTypeLien];"");"#";"")
    Je reviens sur ma solution qui n'est pas correcte car elle remplace tous les caractères de la chaine ce qui va modifier le lien qui peut contenir aussi ce caractère. Il vaut mieux utiliser Left et Mid qui permet d'enlever seulement le premier et le dernier caractère :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Left(Mid([ChampdeTypeLien], 2), Len(Mid([ChampdeTypeLien], 2)) - 1)
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2013
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 53
    Points : 33
    Points
    33
    Par défaut
    Bonjour,
    Super
    J'ai créé une requête Mise à jour avec le code indiqué et cela fonctionne
    Merci encore.
    Voici le code final de la requête sur le champ Lien pour la table Export TMP à mettre à jour.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATE [Export TMP] SET [Export TMP].Lien = Left(Mid([Lien],2),Len(Mid([Lien],2))-1);

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2013
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 53
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par ACNTOURAINE Voir le message
    Bonjour,
    Super
    J'ai créé une requête Mise à jour avec le code indiqué et cela fonctionne
    Merci encore.
    Voici le code final de la requête sur le champ Lien pour la table Export TMP à mettre à jour.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATE [Export TMP] SET [Export TMP].Lien = Left(Mid([Lien],2),Len(Mid([Lien],2))-1);
    Je suis vraiment nul car maintenant j'ai besoin d'une requête à peut près identique pour supprimer le dernier caractère de droite.
    J'ai bien essayé de remplacer Left par Right mais cela supprime toujours le caractère de gauche et je ne maitrise pas du tout le mélange des instructions Right et Mid

    Merci de votre aide.
    ACN

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

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Bonjour,
    pour avoir l'aide sur une fonction F1 sur sur la fonction mise en surbrillance (avec double-clic).
    Le principe pour supprimer le dernier caractère à droite c'est de garder tout ce qui est à gauche de ce caractère. Tu dois donc connaitre la longueur à garder : si Len(Montexte) est la longueur totale de ton texte et que tu enlèves 1 à ta longueur, tu auras la longueur du texte à garder.
    Mid() permet de renvoyer un texte à partir d'une position donnée (Argument 1), pour une longueur donnée (Argument 2) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    dim MonTexte as String
    MonTexte= "Ceci est Mon Texte"
    Debug.Print Mid(MonTexte, 1, Len(MonTexte) - 1)
    ' Renvoie : "Ceci est Mon Text"
    je garde donc tout le texte à partir de la position 1 pour une longueur qui est (longueur de mon texte) -1
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2013
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 53
    Points : 33
    Points
    33
    Par défaut
    Bonjour,

    Ne peux t'on pas faire une requête UPDATE ou MARIAGES est le nom de ma table et Lien le nom du champ où se trouve les liens Internet.
    La table fait plus de 600 000 lignes et tous les champs Lien ne sont pas remplis et peuvent être de longueur différentes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE [MARIAGES] SET [MARIAGES].Lien = Mid([Lien],1),Len[Lien]-1);
    Cette requête a une Erreur de syntaxe dans l'instruction UPDATE.
    Merci de votre réponse
    ACN

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

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Bonsoir,
    si tu es parti du code que je t'ai donné tu verras qu'il n'est pas le même :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     Mid(MonTexte, 1, Len(MonTexte) - 1)
     Mid([Lien],1),Len[Lien]-1)
    Commence par copier exactement le code fourni
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2013
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 53
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    Bonsoir,
    si tu es parti du code que je t'ai donné tu verras qu'il n'est pas le même :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     Mid(MonTexte, 1, Len(MonTexte) - 1)
     Mid([Lien],1),Len[Lien]-1)
    Commence par copier exactement le code fourni
    Bonjour,

    Je dois faire une requête mise à jour ou une fonction dans un module?
    Je n'ai pas le choix de MonTexte et il se trouve dans le champ Lien de ma table.
    Pour moi le MonTexte n'est pas figé et peut varié sur les 600 000 ligne de la table, par contre je doit supprimer le dernier caractère du lien pour le personnaliser par la suite.
    Ce que je ne comprends pas c'est que la requête MAJ définie au début pour supprimer le # fonctionne bien avec le champ Lien.
    Merci beaucoup.
    ACN

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

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Bonsoir,
    ce que je voulais te faire comprendre c'est que tu as mal copié la syntaxe, il y a une parenthèse manquante devant Len et une mal placée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     Mid(MonTexte, 1, Len(MonTexte) - 1)
     Mid([Lien],1),Len[Lien]-1)
    il faut bien évidemment copier le code exact syntaxiquement
    voici le code pour ta mise à jour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE [MARIAGES] SET [MARIAGES].Lien =  Mid(Lien, 1, Len(Lien) - 1) WHERE Lien is not Null;
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2013
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 53
    Points : 33
    Points
    33
    Par défaut
    Bonjour,

    Merci de votre réponse.
    Cela fonctionne.
    Problème résolu.

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

Discussions similaires

  1. Liste modifiable avec lien hypertexte
    Par Jacques-Henri dans le forum IHM
    Réponses: 2
    Dernier message: 01/04/2008, 22h11
  2. [VBA-E] Envoi d'un mail depuis Excel avec lien hypertexte
    Par SlySylvain dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/05/2007, 17h54
  3. Cellule avec lien hypertexte
    Par furvain dans le forum Excel
    Réponses: 1
    Dernier message: 09/05/2007, 20h00
  4. charger un xml avec liens hypertextes
    Par lecirederf dans le forum Flash
    Réponses: 12
    Dernier message: 23/10/2006, 15h03
  5. PB export date et lien hypertexte d'access à excel
    Par Celia1303 dans le forum Access
    Réponses: 2
    Dernier message: 05/10/2005, 17h09

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