Gomez ha scritto:
A è una tabella collegata al gestionale e quindi aggiornata con tutti i dati di alternative ai codici.
B è una tabella differente collegata al CAD con altre proprietà.
Quello che vorrei è aggiornare Bcon le alternative aggiunte da altre persone in A senza sovrascrivere gli eventuali Market123 scritti in B ma eventualmente riempire solo i campi vuoti, per evitare problemi con il CAD.
Esempio di A
Code:123
Alt1:TPS/Alt2:fst/Alt3:ght/Alt4:fgk/Alt5:null
Esempio di B iniziale
Code:123
Market1:fgk/Market2-3:null
Esempio di B dopo aggiornamento:
Code:123
Market1:fgk/Market2:TPS/Market3:ght
Si noti che i Market già presenti in B non devono essere toccati.
Non avendo una struttura normalizzata c'è poco da mordere : devi lavorare di codice VBA.
1 - devi separare il campo che contiene i Market (B) utilizzando la funzione split (carattere separatore /) ottenendo quindi un array di campi (dovrebbero essere 3)
2 - dovresti scorrere l'array ottenuto e verificare che tutti gli elementi inizino per 'Market' (da considerare le varie varianti di maiuscole/minuscole). Quelli che non cominciano per 'Market' dovrebbero essere scartati, se non rimangono campi validi hai finito
3 - devi riscorrere l'array e verificare se ci sono elementi che terminano per ':' (supponendo che il tuo concetto di null sia che non ci sono caratteri dopo il ':' ) . Se non ci sono elementi che terminano per ':' hai finito
4 - devi separare il campo che contiene le alternative (A) utilizzando la funzione split (carattere separatore /) ottenendo quindi un array di campi (dovrebbero essere 5)
5 - dovresti scorrere l'array ottenuto e verificare che tutti gli elementi inizino per 'Alt' (da considerare le varie varianti di maiuscole/minuscole). Quelli che non cominciano per 'Alt' dovrebbero essere scartati. Se non ci sono elementi validi hai finito
6 - devi riordinare l'array ottenuto per garantire che vengano inserite le alternative nell'ordine corretto
7 - scorri l'array di alternative andando ad inserire l'alternativa nel market disponibile. Lo scorrimento finisce quando non ci sono più market disponibili oppure quando hai finito le alternative
8 - riunisci nuovamente gli elementi Market in modo da formare un unico campo
9 - aggiorni la tabella B
Se non conosci VBA, lascia perdere ...