Dalla tua spiegazione indirettamente ho risolto.
Cerco di spiegare:
Di solito per vedere la stringa di connessione andavo in struttura della tabella linkata 'a mano' e controllavo Descrizione.
Usavo quella come connection string, poi facevo dei refreshlink se era da correggere (passaggio da DB di produzione a test o altro).
Ma dovevo poi integrarla con altre informazioni, ad esempio utente e password.
Facendo
SELECT MsysObjects.Name AS (aperta parentesi quarda)List OF TABLES(chiusa parentesi quadra), MsysObjects.Connect, MsysObjects.Type
FROM MsysObjects WHERE ((MsysObjects.Type)=4) ORDER BY MsysObjects.Name;
Vedo invece le connections memorizzate quando lo fai 'a mano', è proprio quello che mi serve;
Se metto durante la connessione da codice come ConnectionString "ODBC;(connection letta);" funziona anche se la connection non cita la password. La password che usa è quella che è stata inserita il momento in cui ho impostato l'ODBC.
Quanto al perchè ho fatto tutto questo:
Come avete visto in un precedente post ho una connessione MYSQL che ogni tanto va giù.
Purtroppo non riesco ad evitare che vada in errore anche con l' "On error resume next".
Ho un polling che ogni tanto va a caricare dei dati da un DB su un sito, ma quando cade la connessione non basta un refreshlink.
A questo punto ho cambiato strategia, creo il 'link' al volo un attimo prima di interrogare il DB.
Il problema è che con le Connection String che provavo ero costretto a uscire dall'applicativo a rientrare, ma invece avevo notato che se la connessione la generavo 'a mano', veniva creata regolarmente.
Quindi ora la creo semplicemente citando come connection "ODBC;DSN=NomeDellOdbc;" (attenzione ci vuole il ; finale) e il gioco e fatto.
Grazie