Vb Erreur '3667'
fabche
Messages postés
30
Date d'inscription
Statut
Membre
Dernière intervention
-
fabche Messages postés 30 Date d'inscription Statut Membre Dernière intervention -
fabche Messages postés 30 Date d'inscription Statut Membre Dernière intervention -
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
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:
- Vb Erreur '3667'
- Vb - Télécharger - Langages
- Erreur 0x80070643 - Accueil - Windows
- Iptv erreur de lecture - Forum TV & Vidéo
- J'aime par erreur facebook notification - Forum Facebook
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
6 réponses
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
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
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
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
ç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 :
Dans ta partie :
tu ne fais pas de requêtes supplémentaires ?
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 ?
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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)
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)