Vb Erreur '3667'

Fermé
fabche Messages postés 30 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 16 novembre 2010 - 29 juil. 2009 à 10:39
fabche Messages postés 30 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 16 novembre 2010 - 29 juil. 2009 à 14:34
Bonjour,

Je fait actuellement un programme sous excel en vb.
Je doit grâce a une IHM appeler différentes requêtes.

La première passe bien j'ai mon résultat, des fois la 2eme...
Mais a un moment j'ai toujours cette erreur qui s'affiche :


"Erreur d'execution '3667'"
"Une opération différente empêche l'exécution de cette opération"

Si je clique sur debogage

La ligne :
If rstCoupeT.RecordCount <> 0 Then 'si rst pieces n'est pas vide'
pose probleme


a savoir que :
Set rstCoupeT = conPubs.OpenRecordset(req, dbOpenSnapshot, dbRunAsync).


Merci de m'avoir lu et de m'apporter une réponse
A voir également:

6 réponses

Airmanbzh Messages postés 119 Date d'inscription mardi 28 juillet 2009 Statut Membre Dernière intervention 27 avril 2010 9
29 juil. 2009 à 10:50
Cette erreure est générée par un accés impossible à une même ressource.

Je te conseille de vérifier 3 choses :
Est-ce que tu utilises bien tes connexions (1 seul requete par connexion) ?
Est-ce que tu refermes bien toutes tes connexions (il faut les fermer après chaque ouverture (après traitment bien sûr :p))?
Est-ce que ta source de données est stable ou libre ?

Pour tes futures erreures (pas trop, j'espere pour toi ^^), je te conseille de te référencé à ça :
http://officesystemaccess.seneque.net/vba/codesdao.htm

c'est la liste des erreures qui peuvent être retournées par DAO.

Bonne continuation.

Cdt
0
fabche Messages postés 30 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 16 novembre 2010
29 juil. 2009 à 10:58
Merci pour cette réponse rapide et pour la liste des erreur.
Pour Tes 3 question je croi avoir fait le necessaire
Voici l'exemple d'une de mes fonction, dit moi si j'ai bien fait les chose , car je debute et je suis trés tete en l'air :S


Public Function RequeteCoupeT()

Dim wrkODBC As Workspace
Dim conPubs As Connection
Dim rstCoupeT As Recordset

Set wrkODBC = CreateWorkspace("", "admin", "", dbUseODBC)

Set conPubs = wrkODBC.OpenConnection("ma connection", , True, _
"ODBC;DSN=insql;UID=wwuser;PWD=wwuser;DATABASE=Runtime")
conPubs.QueryTimeout = 180

'''''''''''''''''''''''''''''requete''''''''''''''''''''
req=""""
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Set rstCoupeT = conPubs.OpenRecordset(req, dbOpenSnapshot, dbRunAsync)


If rstCoupeT.RecordCount <> 0 Then 'si rst pieces n'est pas vide'


Do While Not rstCoupeT.EOF 'tant qu'on ets pas a la fin de la chaine'

mes test bla bla

loop
End If


conPubs.Close
wrkODBC.Close

End Function
0
Airmanbzh Messages postés 119 Date d'inscription mardi 28 juillet 2009 Statut Membre Dernière intervention 27 avril 2010 9
29 juil. 2009 à 11:36
ça fait pas mal de temps que je n'ai pas pratiqué le vba sous excel mais il me semble qu'il faut que tu vides l'objet recordset. De cette façon :
rstCoupeT=nothing


Dans ta partie :
Do While Not rstCoupeT.EOF 'tant qu'on ets pas a la fin de la chaine' 

mes test bla bla 

loop 



tu ne fais pas de requêtes supplémentaires ?
0
fabche Messages postés 30 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 16 novembre 2010
29 juil. 2009 à 11:42
rstCoupeT=nothing
ne marche pas, enfin me produit une erreur, mais j'ai compris l'idée je vais essayer d'y faire.
Mais je ne peut pas vider mon rstCoupeT en plein test car dés que je le vide dans ma boucle , je ne peut pas continuer

Sinon je fait plein de requête supplémentaire, mais j'en commence une dés que j'ai fini et fermer l'autre
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Airmanbzh Messages postés 119 Date d'inscription mardi 28 juillet 2009 Statut Membre Dernière intervention 27 avril 2010 9
29 juil. 2009 à 13:42
C'est une fois ta boucle terminée qu'il faut vider ton rs.
Et si tu as des requêtes SQL dans ta boucle, il faut que tu instancies une nouvelle connexion (n'oublie pas de changer le nom des variables :p)
0
fabche Messages postés 30 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 16 novembre 2010
29 juil. 2009 à 14:34
Cela viendrais du petite perte de connexion, j'ai continuer avec la fonction goto error et après je peu accéder a ma requête ,puis je peut plus.

Je ne sait pas pourquoi je perd ma connexion comme sa pourtant avant chaque requête je l'ouvre et juste aprés je la ferme....
0