Ordinare una stringa con orari e attività

di il
6 risposte

Ordinare una stringa con orari e attività

Ho un campo stringa cosi' compilato

15:30-17:00 attività controllo, 17:45-19:15 compilazione, 12:30-15:00 Accertamenti in carico

come delimitatore ho una virgola, vorrei ordinare gli orari con la relativa attività, quindi ottenere questo risultato

12:30-15:00 Accertamenti in carico, 15:30-17:00 attività controllo, 17:45-19:15 compilazione

qualche idea? purtroppo il campo mi arriva già cosi' da un database esterno

6 Risposte

  • Re: Ordinare una stringa con orari e attività

    Devi creare una routine con il codice che faccia quello che chiedi.

  • Re: Ordinare una stringa con orari e attività

    Hai già una struttura che può essere maniplata, MsAccess espone in modo nascosto una Libreria WizHook che fa diverse cose… tra queste il SORT di un Array.

    Trovi quì l'esempio (cerca nella pagina “SortStringArray”):

    https://isladogs.co.uk/wizhook/

    Ovviamente devi passare alla funzione un'array che otterrai prendendo la tua stringa ed effettuando lo SPLIT su carattere separatore “,”

    Sonon 2 righe… in questa procedura non è nemmeno necessario inizializzare il WizHook… (nel caso mi sbagliassi va aggiunta la prima riga commentata)

    Dim astrFields() As String
    ' WizHook.Key = 51488399 		/	# teoricamente da non usare #	/
    astrFields = Split(TuaStringa, ", ")
    WizHook.SortStringArray astrFields

    Nell'array in uscita hai tutto ordinato.

  • Re: Ordinare una stringa con orari e attività

    Grandioso!

  • Re: Ordinare una stringa con orari e attività

    La faccio più difficile:

    “16:30-19:20 accertamenti , ctrl territorio, 13:45-15:40 accertamenti , ctrl territorio”

    lo split deve essere non sulla virgola, aime' ma sullo 0, 1 oppure 2 (il primo carattere dell'ora in poche parole) ma questi caratteri non devono essere piallati 

    purtroppo ho visto ora che nella stringa ci sono delle virgole che non discriminano lo split

    grazie ancora

  • Re: Ordinare una stringa con orari e attività

    Vista la attuale richiesta, completamente difforme dalla precedente che probabilmente era oggetto di una frettolosa analisi, ti tocca sviluppare da VBA del codice dedicato… nulla di complesso ma sicuramente un livello più complesso.

    Spezzi la stringa in modo adeguato e per ogni Item dell'array vai a trovare il punto opportuno di riconoscimento… che mi pare sia variabile…

  • Re: Ordinare una stringa con orari e attività

    Grazie, speravo ci fosse una strada piu' immediata, del tipo splitto ma aggiungo comunque il carattere splittato

    gentilissimo, come sempre

Devi accedere o registrarti per scrivere nel forum
6 risposte