J’ai essaye la chose suivante :
rst_resultat.MovePrevious
QtePrecedente = rst_resultat![Quantite3]
rst_resultat.MoveNext
rst_resultat("Quantite3") = rst_resultat("Quantite1") + QtePrecedente
mais ca ne marche pas. Le probleme est sur la variable
rst_resultat![Quantite3]
. Elle n’a pas de valeur. De plus, je ne trouve pas cela tres
joli comme programmation. Alors si vous avez des conseils a me donner,
je suis preneuse.
Merci beaucoup,
J’ai essaye la chose suivante :
rst_resultat.MovePrevious
QtePrecedente = rst_resultat![Quantite3]
rst_resultat.MoveNext
rst_resultat("Quantite3") = rst_resultat("Quantite1") + QtePrecedente
mais ca ne marche pas. Le probleme est sur la variable
rst_resultat![Quantite3]
. Elle n’a pas de valeur. De plus, je ne trouve pas cela tres
joli comme programmation. Alors si vous avez des conseils a me donner,
je suis preneuse.
Merci beaucoup,
J’ai essaye la chose suivante :
rst_resultat.MovePrevious
QtePrecedente = rst_resultat![Quantite3]
rst_resultat.MoveNext
rst_resultat("Quantite3") = rst_resultat("Quantite1") + QtePrecedente
mais ca ne marche pas. Le probleme est sur la variable
rst_resultat![Quantite3]
. Elle n’a pas de valeur. De plus, je ne trouve pas cela tres
joli comme programmation. Alors si vous avez des conseils a me donner,
je suis preneuse.
Merci beaucoup,
Bonjour,
Je travaille avec un recordset avec uniquement du VBA Il y a ni
formulaire, ni requete.
Voici ci dessous la procedure ou se trouve le recorset en erreur. Il
s''agit du recordset rst_resultat. J''ai ecrit en majuscule la ligne ou
il y a l'erreur
Merci beaucoup pour votre aide,
Sub Principale()
'variable permettant de designer la table article
Dim db_art As DAO.Database
Dim rst_art As DAO.Recordset
'variable permettant de designer la table mouvement
Dim db_mvt As DAO.Database
Dim rst_mvt As DAO.Recordset
'variable permettant de designer la table resultat
Dim db_resultat As DAO.Database
Dim rst_resultat As DAO.Recordset
Dim stock_final As Double 'valeur du stock final
Dim code_article As String 'code de l'article lu dans la table article
Dim article As String 'code article lu dans la table mouvement
Dim annee As Integer 'annee extraite de la date lu dans la table
mouvement
Dim annee_souhaitee As Integer 'annee pour laquelle l'utilisateur
souhaite connaitre la valeur du stock
Dim mois As Integer 'mois extrait de la date lu dans la table mouvement
Dim mois_souhaite As Integer 'mois pour lequel l'utilisateur souhaite
connaitre la valeur du stock
Dim QtePrecedente As Double
annee_souhaitee = Saisie_Annee_Souhaitee() 'recuperation de l'annee
saisi par l'utilisateur
mois_souhaite = Saisie_Mois_Souhaite() 'recuperation du mois saisi par
l'utilisateur
'Debug.Print annee_souhaitee 'affichage de la variable annee_souhaitee
stock_final = 0 'initialisation de la valeur du stock final a 0
'ouverture et positionnement au debut de la table article
Set db_art = CurrentDb()
Set rst_art = db_art.OpenRecordset("SELECT * from dbo_article_copie")
While Not rst_art.EOF 'tant que l'on n'a pas atteint la fin de la table
'si la valeur du champ AchetPlan de la table article n'est pas un
outil
If rst_art![AchetPlan] <> "OUT" Then
code_article = rst_art![Code] 'lecture du code article de la
table dbo-article
StockIni (code_article) 'Appel de la procedure permettant de
mettre la valeur du stock initial, d'un article donne, dans la table
resultat
'Ouverture et positionnement au debut de la table mouvement
Set db_mvt = CurrentDb()
Set rst_mvt = db_mvt.OpenRecordset("SELECT * from
dbo_mouvement_copie")
'Tant que l'on n'a pas atteint la fin de la table mouvement
While Not rst_mvt.EOF
article = rst_mvt![article] 'lecture du code article dans
la table des mouvements
annee = Year(rst_mvt![Date]) 'recuperation de l'annee dans
le champ date de la table mouvement
mois = Month(rst_mvt![Date]) 'recuperation du mois dans le
champ date de la table mouvement
If ((code_article = article) And (annee = annee_souhaitee)
And (mois = mois_souhaite)) Then
If rst_mvt![TypeMvt] = "RCT-PO" Then
'Ouverture et positionnement au debut de la table
resultat
Set db_resultat = CurrentDb()
Set rst_resultat > db_resultat.OpenRecordset("SELECT * from tbl_resultat")
'Ajout du mouvement et du resultat des calculs dans
la table resultat
rst_resultat.AddNew
rst_resultat("CodeArticle") = code_article
rst_resultat("Designation") > rst_art![Description1]
rst_resultat("CodeMvt") = rst_mvt![Mouvement]
rst_resultat("TypeMvt") = rst_mvt![TypeMvt]
rst_resultat("Quantite1") = rst_mvt![QteMvt]
rst_resultat("PrixUnit1") = rst_mvt![Prix]
rst_resultat("Montant1") > rst_resultat("Quantite1") * rst_resultat("PrixUnit1")
rst_resultat.Update
'Calcul de la quantite en stock
rst_resultat.MovePrevious
'QtePrecedente = rst_resultat![Quantite3]
Debug.Print rst_mvt![Mouvement]
'BUG A LA LIGNE SUIVANTE:
Debug.Print rst_resultat![Quantite3] ' C''EST ICI
QUE CA BUG,IL DIT Run-time error 3021 No current record. Or, il y a
forcement un enregistrement car chaque article a une valeur de stock
initial qui est enregistre juste avant dans la table resultat
rst_resultat.MoveNext
rst_resultat.AddNew
rst_resultat("Quantite3") > rst_resultat("Quantite1") + QtePrecedente
rst_resultat.Update
rst_resultat.Close 'Fermeture de la table resultat
'Liberation des variables permettant de designer la
table resultat
Set rst_resultat = Nothing
Set db_resultat = Nothing
End If
End If
rst_mvt.MoveNext 'passage au mouvement suivant
Wend
rst_mvt.Close 'fermeture de la table mouvement
'Liberation des variables objets permettant de designer la
table mouvement
Set rst_mvt = Nothing
Set db_mvt = Nothing
End If
rst_art.MoveNext 'passer a l'element suivant
Wend
rst_art.Close 'fermeture de la table article
'Liberation des variables objet permettant de designer la table article
Set rst_art = Nothing
Set db_art = Nothing
End Sub
Bonjour,
Je travaille avec un recordset avec uniquement du VBA Il y a ni
formulaire, ni requete.
Voici ci dessous la procedure ou se trouve le recorset en erreur. Il
s''agit du recordset rst_resultat. J''ai ecrit en majuscule la ligne ou
il y a l'erreur
Merci beaucoup pour votre aide,
Sub Principale()
'variable permettant de designer la table article
Dim db_art As DAO.Database
Dim rst_art As DAO.Recordset
'variable permettant de designer la table mouvement
Dim db_mvt As DAO.Database
Dim rst_mvt As DAO.Recordset
'variable permettant de designer la table resultat
Dim db_resultat As DAO.Database
Dim rst_resultat As DAO.Recordset
Dim stock_final As Double 'valeur du stock final
Dim code_article As String 'code de l'article lu dans la table article
Dim article As String 'code article lu dans la table mouvement
Dim annee As Integer 'annee extraite de la date lu dans la table
mouvement
Dim annee_souhaitee As Integer 'annee pour laquelle l'utilisateur
souhaite connaitre la valeur du stock
Dim mois As Integer 'mois extrait de la date lu dans la table mouvement
Dim mois_souhaite As Integer 'mois pour lequel l'utilisateur souhaite
connaitre la valeur du stock
Dim QtePrecedente As Double
annee_souhaitee = Saisie_Annee_Souhaitee() 'recuperation de l'annee
saisi par l'utilisateur
mois_souhaite = Saisie_Mois_Souhaite() 'recuperation du mois saisi par
l'utilisateur
'Debug.Print annee_souhaitee 'affichage de la variable annee_souhaitee
stock_final = 0 'initialisation de la valeur du stock final a 0
'ouverture et positionnement au debut de la table article
Set db_art = CurrentDb()
Set rst_art = db_art.OpenRecordset("SELECT * from dbo_article_copie")
While Not rst_art.EOF 'tant que l'on n'a pas atteint la fin de la table
'si la valeur du champ AchetPlan de la table article n'est pas un
outil
If rst_art![AchetPlan] <> "OUT" Then
code_article = rst_art![Code] 'lecture du code article de la
table dbo-article
StockIni (code_article) 'Appel de la procedure permettant de
mettre la valeur du stock initial, d'un article donne, dans la table
resultat
'Ouverture et positionnement au debut de la table mouvement
Set db_mvt = CurrentDb()
Set rst_mvt = db_mvt.OpenRecordset("SELECT * from
dbo_mouvement_copie")
'Tant que l'on n'a pas atteint la fin de la table mouvement
While Not rst_mvt.EOF
article = rst_mvt![article] 'lecture du code article dans
la table des mouvements
annee = Year(rst_mvt![Date]) 'recuperation de l'annee dans
le champ date de la table mouvement
mois = Month(rst_mvt![Date]) 'recuperation du mois dans le
champ date de la table mouvement
If ((code_article = article) And (annee = annee_souhaitee)
And (mois = mois_souhaite)) Then
If rst_mvt![TypeMvt] = "RCT-PO" Then
'Ouverture et positionnement au debut de la table
resultat
Set db_resultat = CurrentDb()
Set rst_resultat > db_resultat.OpenRecordset("SELECT * from tbl_resultat")
'Ajout du mouvement et du resultat des calculs dans
la table resultat
rst_resultat.AddNew
rst_resultat("CodeArticle") = code_article
rst_resultat("Designation") > rst_art![Description1]
rst_resultat("CodeMvt") = rst_mvt![Mouvement]
rst_resultat("TypeMvt") = rst_mvt![TypeMvt]
rst_resultat("Quantite1") = rst_mvt![QteMvt]
rst_resultat("PrixUnit1") = rst_mvt![Prix]
rst_resultat("Montant1") > rst_resultat("Quantite1") * rst_resultat("PrixUnit1")
rst_resultat.Update
'Calcul de la quantite en stock
rst_resultat.MovePrevious
'QtePrecedente = rst_resultat![Quantite3]
Debug.Print rst_mvt![Mouvement]
'BUG A LA LIGNE SUIVANTE:
Debug.Print rst_resultat![Quantite3] ' C''EST ICI
QUE CA BUG,IL DIT Run-time error 3021 No current record. Or, il y a
forcement un enregistrement car chaque article a une valeur de stock
initial qui est enregistre juste avant dans la table resultat
rst_resultat.MoveNext
rst_resultat.AddNew
rst_resultat("Quantite3") > rst_resultat("Quantite1") + QtePrecedente
rst_resultat.Update
rst_resultat.Close 'Fermeture de la table resultat
'Liberation des variables permettant de designer la
table resultat
Set rst_resultat = Nothing
Set db_resultat = Nothing
End If
End If
rst_mvt.MoveNext 'passage au mouvement suivant
Wend
rst_mvt.Close 'fermeture de la table mouvement
'Liberation des variables objets permettant de designer la
table mouvement
Set rst_mvt = Nothing
Set db_mvt = Nothing
End If
rst_art.MoveNext 'passer a l'element suivant
Wend
rst_art.Close 'fermeture de la table article
'Liberation des variables objet permettant de designer la table article
Set rst_art = Nothing
Set db_art = Nothing
End Sub
Bonjour,
Je travaille avec un recordset avec uniquement du VBA Il y a ni
formulaire, ni requete.
Voici ci dessous la procedure ou se trouve le recorset en erreur. Il
s''agit du recordset rst_resultat. J''ai ecrit en majuscule la ligne ou
il y a l'erreur
Merci beaucoup pour votre aide,
Sub Principale()
'variable permettant de designer la table article
Dim db_art As DAO.Database
Dim rst_art As DAO.Recordset
'variable permettant de designer la table mouvement
Dim db_mvt As DAO.Database
Dim rst_mvt As DAO.Recordset
'variable permettant de designer la table resultat
Dim db_resultat As DAO.Database
Dim rst_resultat As DAO.Recordset
Dim stock_final As Double 'valeur du stock final
Dim code_article As String 'code de l'article lu dans la table article
Dim article As String 'code article lu dans la table mouvement
Dim annee As Integer 'annee extraite de la date lu dans la table
mouvement
Dim annee_souhaitee As Integer 'annee pour laquelle l'utilisateur
souhaite connaitre la valeur du stock
Dim mois As Integer 'mois extrait de la date lu dans la table mouvement
Dim mois_souhaite As Integer 'mois pour lequel l'utilisateur souhaite
connaitre la valeur du stock
Dim QtePrecedente As Double
annee_souhaitee = Saisie_Annee_Souhaitee() 'recuperation de l'annee
saisi par l'utilisateur
mois_souhaite = Saisie_Mois_Souhaite() 'recuperation du mois saisi par
l'utilisateur
'Debug.Print annee_souhaitee 'affichage de la variable annee_souhaitee
stock_final = 0 'initialisation de la valeur du stock final a 0
'ouverture et positionnement au debut de la table article
Set db_art = CurrentDb()
Set rst_art = db_art.OpenRecordset("SELECT * from dbo_article_copie")
While Not rst_art.EOF 'tant que l'on n'a pas atteint la fin de la table
'si la valeur du champ AchetPlan de la table article n'est pas un
outil
If rst_art![AchetPlan] <> "OUT" Then
code_article = rst_art![Code] 'lecture du code article de la
table dbo-article
StockIni (code_article) 'Appel de la procedure permettant de
mettre la valeur du stock initial, d'un article donne, dans la table
resultat
'Ouverture et positionnement au debut de la table mouvement
Set db_mvt = CurrentDb()
Set rst_mvt = db_mvt.OpenRecordset("SELECT * from
dbo_mouvement_copie")
'Tant que l'on n'a pas atteint la fin de la table mouvement
While Not rst_mvt.EOF
article = rst_mvt![article] 'lecture du code article dans
la table des mouvements
annee = Year(rst_mvt![Date]) 'recuperation de l'annee dans
le champ date de la table mouvement
mois = Month(rst_mvt![Date]) 'recuperation du mois dans le
champ date de la table mouvement
If ((code_article = article) And (annee = annee_souhaitee)
And (mois = mois_souhaite)) Then
If rst_mvt![TypeMvt] = "RCT-PO" Then
'Ouverture et positionnement au debut de la table
resultat
Set db_resultat = CurrentDb()
Set rst_resultat > db_resultat.OpenRecordset("SELECT * from tbl_resultat")
'Ajout du mouvement et du resultat des calculs dans
la table resultat
rst_resultat.AddNew
rst_resultat("CodeArticle") = code_article
rst_resultat("Designation") > rst_art![Description1]
rst_resultat("CodeMvt") = rst_mvt![Mouvement]
rst_resultat("TypeMvt") = rst_mvt![TypeMvt]
rst_resultat("Quantite1") = rst_mvt![QteMvt]
rst_resultat("PrixUnit1") = rst_mvt![Prix]
rst_resultat("Montant1") > rst_resultat("Quantite1") * rst_resultat("PrixUnit1")
rst_resultat.Update
'Calcul de la quantite en stock
rst_resultat.MovePrevious
'QtePrecedente = rst_resultat![Quantite3]
Debug.Print rst_mvt![Mouvement]
'BUG A LA LIGNE SUIVANTE:
Debug.Print rst_resultat![Quantite3] ' C''EST ICI
QUE CA BUG,IL DIT Run-time error 3021 No current record. Or, il y a
forcement un enregistrement car chaque article a une valeur de stock
initial qui est enregistre juste avant dans la table resultat
rst_resultat.MoveNext
rst_resultat.AddNew
rst_resultat("Quantite3") > rst_resultat("Quantite1") + QtePrecedente
rst_resultat.Update
rst_resultat.Close 'Fermeture de la table resultat
'Liberation des variables permettant de designer la
table resultat
Set rst_resultat = Nothing
Set db_resultat = Nothing
End If
End If
rst_mvt.MoveNext 'passage au mouvement suivant
Wend
rst_mvt.Close 'fermeture de la table mouvement
'Liberation des variables objets permettant de designer la
table mouvement
Set rst_mvt = Nothing
Set db_mvt = Nothing
End If
rst_art.MoveNext 'passer a l'element suivant
Wend
rst_art.Close 'fermeture de la table article
'Liberation des variables objet permettant de designer la table article
Set rst_art = Nothing
Set db_art = Nothing
End Sub