OVH Cloud OVH Cloud

Demande de l'aide

6 réponses
Avatar
yannick
suite à mes 2 posts du 23 et 24 qui sont:

J’ai une table article et une table commande et je ne veux avoir aucune
liaison entre les 2 tables
La table article me sert simplement à alimenter ma table commande.
Dans ma table article :
Référence
Désignation
PA

Dans ma table commande
N°commande
Référence
Désignation
Prix

Dans mon formulaire commande (basé sur ma table commande)
Si je saisi la référence RA2005 (sur évenement après MAJ)je voudrais que
commande.désignation= article.désignation et commande.prix = article.PA pour
cette référence
J'ai regle ceci par:
dans mon formulaire commande j'ai mis une liste box sur la réference
ayant pour donnée article.reference puis sur evenement apres MAJ
Me!Larticles = Me!Carticles.Column(1)
Me!prix = Me!Carticles.Column(2)
Donc pour integrer les articles dans la commande c'est ok



De plus si je modifie le prix(sur évenement après MAJ) ou la désignation(sur
évenement après MAJ) pour cette référence dans la table commande je voudrais
que cela modifie automatiquement dans ma table article.
Dans mon formulaire commande base sur la table commandeF
le debut de mes trouvailles sont:
Private Sub Prix_AfterUpdate()
Dim varX As Variant
varX = DLookup("[PA]", "articlesF", "[referenceF] =Carticles ")
MsgBox varX
varX = prix

End Sub

Mais le probleme c'est que je n'arrive pas a remplacer le prix de la table
articleF
concernant cette reference alrs que j'arrive bien a trouve cet article.

Quelqu'un pourrait-il m'aider?

Bonne soirée
@+

Yannick

6 réponses

Avatar
Gilles
suite à mes 2 posts du 23 et 24 qui sont:
...
Dans mon formulaire commande base sur la table commandeF
le debut de mes trouvailles sont:
Private Sub Prix_AfterUpdate()
Dim varX As Variant
varX = DLookup("[PA]", "articlesF", "[referenceF] Êrticles ")
MsgBox varX
varX = prix
End Sub

Mais le probleme c'est que je n'arrive pas a remplacer le prix de la table
articleF
concernant cette reference alrs que j'arrive bien a trouve cet article.
Quelqu'un pourrait-il m'aider?
Bonne soirée
@+
Yannick


Bonjour, Yannick

Essaye ceci:

Private Sub Prix_AfterUpdate()
Dim vrArticle As Recordset
' Chargement de l'article de référence Carticles dans le Recordset
Set vrArticle=CurrentDb.Openrecordset("SELECT [PA] FROM articlesF WHERE
[referenceF] =" & Carticles)
With vrArticle
' Article trouvé
if not .EOF Then
' Positionnement sur l'article
.MoveFirst
' Début de modification du recordset
.Edit
![PA]=prix
' Transfert de la modification du recordset vers la table
.Update
End If
End With
' Déchargement du recordset
Set vrArticle = Nothing
End Sub

Bonne continuation

Avatar
yannick
Je te remercie Gilles,
J'ai un souci c'est que je ne peux pas tester ta procédure car lorsque je
compile,
il se bloque sur .Edit. Quelle réference dois-je mettre pour que cela
fonctionne?
J'attends vivement ta réponse pour que je puisse tester cela.

A Bientot et encore Merci

@+

Yannick



suite à mes 2 posts du 23 et 24 qui sont:
...
Dans mon formulaire commande base sur la table commandeF
le debut de mes trouvailles sont:
Private Sub Prix_AfterUpdate()
Dim varX As Variant
varX = DLookup("[PA]", "articlesF", "[referenceF] Êrticles ")
MsgBox varX
varX = prix
End Sub

Mais le probleme c'est que je n'arrive pas a remplacer le prix de la table
articleF
concernant cette reference alrs que j'arrive bien a trouve cet article.
Quelqu'un pourrait-il m'aider?
Bonne soirée
@+
Yannick


Bonjour, Yannick

Essaye ceci:

Private Sub Prix_AfterUpdate()
Dim vrArticle As Recordset
' Chargement de l'article de référence Carticles dans le Recordset
Set vrArticle=CurrentDb.Openrecordset("SELECT [PA] FROM articlesF WHERE
[referenceF] =" & Carticles)
With vrArticle
' Article trouvé
if not .EOF Then
' Positionnement sur l'article
.MoveFirst
' Début de modification du recordset
.Edit
![PA]=prix
' Transfert de la modification du recordset vers la table
.Update
End If
End With
' Déchargement du recordset
Set vrArticle = Nothing
End Sub

Bonne continuation






Avatar
Gilles
Je te remercie Gilles,
J'ai un souci c'est que je ne peux pas tester ta procédure car lorsque je
compile,
il se bloque sur .Edit. Quelle réference dois-je mettre pour que cela
fonctionne?
J'attends vivement ta réponse pour que je puisse tester cela.
A Bientot et encore Merci
@+
Yannick


Bonjour, Yannick

1) Cocher "Microsoft DAO 3.6 Object Library" dans le menu
Outils/Références...
2) Modifier la déclaration de vrArticle: "Dim vrArticle As DAO.Recordset"

