Problema con un campo formattato come Testo Lungo

di il
106 risposte

106 Risposte - Pagina 7

  • Re: Problema con un campo formattato come Testo Lungo

    La function corretta da utilizzare è la seguente .. dove vengono controllati alcuni errori di estrazione di numero di parole e contenuti dei testi con doppie spaziature ecc..ecc..

    ' RETURN A NUMBER OF WORDS
    Public Function MyRetrieveNumberWords(stringText As Variant, numberWords As Integer) As String
    Dim Words() As String
    Dim i As Integer
    Dim j As Integer
    Dim stringReturn As String
    ' check text
    If IsNull(stringText) Or Len(stringText) = 0 Then
        MyRetrieveNumberWords = ""
        Exit Function
    End If
    ' split text
    Words = Split(stringText, " ")
    ' set default function return
    stringReturn = ""
    ' word extraction
    For i = LBound(Words) To UBound(Words)
        If Len(Words(i)) > 0 Then
            stringReturn = stringReturn & Words(i) & " "
            ' check exit for
            j = j + 1
            If j = numberWords Then Exit For
        End If
    Next i
    ' set function return
    MyRetrieveNumberWords = RTrim(stringReturn)
    End Function

    Ma bisognerebbe avere almeno un pò di basi prima di fare certe cose….

    Mollo la presa perchè vedo che non c'è molto da fare, vedo anche che non hai neppure preso visione del mio post… vabbè, ognuno libero di fare quello che vuole…  ;-)

    Ciaooooo a tutti

  • Re: Problema con un campo formattato come Testo Lungo

    23/03/2024 - By65Franco ha scritto:


    Mollo la presa perchè vedo che non c'è molto da fare, vedo anche che non hai neppure preso visione del mio post… vabbè, ognuno libero di fare quello che vuole…  ;-)

    Condivido e mi associo…

  • Re: Problema con un campo formattato come Testo Lungo

    By65Franco, ti ringrazio e lo provo subito. E' il tuo primo intervento se non sbaglio. Io ho chiesto una mano per fare una cosa che mi interessava, e me l'avete data. Se fossi stato un esperto non l'avrei chiesta, le basi… ma pensando come te uno cosa fa?

    Comunque grazie, ciao.

  • Re: Problema con un campo formattato come Testo Lungo

    Un'ultima cosa: io vi ho fatto sapere di avere risolto (proprio poco fa) grazie all'aiuto di alcuni di voi. Ringrazio ancora tutti per la pazienza, certo però che fate venire paura di intervenire per chiedere una mano.

    buona serata e buon week end.

  • Re: Problema con un campo formattato come Testo Lungo

    Personalmente sono contento che tu abbia risolto. Considera che il problema non era affatto semplice/scontato e ognuno degli utenti corsi in aiuto ci ha messo del proprio. Il mio codice VBA l'ho costruito su due piedi e (come dimostrato) non contemplava alcuni casi “specifici”. By65Franco è stato esaustivo da tutti i punti di vista, lo screenshot con le frecce spiega esattamente come funzionano le “query con function”. Poi si tratta di cogliere il significato di ogni passaggio, variabile, oggetto ecc… 
    Fossi io a gestire tutto il tuo scenario, avrei optato inizialmente per un semplice Trova/Sostituisci dentro il campo Soggetti (Trova 2 spazi / Sostituisci 1 spazio), poi applicato il mio più semplice codice.
    In aggiunta a quanto spiegato nei vari post, ti consiglio di leggere anche questo mio documento…descritto con parole povere e spero il più comprensibile possibile
    Function per query.docx

  • Re: Problema con un campo formattato come Testo Lungo

    23/03/2024 - Barsyk ha scritto:


    Se fossi stato un esperto non l'avrei chiesta, le basi… ma pensando come te uno cosa fa?

    Si fa una cosa molto semplice… vuoi andare in Inghilterra e parlare con le persone che incontri ? Ecco, almeno le basi della lingua, le frasi e le parole elementari vanno studiate e imparate … altrimenti con chi parli ?  

    Idem vale per la programmazione… non si nasce imparati ma per impare si deve studiare e si inizia dalle basi. Nelle basi trovi come prima cosa i tipi di variabili e come si trattano, poi il tipo di scrittura da utilizzare che si tratti di codice o di interfacce come le query o le Form ecc…, poi i tipi di cicli per l'enumerazioni con le condizioni di ingresso e di uscita dagli stessi, poi il tipo di funzioni e routine come si usano dove si usana con o senza i parametri e il tipo di parametri…. insomma più o meno ste' cose qua.  ;-))

    A questo punto dopo aver assimilato le basi (fondamentale) poi tutto il resto diventa facile da studiare e imparare, nulla è impossibile e quando si riscontra un problema ci si confronta agevolmente e spessissimo con esiti positivi. Qui soprattutto ci sono molti esperti con una buonissima preparazione che in men che non si dica si dedicano nel confronto e nel dare possibili soluzioni. (e in cambio non chiedono mai niente)  

    Penso di essere stato esaustivo nella risposta. ;-)  … fammi sapere se hai bisogno di ulteriori chiarimenti.  ;-))

    Un salutone…. ciaooo e buon lavoro

  • Re: Problema con un campo formattato come Testo Lungo

    23/03/2024 - OsvaldoLaviosa ha scritto:


    avrei optato inizialmente per un semplice Trova/Sostituisci dentro il campo Soggetti (Trova 2 spazi / Sostituisci 1 spazio), poi applicato il mio più semplice codice.

    Ciao, concordo su tutto… poi stà al richiedente apportare modifiche implementaioni ecc.ecc….

    Però nel mio ciclo, dopo lo split, si evita di leggere tutti gli spazi … che sia uno o mille spazi consecutivi non vengono letti fino a trovare dei caratteri diversi da spazio. Poi vabbè, puoi usare la function per estrapolare 1, 2, 3, 4, 5, 6, e enne parole. ;-))  (un po' più flessibile ma tutto è personalizzabile “customizable” a proprio piacimento)

    Scherzo naturalmente, le due funzioni esprimono comunque lo stesso concetto anche se con metodi diversi.

    Comunque Osvaldo …si è capito che non avevo nient'altro da fare ? ahahahahahah…. come sai ci vuole più a scrivere le documentazione che due righe di codice.

    Un carissimo saluto

    ciaooo

  • Re: Problema con un campo formattato come Testo Lungo

    23/03/2024 - oregon ha scritto:


    E magari si risolve subito, prima di arrivare ai 100 post

    Alla fine ci siamo andati molto vicini però.

  • Re: Problema con un campo formattato come Testo Lungo

    23/03/2024 - By65Franco ha scritto:


    e in cambio non chiedono mai niente)  

    Ti sbagli. Tutti imparano dalle discussioni. E la conoscenza non ha prezzo.

  • Re: Problema con un campo formattato come Testo Lungo

    23/03/2024 - Antony73 ha scritto:


    23/03/2024 - oregon ha scritto:


    E magari si risolve subito, prima di arrivare ai 100 post

    Alla fine ci siamo andati molto vicini però.

    Antony… secondo me ancora no…. ;-)

    Per esempio mi chiedo stà cosa… (sicuramente mi sbaglio perchè mi son perso qualcosa, in tal caso chiedo venia) ma perchè estrarre tre o quattro parole … non si fa prima ad estrarre con la Left() quanti caratteri si vuole ? 
    se per esempio tutto questo serve per un problema di visualizzazione avendo uno spazio limitato, sarebbe meglio stabilire che nella visualizzazione non ci stanno più di 40 carattere e quindi, senza query funzioni o altro, basta eseguire la Left(mioTesto, 40) là dove è necessario… 

    Però magari non è questo lo scopo e quindi … non saprei…. insomma , mai dire mai … ;-))

    saluti ;-)

  • Re: Problema con un campo formattato come Testo Lungo

    Buongiorno e buona domenica.

    Ringrazio ancora tutti per la pazienza e per il tempo che mi avete dedicato.

    Osvaldo, ho letto l'allegato, grazie, è molto utile.

    By65Franco, più tardi proverò anche il codice che mi hai fatto avere.

    (Così siamo arrivati a 100 post tondi tondi. :) )

  • Re: Problema con un campo formattato come Testo Lungo

    23/03/2024 - By65Franco ha scritto:


    Per esempio mi chiedo stà cosa… (sicuramente mi sbaglio perchè mi son perso qualcosa, in tal caso chiedo venia) ma perchè estrarre tre o quattro parole … non si fa prima ad estrarre con la Left() quanti caratteri si vuole ? 

    In che modo la funzione Left() da sola riesce ad estrarre delle parole distinte tenendo conto degli spazi? Alla fine il problema non è stato il metodo di estrazione, bensì il fatto che la funzione pubblica non fosse visibile all'intero progetto.

  • Re: Problema con un campo formattato come Testo Lungo

    Potresti provare anche così:

    Public Function RicercaParole(strTesto As String, intParole As Integer)
        If strTesto = "" Then Exit Function
    Dim arrParole() As String
    Dim intCiclo As Integer
        arrParole = Split(strTesto, " ")
        If intParole > UBound(arrParole) Then intParole = UBound(arrParole)
        For intCiclo = 0 To intParole
            RicercaParole = RicercaParole & IIf(RicercaParole = "", "", Chr(10)) & arrParole(intCiclo)
        Next
    End Function
  • Re: Problema con un campo formattato come Testo Lungo

    Ciao Stifone, grazie anche a te. Lo proverò - se ho tempo - oggi stesso. Buona domenica.

  • Re: Problema con un campo formattato come Testo Lungo

    24/03/2024 - Antony73 ha scritto:


    23/03/2024 - By65Franco ha scritto:


    Per esempio mi chiedo stà cosa… (sicuramente mi sbaglio perchè mi son perso qualcosa, in tal caso chiedo venia) ma perchè estrarre tre o quattro parole … non si fa prima ad estrarre con la Left() quanti caratteri si vuole ? 

    In che modo la funzione Left() da sola riesce ad estrarre delle parole distinte tenendo conto degli spazi? Alla fine il problema non è stato il metodo di estrazione, bensì il fatto che la funzione pubblica non fosse visibile all'intero progetto.

    Vabbè… capisco che alle 6.54 si possa anche non avere la massima lucidità… ma basta leggere attentamente il post dove c'è la domanda e la risposta con relativa spiegazione ed esempio… se poi bisogna fare un disegnigno … vabbè , faremo anche il disegnino.

    Ma da lì a prendere uno spezzone di frase per affermare tutto il contrario di quello che uno ha detto, questo crea solo moltissima confusione e pure fastidio se permetti.

    Pertanto se leggi in modo completo e con attenzione il post si evince molto chiaramente che mai e poi mai ho affermato che con la Left() si estraggono 4 parole …. (mah, a me sembra molto capibile e scritto in italiano) e ripeto per meglio essere chiaro,
     il post dice “40 caratteri” qualora esista un motivo per fare una cosa del genere.

    Poi se si vuole far caciare e confusione , vabbè io non ci posso fare proprio nulla, questo serve solo a creare ciò che non serve!
    E se poi ti danno così fastidio i miei post, basta non leggerli o richiedere all'amministratore di eliminarli qualora lui lo ritenga necessario. Ma da lì ad affermare il contrario di quello che uno dice, beh… ce ne corre assai!!! 

    Con questo ho chiuso, non dico altro.


    N.B   
    …(fai attenzione n.b. non è una parolaccia, serve per dire NOTA BENE)

    Leggere meglio e in modo completo… quello che hai asserito è del tutto falso e provocatorio e non serve a niente.

    23/03/2024 - By65Franco ha scritto:


    Per esempio mi chiedo stà cosa… (sicuramente mi sbaglio perchè mi son perso qualcosa, in tal caso chiedo venia) ma perchè estrarre tre o quattro parole … non si fa prima ad estrarre con la Left() quanti caratteri si vuole ? 
    se per esempio tutto questo serve per un problema di visualizzazione avendo uno spazio limitato, sarebbe meglio stabilire che nella visualizzazione non ci stanno più di 40 carattere e quindi, senza query funzioni o altro, basta eseguire la Left(mioTesto, 40) là dove è necessario…

    Son solo 4 righe di testo, se hai bisogno di uno schemino con un disegnino, beh prima di dire fesserie meglio chiedere! 

Devi accedere o registrarti per scrivere nel forum
106 risposte