Update valeur d'un champ de formulaire = Erreur 438
14 réponses
Bear76
Bonjour à la communauté,
Dans l'évènement Current_Form j'ai inséré une ligne afin de pouvoir
mettre à jour la valeur d'un champ (numérique), mais à chaque fois que
j'ouvre mon form j'ai une "erreur d'exécution 438 (propriété ou
méthode non géré par cet objet)".
Champ1.Value = Champ de mon current_form que je souhaite mettre à jour
Champ2.value = Champ de mon current_form que j'utilise dans le calcul
Champ3.value = Champ du pied de mon sous-formulaire SF0
Tous mes champs sont au format numérique. Et le Champ3 calcule la somme
d'un champ numérique de mon SF0
Private_Sub Form_Current()
Champ1.Value = (Champ2.value + SF0.[Formulaire]![Champ3].value)
End Sub
Pour plus d'informations sur les événements formulaire voici un lien très intéressant : http://office.microsoft.com/fr-fr/access/HA102389881036.aspx
Cdt, Blaise ---- ---- ----
Bear76
Bonjour Argy,
Vraiment étrange comme phénomène. Je vérifie toujours les valeurs prises par les propriétés Champ père et Champ fils. Elles sont OK. J'essaierai votre procédure. Pour l'heure mes 2 requêtes fonctionnent bien. Merci pour votre aide et votre patience.
Argyronet avait écrit le 08/10/2009 :
Humm, oui, mais si ça ne marche toujours pas, c'est que l'événement ne correspond pas à ce que vous effectuez comme tâche... De fait, l'événement Current() n'est jamais déclenché et il faut que vous trouviez la parade, si je puis dire. En d'autres termes, par exemple, forcer la MAJ du champ depuis le sous-formulaire à l'aide de la propriété Parent. Par exemple : Private Sub QteCommandee_AfterUpdate() Me.Parent.QTESTOCK.Value = Me.Parent.TOTALCMDE.Value + Me.Parent.QTEINIT.Value End Sub
En fait, ce phénomène de non MAJ comme vous le rencontrez est souvent du à un problème de modélisation initiale et où, notamment, la relation Père-Fils n'est pas correctement définie entre les fomulaires. Access est conçu pour détecter et proposer directement l'affectation de cette propriété à partir du moment où vos relations sont logiques et correctement définies. Dans ce cas, pas besoin de gymnastique bricolée comme celles que vous avez paradée. -- Argy http://argyronet.developpez.com/ Créez des programmes avec Microsoft Access 2007 (ISBN 2742982442) VBA pour Office 2007 (ISBN 2742983910)
Bonjour Argy,
Vraiment étrange comme phénomène. Je vérifie toujours les valeurs
prises par les propriétés Champ père et Champ fils. Elles sont OK.
J'essaierai votre procédure. Pour l'heure mes 2 requêtes fonctionnent
bien.
Merci pour votre aide et votre patience.
Argyronet avait écrit le 08/10/2009 :
Humm, oui, mais si ça ne marche toujours pas, c'est que l'événement ne
correspond pas à ce que vous effectuez comme tâche...
De fait, l'événement Current() n'est jamais déclenché et il faut que vous
trouviez la parade, si je puis dire.
En d'autres termes, par exemple, forcer la MAJ du champ depuis le
sous-formulaire à l'aide de la propriété Parent.
Par exemple :
Private Sub QteCommandee_AfterUpdate()
Me.Parent.QTESTOCK.Value = Me.Parent.TOTALCMDE.Value +
Me.Parent.QTEINIT.Value
End Sub
En fait, ce phénomène de non MAJ comme vous le rencontrez est souvent du à
un problème de modélisation initiale et où, notamment, la relation Père-Fils
n'est pas correctement définie entre les fomulaires.
Access est conçu pour détecter et proposer directement l'affectation de
cette propriété à partir du moment où vos relations sont logiques et
correctement définies.
Dans ce cas, pas besoin de gymnastique bricolée comme celles que vous avez
paradée.
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN 2742982442)
VBA pour Office 2007 (ISBN 2742983910)
Vraiment étrange comme phénomène. Je vérifie toujours les valeurs prises par les propriétés Champ père et Champ fils. Elles sont OK. J'essaierai votre procédure. Pour l'heure mes 2 requêtes fonctionnent bien. Merci pour votre aide et votre patience.
Argyronet avait écrit le 08/10/2009 :
Humm, oui, mais si ça ne marche toujours pas, c'est que l'événement ne correspond pas à ce que vous effectuez comme tâche... De fait, l'événement Current() n'est jamais déclenché et il faut que vous trouviez la parade, si je puis dire. En d'autres termes, par exemple, forcer la MAJ du champ depuis le sous-formulaire à l'aide de la propriété Parent. Par exemple : Private Sub QteCommandee_AfterUpdate() Me.Parent.QTESTOCK.Value = Me.Parent.TOTALCMDE.Value + Me.Parent.QTEINIT.Value End Sub
En fait, ce phénomène de non MAJ comme vous le rencontrez est souvent du à un problème de modélisation initiale et où, notamment, la relation Père-Fils n'est pas correctement définie entre les fomulaires. Access est conçu pour détecter et proposer directement l'affectation de cette propriété à partir du moment où vos relations sont logiques et correctement définies. Dans ce cas, pas besoin de gymnastique bricolée comme celles que vous avez paradée. -- Argy http://argyronet.developpez.com/ Créez des programmes avec Microsoft Access 2007 (ISBN 2742982442) VBA pour Office 2007 (ISBN 2742983910)
Bear76
Dans son message précédent, Blaise Cacramp a écrit :
Selon : Bonjour ou bonsoir
Pour plus d'informations sur les événements formulaire voici un lien très intéressant : http://office.microsoft.com/fr-fr/access/HA102389881036.aspx
Cdt, Blaise ---- ---- ----
Bonjour, Merci pour ce lien @+
Dans son message précédent, Blaise Cacramp a écrit :
Selon : Bonjour ou bonsoir
Pour plus d'informations sur les événements formulaire voici un lien très
intéressant :
http://office.microsoft.com/fr-fr/access/HA102389881036.aspx
Dans son message précédent, Blaise Cacramp a écrit :
Selon : Bonjour ou bonsoir
Pour plus d'informations sur les événements formulaire voici un lien très intéressant : http://office.microsoft.com/fr-fr/access/HA102389881036.aspx
Cdt, Blaise ---- ---- ----
Bonjour, Merci pour ce lien @+
Bear76
Bonsoir Argy, Bonsoir Blaise, En vérifiant tous mes sous-formulaires, je me suis rendu compte que le sous-formulaire pour lequel les : Private Sub Current_Form() Me![QTESTOCK] = Me.[TOTALCMDE].Value + Me![QTEINIT] End sub et Private Sub QteCommandee_AfterUpdate() Me.Parent.QTESTOCK.Value = Me.Parent.TOTALCMDE.Value + Me.Parent.QTEINIT.Value End Sub ne fonctionnaient pas, contenait dans sa requête SQL (Source) la tbl PRODUIT. Tbl qui n'avait rien à faire là. Je l'ai supprimé et depuis tout fonctionne très bien. Merci encore.
Argyronet avait prétendu :
Humm, oui, mais si ça ne marche toujours pas, c'est que l'événement ne correspond pas à ce que vous effectuez comme tâche... De fait, l'événement Current() n'est jamais déclenché et il faut que vous trouviez la parade, si je puis dire. En d'autres termes, par exemple, forcer la MAJ du champ depuis le sous-formulaire à l'aide de la propriété Parent. Par exemple : Private Sub QteCommandee_AfterUpdate() Me.Parent.QTESTOCK.Value = Me.Parent.TOTALCMDE.Value + Me.Parent.QTEINIT.Value End Sub
En fait, ce phénomène de non MAJ comme vous le rencontrez est souvent du à un problème de modélisation initiale et où, notamment, la relation Père-Fils n'est pas correctement définie entre les fomulaires. Access est conçu pour détecter et proposer directement l'affectation de cette propriété à partir du moment où vos relations sont logiques et correctement définies. Dans ce cas, pas besoin de gymnastique bricolée comme celles que vous avez paradée. -- Argy http://argyronet.developpez.com/ Créez des programmes avec Microsoft Access 2007 (ISBN 2742982442) VBA pour Office 2007 (ISBN 2742983910)
Bonsoir Argy, Bonsoir Blaise,
En vérifiant tous mes sous-formulaires, je me suis rendu compte que le
sous-formulaire pour lequel les :
Private Sub Current_Form()
Me![QTESTOCK] = Me.[TOTALCMDE].Value + Me![QTEINIT]
End sub
et
Private Sub QteCommandee_AfterUpdate()
Me.Parent.QTESTOCK.Value = Me.Parent.TOTALCMDE.Value +
Me.Parent.QTEINIT.Value
End Sub
ne fonctionnaient pas, contenait dans sa requête SQL (Source) la tbl
PRODUIT. Tbl qui n'avait rien à faire là. Je l'ai supprimé et depuis
tout fonctionne très bien.
Merci encore.
Argyronet avait prétendu :
Humm, oui, mais si ça ne marche toujours pas, c'est que l'événement ne
correspond pas à ce que vous effectuez comme tâche...
De fait, l'événement Current() n'est jamais déclenché et il faut que vous
trouviez la parade, si je puis dire.
En d'autres termes, par exemple, forcer la MAJ du champ depuis le
sous-formulaire à l'aide de la propriété Parent.
Par exemple :
Private Sub QteCommandee_AfterUpdate()
Me.Parent.QTESTOCK.Value = Me.Parent.TOTALCMDE.Value +
Me.Parent.QTEINIT.Value
End Sub
En fait, ce phénomène de non MAJ comme vous le rencontrez est souvent du à
un problème de modélisation initiale et où, notamment, la relation Père-Fils
n'est pas correctement définie entre les fomulaires.
Access est conçu pour détecter et proposer directement l'affectation de
cette propriété à partir du moment où vos relations sont logiques et
correctement définies.
Dans ce cas, pas besoin de gymnastique bricolée comme celles que vous avez
paradée.
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN 2742982442)
VBA pour Office 2007 (ISBN 2742983910)
Bonsoir Argy, Bonsoir Blaise, En vérifiant tous mes sous-formulaires, je me suis rendu compte que le sous-formulaire pour lequel les : Private Sub Current_Form() Me![QTESTOCK] = Me.[TOTALCMDE].Value + Me![QTEINIT] End sub et Private Sub QteCommandee_AfterUpdate() Me.Parent.QTESTOCK.Value = Me.Parent.TOTALCMDE.Value + Me.Parent.QTEINIT.Value End Sub ne fonctionnaient pas, contenait dans sa requête SQL (Source) la tbl PRODUIT. Tbl qui n'avait rien à faire là. Je l'ai supprimé et depuis tout fonctionne très bien. Merci encore.
Argyronet avait prétendu :
Humm, oui, mais si ça ne marche toujours pas, c'est que l'événement ne correspond pas à ce que vous effectuez comme tâche... De fait, l'événement Current() n'est jamais déclenché et il faut que vous trouviez la parade, si je puis dire. En d'autres termes, par exemple, forcer la MAJ du champ depuis le sous-formulaire à l'aide de la propriété Parent. Par exemple : Private Sub QteCommandee_AfterUpdate() Me.Parent.QTESTOCK.Value = Me.Parent.TOTALCMDE.Value + Me.Parent.QTEINIT.Value End Sub
En fait, ce phénomène de non MAJ comme vous le rencontrez est souvent du à un problème de modélisation initiale et où, notamment, la relation Père-Fils n'est pas correctement définie entre les fomulaires. Access est conçu pour détecter et proposer directement l'affectation de cette propriété à partir du moment où vos relations sont logiques et correctement définies. Dans ce cas, pas besoin de gymnastique bricolée comme celles que vous avez paradée. -- Argy http://argyronet.developpez.com/ Créez des programmes avec Microsoft Access 2007 (ISBN 2742982442) VBA pour Office 2007 (ISBN 2742983910)