Comment on fait pour passer en parametre dans une procedure une
variable Recordset?
Merci beaucoup,
Comment on fait pour passer en parametre dans une procedure une
variable Recordset?
Merci beaucoup,
Comment on fait pour passer en parametre dans une procedure une
variable Recordset?
Merci beaucoup,
Bonjour,
C’est bon, ca marche. Merci beaucoup pour les explications. Par
contre, lors de l’appel de la fonction, je suis obligee de mettre
une variable (l’appel est comme ceux-ci : resultat > Mvt_RCT_PO(code_article, rst_art, rst_mvt)) alors que je ne veux rien
recupere mais sinon, il ne veut pas compiler. J’ai donc essaye de
definir la fonction comme une procedure. C’est a dire:
SubMvt_RCT_PO(code_article As String, rst_art As DAO.Recordset,
rst_mvt As DAO.Recordset)
Et j’ai defini l’appel de la procedure de la maniere
suivante:
Mvt_RCT_PO(code_article, rst_art, rst_mvt)
Mais ca ne marche pas. Il dit qu’il y a une erreur sur la ligne
d’appel de la procedure.
Saivez vous pourquoi, je ne peux pas definir la fonction comme une
procedure ?
Merci beaucoup,
Bonjour,
C’est bon, ca marche. Merci beaucoup pour les explications. Par
contre, lors de l’appel de la fonction, je suis obligee de mettre
une variable (l’appel est comme ceux-ci : resultat > Mvt_RCT_PO(code_article, rst_art, rst_mvt)) alors que je ne veux rien
recupere mais sinon, il ne veut pas compiler. J’ai donc essaye de
definir la fonction comme une procedure. C’est a dire:
SubMvt_RCT_PO(code_article As String, rst_art As DAO.Recordset,
rst_mvt As DAO.Recordset)
Et j’ai defini l’appel de la procedure de la maniere
suivante:
Mvt_RCT_PO(code_article, rst_art, rst_mvt)
Mais ca ne marche pas. Il dit qu’il y a une erreur sur la ligne
d’appel de la procedure.
Saivez vous pourquoi, je ne peux pas definir la fonction comme une
procedure ?
Merci beaucoup,
Bonjour,
C’est bon, ca marche. Merci beaucoup pour les explications. Par
contre, lors de l’appel de la fonction, je suis obligee de mettre
une variable (l’appel est comme ceux-ci : resultat > Mvt_RCT_PO(code_article, rst_art, rst_mvt)) alors que je ne veux rien
recupere mais sinon, il ne veut pas compiler. J’ai donc essaye de
definir la fonction comme une procedure. C’est a dire:
SubMvt_RCT_PO(code_article As String, rst_art As DAO.Recordset,
rst_mvt As DAO.Recordset)
Et j’ai defini l’appel de la procedure de la maniere
suivante:
Mvt_RCT_PO(code_article, rst_art, rst_mvt)
Mais ca ne marche pas. Il dit qu’il y a une erreur sur la ligne
d’appel de la procedure.
Saivez vous pourquoi, je ne peux pas definir la fonction comme une
procedure ?
Merci beaucoup,
Bonjour,
Je vais vous paraitre un peu bete mais je ne vois pas quelles
parentheses je dois enlever? car meme si je fais une procedure, je dois
quand meme passer les variables en argument?
Merci beaucoup,
Bonjour,
Je vais vous paraitre un peu bete mais je ne vois pas quelles
parentheses je dois enlever? car meme si je fais une procedure, je dois
quand meme passer les variables en argument?
Merci beaucoup,
Bonjour,
Je vais vous paraitre un peu bete mais je ne vois pas quelles
parentheses je dois enlever? car meme si je fais une procedure, je dois
quand meme passer les variables en argument?
Merci beaucoup,
Bonjour,
C’est parfait, ca marche. Merci beaucoup.
Par contre, je n’arrive pas a lire un champ de
l’enregistrement precedent. J’ai essaye la fonction
MovePrevious et FindPrevious mais ca ne marche pas.
Savez vous d’ou ca vient ?
Merci beaucoup,
Voici ci dessous la procedure :
Sub Mvt_RCT_PO(code_article As String, rst_art As DAO.Recordset,
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 QtePrecedente As Double
'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
Debug.Print rst_mvt![Mouvement]
‘’C’’EST A LA LIGNE SUIVANTE BUG, 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
Debug.Print rst_resultat![Quantite3]
QtePrecedente = rst_resultat![Quantite3]
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 Sub
Bonjour,
C’est parfait, ca marche. Merci beaucoup.
Par contre, je n’arrive pas a lire un champ de
l’enregistrement precedent. J’ai essaye la fonction
MovePrevious et FindPrevious mais ca ne marche pas.
Savez vous d’ou ca vient ?
Merci beaucoup,
Voici ci dessous la procedure :
Sub Mvt_RCT_PO(code_article As String, rst_art As DAO.Recordset,
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 QtePrecedente As Double
'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
Debug.Print rst_mvt![Mouvement]
‘’C’’EST A LA LIGNE SUIVANTE BUG, 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
Debug.Print rst_resultat![Quantite3]
QtePrecedente = rst_resultat![Quantite3]
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 Sub
Bonjour,
C’est parfait, ca marche. Merci beaucoup.
Par contre, je n’arrive pas a lire un champ de
l’enregistrement precedent. J’ai essaye la fonction
MovePrevious et FindPrevious mais ca ne marche pas.
Savez vous d’ou ca vient ?
Merci beaucoup,
Voici ci dessous la procedure :
Sub Mvt_RCT_PO(code_article As String, rst_art As DAO.Recordset,
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 QtePrecedente As Double
'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
Debug.Print rst_mvt![Mouvement]
‘’C’’EST A LA LIGNE SUIVANTE BUG, 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
Debug.Print rst_resultat![Quantite3]
QtePrecedente = rst_resultat![Quantite3]
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 Sub