Désolé, j'ai tellement l'habitude d'utiliser DAO que j'oublie que, par
défaut, c'est ADO qui est coché.
Mais la même chose existe sans doute en ADO. Ne connaissant pas, vois avec
les "vrais" spécialistes, Raymond, Pierre CFI et 3Stone ou utilises l'aide.

Bonne continuation

Avatar
3stone
Salut,

"yannick"
| J'ai un souci c'est que je ne peux pas tester ta procédure car lorsque je
| compile,
| il se bloque sur .Edit. Quelle réference dois-je mettre pour que cela
| fonctionne?


ADO ne connait plus "Edit"...


écrit : Dim vrArticle As DAO.Recordset

et coche la référence DAO pour l'exemple de Gilles


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
yannick
Merci à tous les deux,
Raymond m'a règler le probleme en faisant une jointure entre les 2 tables;
C'est donc solutionner mais j'aurais voulu avoir une explication c'est qu' à
la ligne
Set vrArticle=CurrentDb.Openrecordset("SELECT [PA] FROM articlesF WHERE
[referenceF] =" & Carticles)
j'ai une erreur 3061 alors que le code de Gilles a l'air d' etre bon et
j'aimerais bien tester ce code.

Donc pouvez vous m'aider si vous avez un peu de temps à me consacrer pour
que par la suite cela me donne des idées.

Merci Gilles, Pierre et Raymond

@+

Yannick




Salut,

"yannick"
| J'ai un souci c'est que je ne peux pas tester ta procédure car lorsque je
| compile,
| il se bloque sur .Edit. Quelle réference dois-je mettre pour que cela
| fonctionne?


ADO ne connait plus "Edit"...


écrit : Dim vrArticle As DAO.Recordset

et coche la référence DAO pour l'exemple de Gilles


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw





Avatar
Gilles
Merci à tous les deux,
Raymond m'a règler le probleme en faisant une jointure entre les 2 tables;
C'est donc solutionner mais j'aurais voulu avoir une explication c'est qu'
à

la ligne
Set vrArticle=CurrentDb.Openrecordset("SELECT [PA] FROM articlesF WHERE
[referenceF] =" & Carticles)
j'ai une erreur 3061 alors que le code de Gilles a l'air d' etre bon et
j'aimerais bien tester ce code.
Donc pouvez vous m'aider si vous avez un peu de temps à me consacrer pour
que par la suite cela me donne des idées.
Merci Gilles, Pierre et Raymond
@+
Yannick


Bonjour, Yannick

En recherchant dans les archives (hé ben non, je ne connais pas tous les
numéros d'erreurs par coeur ! ;-), il semblerait qu'il manque des éléments
pour que la requête s'exécute. Donc, questions:
1) Est-il possible que Carticles soit vide ?
Dans ce cas, remplace Carticles par Nz(Carticles,
"UneValeurQuiRendraUneRequeteVide")
2) articlesF est-il une requête paramétrée ?
Pour connaître l'élément manquant, crée une requête en mode SQL dans
laquelle tu recopies "SELECT [PA] FROM articlesF WHERE > [referenceF] =0" en
enlevant les guillemets et essaye de l'afficher.

Bonne continuation