Cita: Las variables siguen teniendo el valor nulo que no null y me sigue dando error pero si la variable la sustituyo por los valores null
Es posible que Access trabaje con DBNull y no con Null. Fíjate bien (Visual Basic.Net opera con este tipo de dato cuando se trata de valores provenientes de la base), pero en cualquier caso lo que debes hacer es reemplazar el contenido de esa variable por NULL en la cadena creada.