Erreur 3219

Résolu
VirJni Messages postés 31 Date d'inscription jeudi 2 décembre 2004 Statut Membre Dernière intervention 23 janvier 2006 - 2 déc. 2004 à 11:59
zeunz Messages postés 200 Date d'inscription jeudi 26 février 2004 Statut Membre Dernière intervention 30 juin 2008 - 4 mai 2006 à 10:28
Kikoo tout le monde !!!

J'ai un problème !!! :

Dans mon application vb, lorsque je fais un nouvel enregistrement il faut absolument que je clique sur annuler si je veux fermer mon application sans rentrer de données dans ma base de données.
Car quand je clique sur fermer, ce message s'affiche :

Erreur 3219,
L'opération demandée par l'application n'est pas autorisée dans ce contexte.

En fait depuis que j'ai rajouter rs.close dans cmdFermer ça ne fonctionne + !!!

Merci de votre aide !!!
:) @ + !!

8 réponses

VirJni Messages postés 31 Date d'inscription jeudi 2 décembre 2004 Statut Membre Dernière intervention 23 janvier 2006 3
2 déc. 2004 à 12:22
En fait je vais répondre à mon propre message !!!
Si ça peut servir pour quelqu'un par la suite...
On ne sait jamais !!!

Il fallait juste que je déclare mes recordset dans un module
(Public rs As ADODB.Recordset) et que je le modifie dans ma form
( Set rs = New ADODB.Recordset
rs.Open "nom de la table", con, adOpenStatic, adLockOptimistic )

Voila mais je veux bien que l'on m'explique ce que signifie cette erreur !

Merci de votre aide !!!@ + !!
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
2 déc. 2004 à 12:17
Salut,

Est ce que lorsque tu fait rs.close ton recordset n est pas deja ferme?

@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
1
bjipowa Messages postés 47 Date d'inscription mercredi 18 août 2004 Statut Membre Dernière intervention 29 mars 2007
31 mai 2005 à 23:51
pour ma part, j'ai le même problememais avec une base de donnée access 2000 et dans mon appli vb, j'utilise le DAO et non l'ADO.

Voil le source (la ligne posant probleme est en gras) :

' Définition base de donnée
Set db = OpenDatabase("L:\BTS\PTI\VB\FNCI\fnci.mdb")
' requete
Set Donnee = db.OpenRecordset("SELECT max(num_fnci) AS max from fnci")
' si il y a des resultats
If Donnee.RecordCount <> 0 Then
' on donne a la variable le numero de fnci trouvée et on incremente
Newnum = Donnee("max") + 1
End If
Set Donnee = db.OpenRecordset("INSERT INTO FNCI VALUES (" & Newnum & ",#" & dateS & "#, '" & description.Text & "','" & cause.Text & "', '" & nom_prenom.Text & "'," & ai & "," & af & ");")
' on libere les ressources
Set db = Nothing
Set Donnee = Nothing

En fait, l'erreur 3219 me met "Operation non valide"

Kelkun peut me répondre SVP parceque j'ai besoin de terminer mon porjet pr demain soir etla sedevient cho bouilant

Merci
0
tbbuim1 Messages postés 940 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 3 février 2011 9
24 janv. 2006 à 10:42
Je ne crois que la réponse acceptée soit la seule solution à ce problème...
C'est surement une des solutions possible, mais cette erreur peut avoir plusieurs causes.
J'ai déclaré les recordset dans un module etc, je les utilise dans tout mon projet, je les ferme soigneusement etc...
Mais j'ai cette erreur qui apparait encore eet toujours, alors j'ai essayé utiliser d'autres recordsets, ça me fait la mm erreur, que ce soit dans un module ou dans le form, j'ai la mm erreur qui revient à chaque fois!

TBBUIM
0

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

Posez votre question
tbbuim1 Messages postés 940 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 3 février 2011 9
24 janv. 2006 à 10:59
En fait, je faisais une modification sans faire de rs.update avant le rs.close
Je l'avais tout simplemernt oublié...
Du coup, "dans ce contexte", l'opération demandée par l'application ne peut pas être autorisée...
TBBUIM
0
arakna Messages postés 2 Date d'inscription mercredi 1 mars 2006 Statut Membre Dernière intervention 1 mars 2006
1 mars 2006 à 10:05
Ben je pense aussi que cette réponse ne correspond pas à tous les cas de figure.
Moi j'ai un projet Vb6 qui fonctionnait très bien... mais depuis une fausse manipulation (je n'ai pas réussi à trouver , si quelqu'un peut m'aider !!!!), problème de référence modification de code, j'obtiens cette erreur. pourtant, tout est bien initialisé et mon rs est ouvert: voici la ligne:

If AccesBD.rsContrat.State = adStateOpen Then AccesBD.rsContrat.Close

Please...help, je n'ai toujours pas trouvé d'erreur alors que je suis revenue à une ancienne version de ma classe contrat....

au travail !
0
arakna Messages postés 2 Date d'inscription mercredi 1 mars 2006 Statut Membre Dernière intervention 1 mars 2006
1 mars 2006 à 12:17
Trouvé!!!! en fait la ressource rsContrat était bloquée à cause de cette instruction:

AccesBD.rsContrat![DATE_FIN_CONTRAT] = "00:00:00"

il ne mettait pas l'erreur à l'exécution de l'instruction, mais c'est à partir de ce point précis que ça ne fonctionnait plus... et tout fonctionne très bien depuis que je l'ai enlevée.. (il y a surement une histoire due au mois particulier de février.... qui fait que ça a marché jusqu'à aujourd'hui!)

au travail !
0
zeunz Messages postés 200 Date d'inscription jeudi 26 février 2004 Statut Membre Dernière intervention 30 juin 2008
4 mai 2006 à 10:28
slt a tous,

j'ai egalement eu ce probleme: << Erreur 3219,
L'opération demandée par l'application n'est pas autorisée dans ce contexte.
>>

et cela me causait une erreur ds ma modification d'enregistrement de la BD. j'ai dc, au cas ou, prevu une gestion d'erreur ds mon programme (on error goto Erreur). et c'est ds cette gestion d'erreur que ca bloquait: la recordset (nommee RS) ne voulais pas fermee et dc le prog buggait...(RS.close). en fait il buggait car mes enregistrements de la base etaient modifiés et la table ne voulait pas se fermer sans avoir fait une mise a jour. il faut dc (si ANNULATION des mise a jour bien sur) annuler la mises ajour avant de fermer la table. je ne sais pas si je me suis fais bien comprendre dc j'ai mis un ptit bout de code afin de voir au mieux

'Traitement des erreurs
Erreur:

'Fermeture de la table
If RS.State = adStateOpen Then
'Annulation de la mise à jour
RS.CancelUpdate 'voici le code a rajouter ds votre en cas
'd'annulation de MAJ
'Fermeture de la table
RS.Close
end if

bonne prog a tous.

zeunz
0
Rejoignez-nous