Bonjour,

Toujours dans mon projet d'interfacer access et postgre, j'ai un petit problème ( comme toujours).

Mon but est d'utiliser un objet recordset, provenant d'une table postre, comme source d'un formulaire.

Dans un premier temps j'ai utilisé le gestionnaire de tables liées pour créer une liaison. Pas de problème l'opération s'effectue correctement et j'arrive à utiliser cette table dans un formulaire sans aucun problème : ajout,suppression, modifiation d 'enregistrements.

Pour économiser du traffic réseau , j'ai essayé de créer un recordset à partir de la même table. C'est là que les ennuis commencent...

LE code que j'ai utilisé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
Dim Req As String
Dim cnx As New ADODB.Connection
Dim rs As New ADODB.Recordset
cnx.ConnectionString = "DRIVER={PostgreSQL};SERVER=auto30;port=5432;DATABASE=MaBase;UID=postgre;PWD=motdepasse;"
Req = "select * from clients;"
cnx.Open
rs.Open Req, cnx, adOpenStatic, adLockOptimistic
Set Me.Recordset = rs
rs.Close
cnx.Close
Cela fonctionne avec un curseur de type Static, mais si j'utilise adopendynamic, cela coince au niveau : set me.recordset = rs.

pourtant en essayant de savoir si ce type de curseur était géré j'ai obtenu je résultat ci-dessous
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
ForwardOnly cursor supports:
   AddNew
   Delete
   Find
   Notifications
   Update
   batch updating
Keyset cursor supports:
   AddNew
   Bookmark
   Delete
   Find
   Holding Records
   MovePrevious and Move
   Notifications
   Resyncing data
   Update
   batch updating
Dynamic cursor supports:
   AddNew
   Delete
   Find
   MovePrevious and Move
   Notifications
   Update
   batch updating
Static cursor supports:
   AddNew
   Bookmark
   Delete
   Find
   Holding Records
   MovePrevious and Move
   Notifications
   Update
   batch updating
Cela devrait fonctionner....
d'ou mon interrogation, ou est-ce que j'ai fait une boulette?