Bonjour,
J'essaie d'accéder a une table DB2 qui se trouve sur le mainframe via le code VB dans access et ça ne veut pas fonctionner
voici mon code:
Access plante sur la derniere instruction et me donne une erreur d'execution 3078 qui dit qu'il ne peut pas trouver la table ou la requête source "sens.personne". Lors de mes premiers essais, j'avais une autre erreur car je n'avais pas entouré le nom de la table avec les balises [ ] et accesss essayait d'ouvrir la db c:\documents&settings\...\sens.mdb car il considerait le shema "sens" de ma table comme une DB. J'ai trouvé le workaround [ ] sur le site de microsoft, malheureusement ça me donne l'erreur 3078 et là je ne trouve plus de solution.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Dim ws As Workspace Dim DB2 As Database Dim str As String Dim strSQL As String Dim rs As Recordset Let str = "ODBC;DSN=DB2XMVS;UID=monuser;PWD=monMDP;" Set ws = DBEngine.Workspaces(0) Set DB2 = ws.OpenDatabase("", False, False, str) strSQL = "SELECT TE_NOM, TE_PRENOM FROM [sens.personne] WHERE NO_MATR='28407100690'" Set rs = DB2.OpenRecordset(strSQL, dbOpenSnapshot)
Je précise que je suis sous access 2007 et que je suis sûr et certain de ma connectivité ODBC etant donné que j'ai créé une requête directe en lui donnant le même connection string "ODBC;DSN=DB2XMVS;UID=monuser;PWD=monMDP;" et celle-ci passe sans probleme, je reçois bien les données venant du mainframe dans access...
Si quelqun a une quelconque alternative pour récupérer les données externes (ODBC) a partir du code VB, je suis preneur.(je cherche depuis 8H00 ce matin je crois que je vais à présent attendre une réponse de votre part)
Merci d'avance pour votre aide
Thomas
Partager