Hoña!
Si el identificador usado es numerico (o autonumerico) no deberían ponerse las comillas no? Vamos, digo yo...
Prueba con:
If IsNull(id) Then id = 0 'por ejemplo...
SQL = "SELECT * FROM preus_productes WHERE IdProducte=" & id
saludos = saludos + 1