OVH Cloud OVH Cloud

Type de recordset et erreur a l'ouverture

10 réponses
Avatar
laurent M.
Bjr

1. je commence a vouloir developper de petits modules en
vba et j'ai bien la library "microsoft 3.6 dao" installee

l'objet recordset (son type ?) me pose qlq soucis...

2. j'ai une table "Table" et j'ai ecrit le code suivant :


Sub toto()

Dim applic As Database
Dim enreg As Recordset
'
Set applic = CurrentDb()
Set enreg = applic.OpenRecordset("Table", dbOpenTable)
.
.
.
.
End sub ()


la 4e ligne me renvoie un message erreur 13 - type non
coherent

merci de vos lumlieres

10 réponses

Avatar
Anor
Bonjour laurent M.

écris comme ceci pour voir :

Dim applic As dao.Database
Dim enreg As dao.Recordset

--
à+
Arnaud
--------------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
Access Memorandum - http://memoaccess.free.fr
--------------------------------------------------
laurent M. a confié :
| Bjr
|
| 1. je commence a vouloir developper de petits modules en
| vba et j'ai bien la library "microsoft 3.6 dao" installee
|
| l'objet recordset (son type ?) me pose qlq soucis...
|
| 2. j'ai une table "Table" et j'ai ecrit le code suivant :
|
|
| Sub toto()
|
| Dim applic As Database
| Dim enreg As Recordset
| '
| Set applic = CurrentDb()
| Set enreg = applic.OpenRecordset("Table", dbOpenTable)
| .
| .
| .
| .
| End sub ()
|
|
| la 4e ligne me renvoie un message erreur 13 - type non
| coherent
|
| merci de vos lumlieres
Avatar
Raymond
Bonjour.

modifie comme ceci:

Dim applic As dao.Database
Dim enreg As dao.Recordset
Set applic = CurrentDb()
Set enreg = applic.OpenRecordset("Table1", dbOpenTable)
.......
n'oublie pas à la fin de mettre:
enreg.Close
Set enreg = Nothing
Set applic = Nothing
pour fermer ton recordset et libérer tes objets de la mémoire.

dbOpenTable est facultatif.
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"laurent M." a écrit dans le message de
news:015401c37a9c$a62b0570$
Bjr

1. je commence a vouloir developper de petits modules en
vba et j'ai bien la library "microsoft 3.6 dao" installee

l'objet recordset (son type ?) me pose qlq soucis...

2. j'ai une table "Table" et j'ai ecrit le code suivant :


Sub toto()

Dim applic As Database
Dim enreg As Recordset
'
Set applic = CurrentDb()
Set enreg = applic.OpenRecordset("Table", dbOpenTable)
.
.
.
.
End sub ()


la 4e ligne me renvoie un message erreur 13 - type non
coherent

merci de vos lumlieres



Avatar
Anor
Bonjour Raymond

Raymond a confié :

| dbOpenTable est facultatif.

oui et d'ailleurs, si quelqu'un pouvait m'expliquer _simplement_
quelle intérêt possède cette méthode par rapport à
DbOpenDynaset ou DbOpenSnapshot,
outre le fait de ne pas fonctionner sur les
tables attachées, je lui en serais reconnaissant ;-)

en clair dans le cas courant sans connection odbc ni autre truc tordu,
qu'est-ce ce paramètre apporte puisque optionnel ?

L'aide en ligne est assez opaque sur ce sujet.

merci et à+
--
Arnaud
--------------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
Access Memorandum - http://memoaccess.free.fr
--------------------------------------------------
Avatar
Pierre CFI
ah, anor, je me lasse pas d'admirer ton site Access Memorandum - http://memoaccess.free.fr
, ton cv.....
çà gaze ?

--
Pierre CFI
MVP Microsoft Access

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
Avatar
Raymond
Bonjour Arnaud.

Le seul avantage que j'y vois, mais léger comme avantage:
Dans le cas d'objets Recordset de type Table figurant dans les bases de
données Microsoft Jet, la source ne peut être qu'un nom de table. Ce qui
veut dire que si tu indiques un nom de requête avec dbOpenTable, tu as tout
faux à l'exécution. Léger hein ?

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Anor" a écrit dans le message de
news:ewN%
Bonjour Raymond

Raymond a confié :

| dbOpenTable est facultatif.

