Erreur '3704'
mohalesage
Messages postés
147
Date d'inscription
Statut
Membre
Dernière intervention
-
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
Bonjour les Amis
Je viens vers vous pour vous demander de l'aide. Je travaille sur une application en VB6
Ma BD est placée en Access 2007
la liaison se fait par ADO
Sur mon Module , j'ai fais
Public BD as New ADODB.Connection
Public RS as New ADODB.Recordset
Public Rss as New ADODB.Recordset
Quant je presse Mon bouton de commande MODIFIER
le VB me renvoie le Message 'Erreur 3704'
Cette opération n'est pas autorisée si l'objet est fermé
J'ai beau cherché, mais sans resultat.
Merci de m'orienter vers la solution. Vraiment je me suis trouvé bloqué
Je viens vers vous pour vous demander de l'aide. Je travaille sur une application en VB6
Ma BD est placée en Access 2007
la liaison se fait par ADO
Sur mon Module , j'ai fais
Public BD as New ADODB.Connection
Public RS as New ADODB.Recordset
Public Rss as New ADODB.Recordset
Quant je presse Mon bouton de commande MODIFIER
le VB me renvoie le Message 'Erreur 3704'
Cette opération n'est pas autorisée si l'objet est fermé
J'ai beau cherché, mais sans resultat.
Merci de m'orienter vers la solution. Vraiment je me suis trouvé bloqué
A voir également:
- Erreur '3704'
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
- Java code erreur 1603 ✓ - Forum Windows
9 réponses
Bonjour l'Ami,
Suite à votre requête, mon code est comme suite :
A plus
Suite à votre requête, mon code est comme suite :
Private Sub cmdModifier_Click()
Dim VarCuQtePdt As Double
SQLs = "select * from TableReceptionFermes where (Campagne='" & CStr(lblCampagne) & "' and Societe='" & CStr(lblSociete) & "' and CodePdtR=" & CDbl(TCodePdt) & " and Fournisseur='" & CStr(TFournisseur) & "' and Magasin='" & CStr(TNMagasin) & "')"
If RS.State = adStateOpen Then RS.Close
RS.Open SQLs, DB, adOpenKeyset, adLockPessimistic
If RS![CumulQtePdtReceptionFerme] <> 0 Then
RS.MoveLast
VarCuQtePdt = RS![CumulQtePdtReceptionFerme]
Else
VarCuQtePdt = 0
End If
If VarCuQtePdt < TQuantite Then
MsgBox "Désolé, la Quantité est supérieure à celle Réceptionnée par ce Magasin et Achetée à ce Fournisseur !", vbCritical + vbMsgBoxRight, "Votre attention !"
TQuantite.SetFocus
Exit Sub
End If
RS.Close
'-------------------------------------------------
If NOrdre = TNOrdre Then
GoTo Continue:
End If
SQLs = "select * from TableTours where (Campagne='" & CStr(lblCampagne) & "' and Societe='" & CStr(lblSociete) & "')"
If Rss.State = adStateOpen Then Rss.Close
Rss.Open SQLs, DB, adOpenKeyset, adLockPessimistic
Continue:
ModifMsg = MsgBox("Êtes vous sûr de vouloir modifier ces données ?", vbQuestion + vbMsgBoxRight + vbYesNo, "Alors quoi ?")
If ModifMsg = vbYes Then
If Not lblCampagne = "" Then RS![Campagne] = lblCampagne
If Not lblSociete = "" Then RS![Societe] = lblSociete
If Not TNOrdre = "" Then RS![NOrdre] = TNOrdre
If Not TBonRetour = "" Then RS![BonRetour] = TBonRetour
If Not TDate = "" Then RS![Date] = TDate
If Not TTypePdt = "" Then RS![TypePdt] = TTypePdt
If Not TCodePdt = "" Then RS![CodePdt] = TCodePdt
If Not TProduit = "" Then RS![Produit] = TProduit
If Not TQuantite = "" Then RS![Quantite] = TQuantite
If Not TUnite = "" Then RS![Unite] = TUnite
If Not TPrix = "" Then RS![Prix] = TPrix
If Not TMontant = "" Then RS![Montant] = TMontant
If Not TNMagasin = "" Then RS![MagasinRetour] = TNMagasin
If Not TLieu = "" Then RS![Lieu] = TLieu
If Not TCodeFou = "" Then RS![CodeFou] = TCodeFou
If Not TFournisseur = "" Then RS![Fournisseur] = TFournisseur
RS.Update
RS.Close
A plus
Bonjour,
Tout a fait normale cette erreur, vous essayez de lire un recordset RS que vous avez ferme au lieu de lire celui que vous venez d'ouvrir Rss
Tout a fait normale cette erreur, vous essayez de lire un recordset RS que vous avez ferme au lieu de lire celui que vous venez d'ouvrir Rss
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
et
RS.Close
Rss.Open SQLs, DB, adOpenKeyset, adLockPessimistic
et
If Not lblCampagne = "" Then RS![Campagne] = lblCampagne
Bonjour l'Ami,
Voilà ce que j'ai essayé :
Pour enlever le RS.Close , J'ai déplacé la première condition vers
TQuantite ( évenement : LostFocus )
'------------------------------------------------------
Mais le même problème persiste encore
Sincèrement, je me suis trouvé bloqué, vraiment BLOQUE au bout du couloir
Voilà ce que j'ai essayé :
Pour enlever le RS.Close , J'ai déplacé la première condition vers
TQuantite ( évenement : LostFocus )
Private Sub TQuantite_LostFocus()
Dim VarCuQtePdt As Double
SQLs = "select * from TableReceptionFermes where (Campagne='" & CStr(lblCampagne) & "' and Societe='" & CStr(lblSociete) & "' and CodePdtR=" & CDbl(TCodePdt) & " and Fournisseur='" & CStr(TFournisseur) & "' and Magasin='" & CStr(TNMagasin) & "')"
If RS.State = adStateOpen Then RS.Close
RS.Open SQLs, DB, adOpenKeyset, adLockPessimistic
If RS![CumulQtePdtReceptionFerme] <> 0 Then
RS.MoveLast
VarCuQtePdt = RS![CumulQtePdtReceptionFerme]
Else
VarCuQtePdt = 0
End If
If VarCuQtePdt < TQuantite Then
MsgBox "Désolé, la Quantité est supérieure à celle Réceptionnée par ce Magasin et Achetée à ce Fournisseur !", vbCritical + vbMsgBoxRight, "Votre attention !"
TQuantite.SetFocus
Exit Sub
End If
end sub
'------------------------------------------------------
Private sub CmdModifier_Click()
If NOrdre = TNOrdre Then
GoTo Continue:
End If
SQLs = "select * from TableTours where (Campagne='" & CStr(lblCampagne) & "' and Societe='" & CStr(lblSociete) & "')"
If Rss.State = adStateOpen Then Rss.Close
Rss.Open SQLs, DB, adOpenKeyset, adLockPessimistic
Continue:
ModifMsg = MsgBox("Êtes vous sûr de vouloir modifier ces données ?", vbQuestion + vbMsgBoxRight + vbYesNo, "Alors quoi ?")
If ModifMsg = vbYes Then
If Not lblCampagne = "" Then RS![Campagne] = lblCampagne
If Not lblSociete = "" Then RS![Societe] = lblSociete
If Not TNOrdre = "" Then RS![NOrdre] = TNOrdre
If Not TBonRetour = "" Then RS![BonRetour] = TBonRetour
If Not TDate = "" Then RS![Date] = TDate
If Not TTypePdt = "" Then RS![TypePdt] = TTypePdt
If Not TCodePdt = "" Then RS![CodePdt] = TCodePdt
If Not TProduit = "" Then RS![Produit] = TProduit
If Not TQuantite = "" Then RS![Quantite] = TQuantite
If Not TUnite = "" Then RS![Unite] = TUnite
If Not TPrix = "" Then RS![Prix] = TPrix
If Not TMontant = "" Then RS![Montant] = TMontant
If Not TNMagasin = "" Then RS![MagasinRetour] = TNMagasin
If Not TLieu = "" Then RS![Lieu] = TLieu
If Not TCodeFou = "" Then RS![CodeFou] = TCodeFou
If Not TFournisseur = "" Then RS![Fournisseur] = TFournisseur
RS.Update
end Sub
Mais le même problème persiste encore
Sincèrement, je me suis trouvé bloqué, vraiment BLOQUE au bout du couloir