Newsgroup: it.comp.appl.access
Titolo: Qry aggiornamento testo RTF-Normale

Ho un campo testo con Formattazione Normale il cui contenuto è pieno di codici Html dati dal controllo maschera associato.
Ora voglio ripulire il campo dai codici html e uniformare tutto (Tabella,Form, e Repports) a Formato Normale.
Ho letto da qualche parte che è possibile farlo con una query di aggiornamento...ma essendo che l'ultima qry di aggiornamento l'ho fatta 20 anni fa... :-) non ho idea di come fare... 
Help !... urgente!...  

Non ho capito... vuoi eliminare tutti i TAGS HTML dal testo...?
Non lo farei con una Query di Aggiornamento..., non lo farei... ma se devi, armati di pazienza... devi scrivere un codice che faccia il REPLACE di TUTTI i TAGS nella stringa...
Puoi realizzare una QUery di AGGIORNAMENTO ma chiama una Function che ti permette di fare DEBUG e test...!
 
UPDATE NomeTabella SET NomeCampo=ResetRTF(NomeCampo)
 
Ora scrivi una Public Function, la strutturo solo per fare in modo che se la lanci e da errore non ti faccia perdere dati:
 
Public Function ResetRTF(Optional vTextIn) As String
   Dim sText2Convert   As String
   On Error Goto ERR_HANDLER
   If Ismissing(vTextIn) Then Err.Raise 10001
   If Len(vTextIn & vbNullString)=0 then Err.Raise 10001
 
   ' Qui metti tutti i Replace nel modo che più ti piace...
   sText2Convert=REPLACE(sText2Convert,....)
   sText2Convert=REPLACE(sText2Convert,....)
 
   ResetRTF=sText2Convert   
EXIT_HERE:
   Exit Function
 
ERR_HANDLER:
   Select Case err.Number
      Case 10001:  vTextIn=vbNullstring
      Case Else  MsgBox Err.Number & " " & Err.Description
   End Select
   ResetRTF=vTextIn
End Function
 
Ciao
@Alex

Ciao Alex... non ho ben capito. Hai fatto la qry di aggiornamento ma non ti fidi del risultato? Perché hai scritto entrambe le operazioni: replace e query? Ad ogni modo.... con il replace non sono sicuro di azzeccare tutti i codici... a parte che corro sempre il rischio di eliminare qualche dato relativo al testo ... no?...

...cioè....considera che prima di lanciare la query faccio cme un backup dei dati!

>>>>  
http://www.bb2002.it
 :)  <<<<<
........... [ al lavoro ] ...........

 
 
uff... ho dimenticato il primo link che mi ha trovato:
 
https://www.devhut.net/2014/12/10/vba-remove-html-tags-from-a-string/
 



Ok scusa...ho capito adesso: è un unico blocco; ResetRTF chiama la function

Il giorno giovedì 29 agosto 2019 15:32:08 UTC+2, @Alex ha scritto:

Alex, ho provato a lanciare la Query ma mi dice 
"Funzione ResetRTF non definita nell'espressione
(sebbene sia presente la Function pubblica

 (sebbene sia presente la Function pubblica
 
In un Modulo esterno non in una Form...!
 
La Funzione che trovi al Link di Ammammata
https://www.devhut.net/2014/12/10/vba-remove-html-tags-from-a-string/
 
 
mi pare sia una buona soluzione usa RegEX e di solito funziona molto bene... Tuttavia, come tutti sanno, il set di TAGS HTML supportato dai controlli di Access è molto limitato, io non escluderei l'uso dei REPLACE specifici.
 
Il tutto a prescindere... va lanciato da TRANSAZIONE.
 
 
@Alex


La function non era nella form ma in un Modulo Esterno

 La function non era nella form ma in un Modulo Esterno
 
Prova a costruire la Query UPDATE dal QBE, e nella costruzione del valore di Update dovrebbe proporti il Nome della Funzione come suggerimento...
 
@Alex