ACCESS 2002
J'ai construit un formulaire basé sur table1 qui contient un sous formulaire
basé sur une requête liant table2 à table3 dans une relation 1 à plusieurs.
Le formulaire et le sous formulaire sont liés par deux champs : Id_table1
(numèro auto, père) et Id_table1 (EntierLong situé dans table2 , fils). Dans
le sous formulaire une procédure évènementielle sur perte focus d'un
contrôle, met à jour 3 autres contrôles, par une instruction
Private Sub FraisVente_LostFocus()
Me.Date3 = Me. Date2
Me.PrixTotal = Me.PU * Me.Q + tva
Ref_tbl3 = Ref_tbl2
End Sub
Les numéros liés aux noms des contrôles correspondent aux numéros des
tables.
Tout se passe bien si l'on entre des données dans le sous formulaire ouvert
seul. Mais si l'on ouvre le formulaire, lors de la saisie, on obtient le
message suivant:
"L'objet ne contient pas d'objet d'automatisation "table2". Vous avez essayé
d'exécuter une procédure VisualBasic pour définir une propriété ou une
méthode pour un objet. Cependant, le composant ne rend pas la propriété ou
la méthode disponible pour les opérations d'automatisation."
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
3stone
Salut,
"Christian82" | ACCESS 2002 | J'ai construit un formulaire basé sur table1 qui contient un sous formulaire | basé sur une requête liant table2 à table3 dans une relation 1 à plusieurs. | Le formulaire et le sous formulaire sont liés par deux champs : Id_table1 | (numèro auto, père) et Id_table1 (EntierLong situé dans table2 , fils). Dans | le sous formulaire une procédure évènementielle sur perte focus d'un | contrôle, met à jour 3 autres contrôles, par une instruction | | Private Sub FraisVente_LostFocus() | Me.Date3 = Me. Date2 | Me.PrixTotal = Me.PU * Me.Q + tva | Ref_tbl3 = Ref_tbl2 | End Sub | | Les numéros liés aux noms des contrôles correspondent aux numéros des | tables. | Tout se passe bien si l'on entre des données dans le sous formulaire ouvert | seul. Mais si l'on ouvre le formulaire, lors de la saisie, on obtient le | message suivant: | "L'objet ne contient pas d'objet d'automatisation "table2". Vous avez essayé | d'exécuter une procédure VisualBasic pour définir une propriété ou une | méthode pour un objet. Cependant, le composant ne rend pas la propriété ou | la méthode disponible pour les opérations d'automatisation."
Je dirais que Access à des difficultés pour trouver les champs ou zone de texte dont tu lui parles.... ;-)
Déjà, tu es dans le sous-formulaire, au niveau d'un enregistrement... - que sont Date3 et Date2 ainsi que Ref_tbl3 et Ref_tbl2 - tu crées ces copies dans un enregistrement ?
et Me.PrixTotal =... tu cherches à souver le PrixTotal ??
et il y a aussi, l'événement "LostFocus"... tu refait les calculs et récupération de date à chaque fois que tu "passe" par FraisVente, et non seulement lors d'une mise à jour ?
"Christian82"
| ACCESS 2002
| J'ai construit un formulaire basé sur table1 qui contient un sous formulaire
| basé sur une requête liant table2 à table3 dans une relation 1 à plusieurs.
| Le formulaire et le sous formulaire sont liés par deux champs : Id_table1
| (numèro auto, père) et Id_table1 (EntierLong situé dans table2 , fils). Dans
| le sous formulaire une procédure évènementielle sur perte focus d'un
| contrôle, met à jour 3 autres contrôles, par une instruction
|
| Private Sub FraisVente_LostFocus()
| Me.Date3 = Me. Date2
| Me.PrixTotal = Me.PU * Me.Q + tva
| Ref_tbl3 = Ref_tbl2
| End Sub
|
| Les numéros liés aux noms des contrôles correspondent aux numéros des
| tables.
| Tout se passe bien si l'on entre des données dans le sous formulaire ouvert
| seul. Mais si l'on ouvre le formulaire, lors de la saisie, on obtient le
| message suivant:
| "L'objet ne contient pas d'objet d'automatisation "table2". Vous avez essayé
| d'exécuter une procédure VisualBasic pour définir une propriété ou une
| méthode pour un objet. Cependant, le composant ne rend pas la propriété ou
| la méthode disponible pour les opérations d'automatisation."
Je dirais que Access à des difficultés pour trouver les champs ou zone de texte
dont tu lui parles.... ;-)
Déjà, tu es dans le sous-formulaire, au niveau d'un enregistrement...
- que sont Date3 et Date2 ainsi que Ref_tbl3 et Ref_tbl2
- tu crées ces copies dans un enregistrement ?
et Me.PrixTotal =... tu cherches à souver le PrixTotal ??
et il y a aussi, l'événement "LostFocus"... tu refait les calculs et récupération
de date à chaque fois que tu "passe" par FraisVente, et non seulement
lors d'une mise à jour ?
"Christian82" | ACCESS 2002 | J'ai construit un formulaire basé sur table1 qui contient un sous formulaire | basé sur une requête liant table2 à table3 dans une relation 1 à plusieurs. | Le formulaire et le sous formulaire sont liés par deux champs : Id_table1 | (numèro auto, père) et Id_table1 (EntierLong situé dans table2 , fils). Dans | le sous formulaire une procédure évènementielle sur perte focus d'un | contrôle, met à jour 3 autres contrôles, par une instruction | | Private Sub FraisVente_LostFocus() | Me.Date3 = Me. Date2 | Me.PrixTotal = Me.PU * Me.Q + tva | Ref_tbl3 = Ref_tbl2 | End Sub | | Les numéros liés aux noms des contrôles correspondent aux numéros des | tables. | Tout se passe bien si l'on entre des données dans le sous formulaire ouvert | seul. Mais si l'on ouvre le formulaire, lors de la saisie, on obtient le | message suivant: | "L'objet ne contient pas d'objet d'automatisation "table2". Vous avez essayé | d'exécuter une procédure VisualBasic pour définir une propriété ou une | méthode pour un objet. Cependant, le composant ne rend pas la propriété ou | la méthode disponible pour les opérations d'automatisation."
Je dirais que Access à des difficultés pour trouver les champs ou zone de texte dont tu lui parles.... ;-)
Déjà, tu es dans le sous-formulaire, au niveau d'un enregistrement... - que sont Date3 et Date2 ainsi que Ref_tbl3 et Ref_tbl2 - tu crées ces copies dans un enregistrement ?
et Me.PrixTotal =... tu cherches à souver le PrixTotal ??
et il y a aussi, l'événement "LostFocus"... tu refait les calculs et récupération de date à chaque fois que tu "passe" par FraisVente, et non seulement lors d'une mise à jour ?
ACCESS 2002 J'ai construit un formulaire basé sur table1 qui contient un sous formulaire basé sur une requête liant table2 à table3 dans une relation 1 à plusieurs. Le formulaire et le sous formulaire sont liés par deux champs : Id_table1 (numèro auto, père) et Id_table1 (EntierLong situé dans table2 , fils). Dans le sous formulaire une procédure évènementielle sur perte focus d'un contrôle, met à jour 3 autres contrôles, par une instruction
Private Sub FraisVente_LostFocus() Me.Date3 = Me. Date2 Me.PrixTotal = Me.PU * Me.Q + tva Ref_tbl3 = Ref_tbl2 End Sub
Les numéros liés aux noms des contrôles correspondent aux numéros des tables. Tout se passe bien si l'on entre des données dans le sous formulaire ouvert seul. Mais si l'on ouvre le formulaire, lors de la saisie, on obtient le message suivant: "L'objet ne contient pas d'objet d'automatisation "table2". Vous avez essayé d'exécuter une procédure VisualBasic pour définir une propriété ou une méthode pour un objet. Cependant, le composant ne rend pas la propriété ou la méthode disponible pour les opérations d'automatisation."
Je dirais que Access à des difficultés pour trouver les champs ou zone de texte dont tu lui parles.... ;-)
Déjà, tu es dans le sous-formulaire, au niveau d'un enregistrement... - que sont Date3 et Date2 ainsi que Ref_tbl3 et Ref_tbl2 - tu crées ces copies dans un enregistrement ?
et Me.PrixTotal =... tu cherches à souver le PrixTotal ??
et il y a aussi, l'événement "LostFocus"... tu refait les calculs et récupération de date à chaque fois que tu "passe" par FraisVente, et non seulement lors d'une mise à jour ?
Bonjour Pierre, Effectivement, il y avait quelques soucis dans la construction de l'ensemble, peut-etre le sous-formulaire basé sur une requête 1 à plusieurs? J'ai donc remplacé la source du sous-formulaire reqTle2Tble3 par table2, puis imbriqué un sous formulaire basé sur table3. Maintenant, tout celà fonctionne correctement. Par rapport à tes interogations, je stocke effectivement le résultat d'un champ calculé dans une autre table, le résultat du calcul devenant alors une donnée à part entière. Certes, cela peut paraitre peu académique, mais ça simplifie son utilisation ultérieure. Quand au lostfocus, le choix vient du fait que le controle concerné ne recoitpas forcément de données.... On évite ainsi de forcer une saisie de type 0. Merci d'avoir étudié mon problème, Cordialement Christian
Salut,
"Christian82"
ACCESS 2002
J'ai construit un formulaire basé sur table1 qui contient un sous formulaire
basé sur une requête liant table2 à table3 dans une relation 1 à plusieurs.
Le formulaire et le sous formulaire sont liés par deux champs : Id_table1
(numèro auto, père) et Id_table1 (EntierLong situé dans table2 , fils). Dans
le sous formulaire une procédure évènementielle sur perte focus d'un
contrôle, met à jour 3 autres contrôles, par une instruction
Private Sub FraisVente_LostFocus()
Me.Date3 = Me. Date2
Me.PrixTotal = Me.PU * Me.Q + tva
Ref_tbl3 = Ref_tbl2
End Sub
Les numéros liés aux noms des contrôles correspondent aux numéros des
tables.
Tout se passe bien si l'on entre des données dans le sous formulaire ouvert
seul. Mais si l'on ouvre le formulaire, lors de la saisie, on obtient le
message suivant:
"L'objet ne contient pas d'objet d'automatisation "table2". Vous avez essayé
d'exécuter une procédure VisualBasic pour définir une propriété ou une
méthode pour un objet. Cependant, le composant ne rend pas la propriété ou
la méthode disponible pour les opérations d'automatisation."
Je dirais que Access à des difficultés pour trouver les champs ou zone de
texte dont tu lui parles.... ;-)
Déjà, tu es dans le sous-formulaire, au niveau d'un enregistrement...
- que sont Date3 et Date2 ainsi que Ref_tbl3 et Ref_tbl2
- tu crées ces copies dans un enregistrement ?
et Me.PrixTotal =... tu cherches à souver le PrixTotal ??
et il y a aussi, l'événement "LostFocus"... tu refait les calculs et
récupération de date à chaque fois que tu "passe" par FraisVente, et non
seulement lors d'une mise à jour ?
Bonjour Pierre,
Effectivement, il y avait quelques soucis dans la construction de
l'ensemble, peut-etre le sous-formulaire basé sur une requête 1 à
plusieurs?
J'ai donc remplacé la source du sous-formulaire reqTle2Tble3 par
table2, puis imbriqué un sous formulaire basé sur table3. Maintenant,
tout celà fonctionne correctement.
Par rapport à tes interogations, je stocke effectivement le résultat
d'un champ calculé dans une autre table, le résultat du calcul devenant
alors une donnée à part entière. Certes, cela peut paraitre peu
académique, mais ça simplifie son utilisation ultérieure. Quand au
lostfocus, le choix vient du fait que le controle concerné ne recoitpas
forcément de données.... On évite ainsi de forcer une saisie de type 0.
Merci d'avoir étudié mon problème,
Cordialement
Christian
ACCESS 2002 J'ai construit un formulaire basé sur table1 qui contient un sous formulaire basé sur une requête liant table2 à table3 dans une relation 1 à plusieurs. Le formulaire et le sous formulaire sont liés par deux champs : Id_table1 (numèro auto, père) et Id_table1 (EntierLong situé dans table2 , fils). Dans le sous formulaire une procédure évènementielle sur perte focus d'un contrôle, met à jour 3 autres contrôles, par une instruction
Private Sub FraisVente_LostFocus() Me.Date3 = Me. Date2 Me.PrixTotal = Me.PU * Me.Q + tva Ref_tbl3 = Ref_tbl2 End Sub
Les numéros liés aux noms des contrôles correspondent aux numéros des tables. Tout se passe bien si l'on entre des données dans le sous formulaire ouvert seul. Mais si l'on ouvre le formulaire, lors de la saisie, on obtient le message suivant: "L'objet ne contient pas d'objet d'automatisation "table2". Vous avez essayé d'exécuter une procédure VisualBasic pour définir une propriété ou une méthode pour un objet. Cependant, le composant ne rend pas la propriété ou la méthode disponible pour les opérations d'automatisation."
Je dirais que Access à des difficultés pour trouver les champs ou zone de texte dont tu lui parles.... ;-)
Déjà, tu es dans le sous-formulaire, au niveau d'un enregistrement... - que sont Date3 et Date2 ainsi que Ref_tbl3 et Ref_tbl2 - tu crées ces copies dans un enregistrement ?
et Me.PrixTotal =... tu cherches à souver le PrixTotal ??
et il y a aussi, l'événement "LostFocus"... tu refait les calculs et récupération de date à chaque fois que tu "passe" par FraisVente, et non seulement lors d'une mise à jour ?
Bonjour Pierre, Effectivement, il y avait quelques soucis dans la construction de l'ensemble, peut-etre le sous-formulaire basé sur une requête 1 à plusieurs? J'ai donc remplacé la source du sous-formulaire reqTle2Tble3 par table2, puis imbriqué un sous formulaire basé sur table3. Maintenant, tout celà fonctionne correctement. Par rapport à tes interogations, je stocke effectivement le résultat d'un champ calculé dans une autre table, le résultat du calcul devenant alors une donnée à part entière. Certes, cela peut paraitre peu académique, mais ça simplifie son utilisation ultérieure. Quand au lostfocus, le choix vient du fait que le controle concerné ne recoitpas forcément de données.... On évite ainsi de forcer une saisie de type 0. Merci d'avoir étudié mon problème, Cordialement Christian