Salve a tutti, detta così sembrerebbe una cosa molto più semplice di quella che passo a spiegarvi.
Vi spiego facendo presente lo scenario da cui parto e a cui vorrei arrivare.
Ho un array (che, per comodità, chiamerò PIPPO), che contiene i seguenti elementi:
Descrizione (0) = "Pippo"
Descrizione (1) = "Pluto"
Descrizione (2) = "Paperino"
e ho un recordset che, nel corso del suo ciclo, estrae le seguenti informazioni:
Elemento 0 = "Pippo"
Elemento 1 = "Pluto"
Elemento 2 = "Paperino"
Elemento 3 = "Minnie"
Ora, supponendo che io, per ogni elemento del recordset, leggo l'array (avanzando questo in modo da essere sempre allineato da una parte e dall'altra...es: Descrizione (0) <--> Elemento 0; Descrizione (1) <--> Elemento 1 ... ecc), accade che nel momento in cui leggo il quarto elemento del recordset (Elemento 3) e vado per leggere lo stesso sull'Array, visto che questo non c'è, la variabile booleana (vMancante) rimane a False e il processo di cancellazione non viene eseguito.
Il codice di cui parlo invece si comporta regolarmente se devo procedere all'eliminazione di una riga che si trova a livello intermedio.
Di seguito il codice interessanto:
Come posso ovviare?codice:1 step --> caricamento array 2 step --> query in tabella contaPos = 0 If Not RS.EOF Then Do While Not RS.EOF vMancante = False For iLocNol = contaPos To UBound(ArrayLocRigaReso) If Trim(ArrayLocRigaReso(iLocNol).Descrizione) <> Trim(Replace(RS(1), "'", "''")) Then vMancante = True Exit For Else Exit For End If Next If vMancante Then --- CANCELLA L'INFORMAZIONE-- End If contaPos = contapos + 1 RS.MoveNext Loop End IF
Ci ho sbattuto tutto il pomeriggio senza cavarne un ragno dal buco.