par , 14/09/2021 à 19h44 (1413 Affichages)
Tout a commencé par une banale connexion à une base SQL SERVER pour faire des requêtes. J'avais donc déclaré une chaîne de connexion comme suit :
Public Const ADODB_STRINGCNX = "Driver={SQL Server};SERVER=LeServer;DATABASE=LaBDD;Trusted_Connection=Yes;"
Ensuite j'ai créé une fonction pour lier les tables SQL Server avec bien sûr la commande DoCmd.TransferDatabase et toujours la même chaîne de connexion ADODB_STRINGCNX. Et c'est là que mon désarroi a commencé avec la fameuse erreur ISAM
J'ai déclaré des chaines de connexion avec tous les drivers possibles mais sans succès
- Provider=sqloledb
- DRIVER={SQL Server Native Client 11.0}
- DRIVER={ODBC Driver 17 for SQL Server}
- Driver={SQL Server}
Alors en désespoir de cause, j'ai décidé de rajouter ODBC dans la chaîne de connexion uniquement pour DoCmd.TransferDatabase donc comme suit:
Public Const ADODB_STRINGCNX = "Driver=ODBC;{SQL Server};SERVER=LeServer;DATABASE=LaBDD;Trusted_Connection=Yes;"
Et là, les portes du Valhalla se sont ouvertes car l'erreur ISAM avait disparue !
Et n'oubliez jamais...Bonjour chez vous