Cosa e' s(0) ?
Perche' mai chiami la Form_Load alla fine?
Perche' usi la Replace per sostituire le virgolette semplici in doppie anche per campi come il CAP o il telefono o la partita IVA ??
Hai fatto un po' di debug? Hai visualizzato la stringa SQL poco prima dell'esecuzione della UPDATE?
In ogni caso, mi sa proprio che l'errore stia in questa riga
& "WHERE id = " & CInt(s(0))
ovvero, puo' essere che id non sia numerico nel tuo database ...