Erreur 3219 [Résolu]

VirJni 31 Messages postés jeudi 2 décembre 2004Date d'inscription 23 janvier 2006 Dernière intervention - 2 déc. 2004 à 11:59 - Dernière réponse : zeunz 201 Messages postés jeudi 26 février 2004Date d'inscription 30 juin 2008 Dernière intervention
- 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 !!!
:) @ + !!
Afficher la suite 

8 réponses

VirJni 31 Messages postés jeudi 2 décembre 2004Date d'inscription 23 janvier 2006 Dernière intervention - 2 déc. 2004 à 12:22
+1
Utile
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 !!!@ + !!
Cette réponse vous a-t-elle aidé ?  
jrivet 7401 Messages postés mercredi 23 avril 2003Date d'inscription 6 avril 2012 Dernière intervention - 2 déc. 2004 à 12:17
0
Utile
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 ;)
-----------------------------------------------------------
bjipowa 47 Messages postés mercredi 18 août 2004Date d'inscription 29 mars 2007 Dernière intervention - 31 mai 2005 à 23:51
0
Utile
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
tbbuim1 940 Messages postés jeudi 20 février 2003Date d'inscription 3 février 2011 Dernière intervention - 24 janv. 2006 à 10:42
0
Utile
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
tbbuim1 940 Messages postés jeudi 20 février 2003Date d'inscription 3 février 2011 Dernière intervention - 24 janv. 2006 à 10:59
0
Utile
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
arakna 2 Messages postés mercredi 1 mars 2006Date d'inscription 1 mars 2006 Dernière intervention - 1 mars 2006 à 10:05
0
Utile
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 !
arakna 2 Messages postés mercredi 1 mars 2006Date d'inscription 1 mars 2006 Dernière intervention - 1 mars 2006 à 12:17
0
Utile
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 !
zeunz 201 Messages postés jeudi 26 février 2004Date d'inscription 30 juin 2008 Dernière intervention - 4 mai 2006 à 10:28
0
Utile
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.