Quindi
codice:
CampiRecord.cls

'----- ( Proprietà : Campi ) --------
Public Campi As New Collection
'----------------------------------

Gestione.cls

'-------( Funzione : InserisciWeb ) ----------------------------------------
Friend Function InserisciWeb(tabella As String, mySinc As Variant) as Boolean
    On Error GoTo errore
    '---------- Dichiarazione locale --
    Dim k() As CampiRecord
    Dim ks As ADODB.Recordset
    Dim l_indice As Integer
    Dim c_index As Integer
    Dim l_tempCampo As CampiRecord
    '----------------------------------
   Dim a As String
    '--------- Inizializazione --
    k = mySinc
    'Ovviamente apri_tabella è sempre un metodo a cui basso la query.....
    Set ks = Me.apri_tabella("select * from " & tabella, adOpenStatic, adLockOptimistic)
    
    For l_indice = 0 To UBound(k)
        ks.AddNew
         c_index = 0
         For Each l_tempCampo In k(l_indice).Campi 'Qui da l'errore "Variabile oggetto o variabile del blocco With non impostata" anche se su ubound mi da 9 mhaaaaa potevo capire che era vuota o non inizializzata ma è piena cavolo!!!
            If (c_index <> 0) Then ks.Fields(c_index) = IIf(l_tempCampo = "", Null, l_tempCampo)
            c_index = c_index + 1
         Next
    Next l_indice
    ks.Update
    ks.Close
    Set l_tempCampo = Nothing
    Set l_rs = Nothing
    '------------------------------
    Exit Function
errore:
    MsgBox "Errore : " & vbCrLf & Err.Description, vbCritical
End Function

'---------------------------------------
'Questa è la classe di supporto per tutte le altre e qui c'è la funzione che non va, cmq sto incominciando a pensare che sia il mySql il problema anche se logicamente al momento dell'errore non centra niente il DB, possiamo cmq escludere che il problema sia la conversione da variant in CampiRecord xchè lo faccio in altri 200 metodi e li mi scorre tranquillamente ovunque quindi non riesco a capire!!!