oui et d'ailleurs, si quelqu'un pouvait m'expliquer _simplement_
quelle intérêt possède cette méthode par rapport à
DbOpenDynaset ou DbOpenSnapshot,
outre le fait de ne pas fonctionner sur les
tables attachées, je lui en serais reconnaissant ;-)

en clair dans le cas courant sans connection odbc ni autre truc tordu,
qu'est-ce ce paramètre apporte puisque optionnel ?

L'aide en ligne est assez opaque sur ce sujet.



Avatar
laurent M.
merci bcp !!!
quelle reactivite !!!

-----Message d'origine-----
Bonjour.

modifie comme ceci:

Dim applic As dao.Database
Dim enreg As dao.Recordset
Set applic = CurrentDb()
Set enreg = applic.OpenRecordset("Table1", dbOpenTable)
........
n'oublie pas à la fin de mettre:
enreg.Close
Set enreg = Nothing
Set applic = Nothing
pour fermer ton recordset et libérer tes objets de la
mémoire.


dbOpenTable est facultatif.
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"laurent M." a écrit dans le message de
news:015401c37a9c$a62b0570$
Bjr

1. je commence a vouloir developper de petits modules en
vba et j'ai bien la library "microsoft 3.6 dao"
installee



l'objet recordset (son type ?) me pose qlq soucis...

2. j'ai une table "Table" et j'ai ecrit le code
suivant :




Sub toto()

Dim applic As Database
Dim enreg As Recordset
'
Set applic = CurrentDb()
Set enreg = applic.OpenRecordset("Table", dbOpenTable)
.
.
.
.
End sub ()


la 4e ligne me renvoie un message erreur 13 - type non
coherent

merci de vos lumlieres



.




Avatar
Anor
Bonjour Pierre,

Pierre CFI a confié :
| ah, anor, je me lasse pas d'admirer ton site Access Memorandum -
| http://memoaccess.free.fr ,

ah bon ?
C'est gentil ça ;-)

| ton cv.....

ah mon cv ....il est vrai que j'en suis particulièrement fier.
Notamment d'avoir eu la chance de commencer avec la caisse à clous ;-))
Il n'y a pas meilleure formation !

--
à+
Arnaud
--------------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
Access Memorandum - http://memoaccess.free.fr
--------------------------------------------------
Avatar
Anor
Bonjour Raymond

Raymond a confié :
| Bonjour Arnaud.
|
| Le seul avantage que j'y vois, mais léger comme avantage:
| Dans le cas d'objets Recordset de type Table figurant dans les bases
| de données Microsoft Jet, la source ne peut être qu'un nom de table.
| Ce qui veut dire que si tu indiques un nom de requête avec
| dbOpenTable, tu as tout faux à l'exécution. Léger hein ?

c'est déjà ça ;-)
il me semble que dbSnapshot est assez "lourd" en rapidité d'exécution
par rapport à je ne sais quelle autre méthode, mais quand il y a des inconvénients,
il y a forcément des avantages aussi ;-)

--
à+
Arnaud
--------------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
Access Memorandum - http://memoaccess.free.fr
--------------------------------------------------
Avatar
Pierre CFI
non, le dbsnapshot est + rapide mais pas modifiable

--
Pierre CFI
Microsoft MVP Access

Pour mieux utiliser microsoft.public.fr.access...
http://users.skynet.be/mpfa/charte.htm

"Anor" a écrit dans le message de news:

Bonjour Raymond

Raymond a confié :
| Bonjour Arnaud.
|
| Le seul avantage que j'y vois, mais léger comme avantage:
| Dans le cas d'objets Recordset de type Table figurant dans les bases
| de données Microsoft Jet, la source ne peut être qu'un nom de table.
| Ce qui veut dire que si tu indiques un nom de requête avec
| dbOpenTable, tu as tout faux à l'exécution. Léger hein ?

c'est déjà ça ;-)
il me semble que dbSnapshot est assez "lourd" en rapidité d'exécution
par rapport à je ne sais quelle autre méthode, mais quand il y a des
inconvénients,

il y a forcément des avantages aussi ;-)

--
à+
Arnaud
--------------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
Access Memorandum - http://memoaccess.free.fr
--------------------------------------------------




Avatar
Anor
Bonjour Pierre

Pierre CFI a confié :
| non, le dbsnapshot est + rapide mais pas modifiable
|

ah ?
1 avantage = rapidité
1 inconvénient = non modifiable
mon théorème commence à prendre forme ;-)

--
à+
Arnaud
--------------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
Access Memorandum - http://memoaccess.free.fr
--------------------------------------------------