Rimuovere hyperlink da stringa di testo

di il
3 risposte

Rimuovere hyperlink da stringa di testo

Buongiorno,

ho alcuni campi che contengono delle  stringhe di collegamento a files o cartelle di rete. Alcune di queste stringhe hanno anche il collegamento ipertestuale e vorrei eliminarlo, mantenendo solamente la stringa di collegamento.

I campi sono impostati come Collegamento Ipertestuale e li vado a compilare nelle forms usando il FilePicker o il FolderPicker, il problema l'ho riscontrato solo su vecchi records importati da altro db (i piu' recenti inseriti con il metodo indicato non hanno il collegamento ipertestuale).

C'e' un metodo in VBA o con una query di aggiornamento per poterlo fare massivamente? 

Grazie in anticipo

3 Risposte

  • Re: Rimuovere hyperlink da stringa di testo

    Quì trovi un po di spiegazioni:

    http://www.allenbrowne.com/casu-09.html

    Per rimuovere il campo HyperLink conviene creare un Nuovo Campo di tipo Testo, ed eseguire una Query UPDATE che strippa dal contenuto del campo HyperLink, la parte dei Caratteri #...# ed eventuali Label... e scrive nel campo testo il contenuto Netto del Percorso. 

  • Re: Rimuovere hyperlink da stringa di testo

    Perfetto, grazie @Alex come sempre un fonte inesauribile di conoscenza.

    A beneficio di che ne avesse bisogno, riporto di seguito la soluzione adottata seguendo il tuo suggerimento: ho creato un nuovo campo memo in tabella (non sia mai che il percorso e' piu' lungo di 255 caratteri),  poi con una query UPDATE ho inserito la seguente funzione che taglia il percorso fra gli hastag dell'HyperLink :

    Mid$([myHyperlink];(InStr(1;[myHyperlink];"#")+1);(InStr((InStr(1;[myHyperlink];"#")+1);[myHyperlink];"#"))-(InStr(1;[myHyperlink];"#")+1))

    Ho poi aggiornato il campo Hyperlink con i nuovi valori ottenendo il risultato voluto.

    Grazie

    P.S. La funzione e' presa da un Tuo post, l'ho adattata alle mie esigenze 

    https://www.iprogrammatori.it/forum-programmazione/access/access-2007-estrarre-parte-una-stringa-t24183.html

  • Re: Rimuovere hyperlink da stringa di testo

    Ciao,

    volendo potrebbe essere ancora più semplice e intuitivo...

    UPDATE YourTable SET myHyperlink= HyperlinkPart([myHyperlink], 2) WHERE myHyperlinkIS NOT NULL AND myHyperlink <> "";

    Dove HyperlinkPart([myHyperlink], 2)  restituisce l'indirizzo (address), con parametro = 2, del collegamento ipertestuale 
    altrimenti HyperlinkPart può restituire:

    NameValueDescription
    acAddress2The address part of a Hyperlink field.
    acDisplayedValue0The underlined text displayed in a hyperlink.
    acDisplayText1The displaytext part of a Hyperlink field.
    acFullAddress5The address and subaddress parts of a Hyperlink field, delimited by a "#" character.
    acScreenTip4The tooltip part of a Hyperlink field.
    acSubAddress3The subaddress part of a Hyperlink field.


    e nella where condition un minimo di controllo che non sia null o vuoto (i controlli sono sempre utili e necessari)

    Vedere:
    https://learn.microsoft.com/en-us/office/vba/api/access.application.hyperlinkpart
    https://learn.microsoft.com/en-us/office/vba/api/access.achyperlinkpart

Devi accedere o registrarti per scrivere nel forum
3 risposte