inserer une valeur dans un champ venant d'un champ d'une autre table
5 réponses
mar
je suis totalement novice sur access et sur VBA encore=20
plus.
je cherche juste (mais ca fait des heures) =E0 inserer dans=20
un formulaire dans le champ "nom" d'une table le contenu=20
du champ "nom" d'une autre table li=E9e =E0 la premi=E8re.
j'ai chercher (entre autre)=E0 utiliser le g=E9n=E9rateur=20
d'expression en mettant une expression du type =3D=20
[table1]![nom] dans l'=E9venement "sur entr=E9e" du champ nom=20
de la table 2 : ca marche pas
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,
"mar" je suis totalement novice sur access et sur VBA encore plus. je cherche juste (mais ca fait des heures) à inserer dans un formulaire dans le champ "nom" d'une table le contenu du champ "nom" d'une autre table liée à la première.
j'ai chercher (entre autre)à utiliser le générateur d'expression en mettant une expression du type [table1]![nom] dans l'évenement "sur entrée" du champ nom de la table 2 : ca marche pas
Tu essaies de créer une relation entre des tables, on dirait ? Crée cela plutôt dans la fenêtre des relations, c'est le bon endroit.
Mais, ne crée surtout pas une relation entre des champs "Nom" Si tu as deux "Dupont", tu es mal, très mal....
Et ne nomme pas un champ "Nom", mais plutôt LeNom ou LastName ou quelque chose du genre... ("Nom" est une propriété)
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
Salut,
"mar"
je suis totalement novice sur access et sur VBA encore plus.
je cherche juste (mais ca fait des heures) à inserer dans
un formulaire dans le champ "nom" d'une table le contenu
du champ "nom" d'une autre table liée à la première.
j'ai chercher (entre autre)à utiliser le générateur
d'expression en mettant une expression du type [table1]![nom] dans l'évenement "sur entrée" du champ nom
de la table 2 : ca marche pas
Tu essaies de créer une relation entre des tables, on dirait ?
Crée cela plutôt dans la fenêtre des relations, c'est le bon endroit.
Mais, ne crée surtout pas une relation entre des champs "Nom"
Si tu as deux "Dupont", tu es mal, très mal....
Et ne nomme pas un champ "Nom", mais plutôt LeNom ou LastName
ou quelque chose du genre... ("Nom" est une propriété)
--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------
"mar" je suis totalement novice sur access et sur VBA encore plus. je cherche juste (mais ca fait des heures) à inserer dans un formulaire dans le champ "nom" d'une table le contenu du champ "nom" d'une autre table liée à la première.
j'ai chercher (entre autre)à utiliser le générateur d'expression en mettant une expression du type [table1]![nom] dans l'évenement "sur entrée" du champ nom de la table 2 : ca marche pas
Tu essaies de créer une relation entre des tables, on dirait ? Crée cela plutôt dans la fenêtre des relations, c'est le bon endroit.
Mais, ne crée surtout pas une relation entre des champs "Nom" Si tu as deux "Dupont", tu es mal, très mal....
Et ne nomme pas un champ "Nom", mais plutôt LeNom ou LastName ou quelque chose du genre... ("Nom" est une propriété)
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
Tu essaies de créer une relation entre des tables, on dirait ?
Crée cela plutôt dans la fenêtre des relations, c'est le bon endroit.
Mais, ne crée surtout pas une relation entre des champs "Nom"
Si tu as deux "Dupont", tu es mal, très mal....
Et ne nomme pas un champ "Nom", mais plutôt LeNom ou LastName
ou quelque chose du genre... ("Nom" est une propriété)
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
merci pour ta réponse mais pas du tout
la relation est déjà crée et ceci sur un numéro unique. j'au une table "identité" avec dedans un champ nommé : "nom patronymique" j'ai une autre table "usage" avec dedans un champ nommé "nom d'usage" dans le formulaire de la table identité, je saisis le champ "nom patronymique". et je voudrais que le contenu de ce champ aille s'inscrire dans le sous formulaire juste en dessous de la table "usage" dans le champ "nom d'usage". voilà je ne sais pas si c'est tellement plus clair.....
Aidez moi !!!!!!!!!!!!
.
Tu essaies de créer une relation entre des tables,
on dirait ?
Crée cela plutôt dans la fenêtre des relations, c'est le
bon endroit.
Mais, ne crée surtout pas une relation entre des
champs "Nom"
Si tu as deux "Dupont", tu es mal, très mal....
Et ne nomme pas un champ "Nom", mais plutôt LeNom ou
LastName
ou quelque chose du genre... ("Nom" est une propriété)
--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------
merci pour ta réponse mais pas du tout
la relation est déjà crée et ceci sur un numéro unique.
j'au une table "identité" avec dedans un champ
nommé : "nom patronymique"
j'ai une autre table "usage" avec dedans un champ
nommé "nom d'usage"
dans le formulaire de la table identité, je saisis le
champ "nom patronymique". et je voudrais que le contenu
de ce champ aille s'inscrire dans le sous formulaire
juste en dessous de la table "usage" dans le champ "nom
d'usage". voilà
je ne sais pas si c'est tellement plus clair.....
Tu essaies de créer une relation entre des tables, on dirait ?
Crée cela plutôt dans la fenêtre des relations, c'est le bon endroit.
Mais, ne crée surtout pas une relation entre des champs "Nom"
Si tu as deux "Dupont", tu es mal, très mal....
Et ne nomme pas un champ "Nom", mais plutôt LeNom ou LastName
ou quelque chose du genre... ("Nom" est une propriété)
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
merci pour ta réponse mais pas du tout
la relation est déjà crée et ceci sur un numéro unique. j'au une table "identité" avec dedans un champ nommé : "nom patronymique" j'ai une autre table "usage" avec dedans un champ nommé "nom d'usage" dans le formulaire de la table identité, je saisis le champ "nom patronymique". et je voudrais que le contenu de ce champ aille s'inscrire dans le sous formulaire juste en dessous de la table "usage" dans le champ "nom d'usage". voilà je ne sais pas si c'est tellement plus clair.....
Aidez moi !!!!!!!!!!!!
.
3stone
Salut,
a écrit: la relation est déjà crée et ceci sur un numéro unique. j'au une table "identité" avec dedans un champ nommé : "nom patronymique" j'ai une autre table "usage" avec dedans un champ nommé "nom d'usage" dans le formulaire de la table identité, je saisis le champ "nom patronymique". et je voudrais que le contenu de ce champ aille s'inscrire dans le sous formulaire juste en dessous de la table "usage" dans le champ "nom d'usage". voilà
Et tu veux le copier à chaque fois, automatiquement ? Tu es conscient que dans ce cas, cela crée un doublon...
Tu peux utiliser une simple requête de mise à jour de la table "usage"
Dim sSQL As String sSQL = "UPDATE [Usage] SET Usage![Nom d'usage]='" & Me![Nom patronymique] & "' WHERE [PK]=" & Me!PK;
CurrentDB.Execute sSQL
Me!NomDuSousFormulaire.Form.Requery
NB: PK est à remplacer par le nom de ta clé primaire.
Mais je ne comprend pas le but de la manoeuvre ;-)
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
Salut,
<anonymous@discussions.microsoft.com> a écrit:
la relation est déjà crée et ceci sur un numéro unique.
j'au une table "identité" avec dedans un champ
nommé : "nom patronymique"
j'ai une autre table "usage" avec dedans un champ
nommé "nom d'usage"
dans le formulaire de la table identité, je saisis le
champ "nom patronymique". et je voudrais que le contenu
de ce champ aille s'inscrire dans le sous formulaire
juste en dessous de la table "usage" dans le champ "nom
d'usage". voilà
Et tu veux le copier à chaque fois, automatiquement ?
Tu es conscient que dans ce cas, cela crée un doublon...
Tu peux utiliser une simple requête de mise à jour de la table "usage"
Dim sSQL As String
sSQL = "UPDATE [Usage] SET Usage![Nom d'usage]='" & Me![Nom patronymique] & "' WHERE [PK]=" & Me!PK;
CurrentDB.Execute sSQL
Me!NomDuSousFormulaire.Form.Requery
NB: PK est à remplacer par le nom de ta clé primaire.
Mais je ne comprend pas le but de la manoeuvre ;-)
--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------
a écrit: la relation est déjà crée et ceci sur un numéro unique. j'au une table "identité" avec dedans un champ nommé : "nom patronymique" j'ai une autre table "usage" avec dedans un champ nommé "nom d'usage" dans le formulaire de la table identité, je saisis le champ "nom patronymique". et je voudrais que le contenu de ce champ aille s'inscrire dans le sous formulaire juste en dessous de la table "usage" dans le champ "nom d'usage". voilà
Et tu veux le copier à chaque fois, automatiquement ? Tu es conscient que dans ce cas, cela crée un doublon...
Tu peux utiliser une simple requête de mise à jour de la table "usage"
Dim sSQL As String sSQL = "UPDATE [Usage] SET Usage![Nom d'usage]='" & Me![Nom patronymique] & "' WHERE [PK]=" & Me!PK;
CurrentDB.Execute sSQL
Me!NomDuSousFormulaire.Form.Requery
NB: PK est à remplacer par le nom de ta clé primaire.
Mais je ne comprend pas le but de la manoeuvre ;-)
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
help
Et tu veux le copier à chaque fois, automatiquement ?
Tu es conscient que dans ce cas, cela crée un doublon...
Tu peux utiliser une simple requête de mise à jour de la table "usage"
Dim sSQL As String sSQL = "UPDATE [Usage] SET Usage![Nom d'usage]='" & Me! [Nom patronymique] & "' WHERE [PK]=" & Me!PK;
CurrentDB.Execute sSQL
Me!NomDuSousFormulaire.Form.Requery
NB: PK est à remplacer par le nom de ta clé primaire.
Mais je ne comprend pas le but de la manoeuvre ;-)
----------------------------------------------
merci beaucoup pour ta réponse le but de la manoeuvre est juste de faciliter la saisie. Tous les hommes ont un nom patronymique= au nom d'usage mais pas toutes les femmes.... je veux juste ne pas obliger ceux qui saisissent à retaper l'information quand le nom patronymique et d'usage est le meme, si il est différend alors il doivent ressaisir.
Et c'est là que je suis embétée, voire très embétée. je maitrise bien le SQL mais alors pas du tout du tout le VBA et quand j'inscris ta commande d'update dans mon éditeur VBa, la ligne elle devient toute rouge et il n'a vraiment pas l'air content.j'ai bidouillée toutes les syntaxes que je pouvais mais rien....
j'ai essayé de fabriquer une requete mise à jour en SQL dans l'éditeur de requête. ca marche Mais le pb c'est que je n'arrive pas à l'appliquer à une sortie de champ (dans le formulaire).(cad pendant la saisie, quand le curseur sort du champ "nom patronymique" il va écrire la valeur du champ dans le champ "nom d'usage")
Et à la réfléxion, je ne veux pas forcement d'update de table, je veux juste qu'il prenne le contenu du champ "nom patronymique" pour le copier dans le champ "nom d'usage" du sous formulaire. Il n'est pas possible de passer par le générateur d'expression ?? en bref..... d'éviter le plus possible le VBA....juste le temps que j'apprenne à m'en servir
.
Et tu veux le copier à chaque fois, automatiquement ?
Tu es conscient que dans ce cas, cela crée un doublon...
Tu peux utiliser une simple requête de mise à jour de la
table "usage"
Dim sSQL As String
sSQL = "UPDATE [Usage] SET Usage![Nom d'usage]='" & Me!
[Nom patronymique] & "' WHERE [PK]=" & Me!PK;
CurrentDB.Execute sSQL
Me!NomDuSousFormulaire.Form.Requery
NB: PK est à remplacer par le nom de ta clé primaire.
Mais je ne comprend pas le but de la manoeuvre ;-)
----------------------------------------------
merci beaucoup pour ta réponse
le but de la manoeuvre est juste de faciliter la saisie.
Tous les hommes ont un nom patronymique= au nom d'usage
mais pas toutes les femmes.... je veux juste ne pas
obliger ceux qui saisissent à retaper l'information
quand le nom patronymique et d'usage est le meme, si il
est différend alors il doivent ressaisir.
Et c'est là que je suis embétée, voire très embétée. je
maitrise bien le SQL mais alors pas du tout du tout le VBA
et quand j'inscris ta commande d'update dans mon éditeur
VBa, la ligne elle devient toute rouge et il n'a vraiment
pas l'air content.j'ai bidouillée toutes les syntaxes que
je pouvais mais rien....
j'ai essayé de fabriquer une requete mise à jour en SQL
dans l'éditeur de requête. ca marche Mais le pb c'est que
je n'arrive pas à l'appliquer à une sortie de champ (dans
le formulaire).(cad pendant la saisie, quand le curseur
sort du champ "nom patronymique" il va écrire la valeur
du champ dans le champ "nom d'usage")
Et à la réfléxion, je ne veux pas forcement d'update de
table, je veux juste qu'il prenne le contenu du
champ "nom patronymique" pour le copier dans le
champ "nom d'usage" du sous formulaire. Il n'est pas
possible de passer par le générateur d'expression ?? en
bref..... d'éviter le plus possible le VBA....juste le
temps que j'apprenne à m'en servir
Et tu veux le copier à chaque fois, automatiquement ?
Tu es conscient que dans ce cas, cela crée un doublon...
Tu peux utiliser une simple requête de mise à jour de la table "usage"
Dim sSQL As String sSQL = "UPDATE [Usage] SET Usage![Nom d'usage]='" & Me! [Nom patronymique] & "' WHERE [PK]=" & Me!PK;
CurrentDB.Execute sSQL
Me!NomDuSousFormulaire.Form.Requery
NB: PK est à remplacer par le nom de ta clé primaire.
Mais je ne comprend pas le but de la manoeuvre ;-)
----------------------------------------------
merci beaucoup pour ta réponse le but de la manoeuvre est juste de faciliter la saisie. Tous les hommes ont un nom patronymique= au nom d'usage mais pas toutes les femmes.... je veux juste ne pas obliger ceux qui saisissent à retaper l'information quand le nom patronymique et d'usage est le meme, si il est différend alors il doivent ressaisir.
Et c'est là que je suis embétée, voire très embétée. je maitrise bien le SQL mais alors pas du tout du tout le VBA et quand j'inscris ta commande d'update dans mon éditeur VBa, la ligne elle devient toute rouge et il n'a vraiment pas l'air content.j'ai bidouillée toutes les syntaxes que je pouvais mais rien....
j'ai essayé de fabriquer une requete mise à jour en SQL dans l'éditeur de requête. ca marche Mais le pb c'est que je n'arrive pas à l'appliquer à une sortie de champ (dans le formulaire).(cad pendant la saisie, quand le curseur sort du champ "nom patronymique" il va écrire la valeur du champ dans le champ "nom d'usage")
Et à la réfléxion, je ne veux pas forcement d'update de table, je veux juste qu'il prenne le contenu du champ "nom patronymique" pour le copier dans le champ "nom d'usage" du sous formulaire. Il n'est pas possible de passer par le générateur d'expression ?? en bref..... d'éviter le plus possible le VBA....juste le temps que j'apprenne à m'en servir
.
3stone
Salut,
"help"
[...] je maitrise bien le SQL
dans ce cas, ou est le problème ?
mais alors pas du tout du tout le VBA et quand j'inscris ta commande d'update dans mon éditeur VBa, la ligne elle devient toute rouge et il n'a vraiment pas l'air content.j'ai bidouillée toutes les syntaxes que je pouvais mais rien....
il faut adapter aux noms réels, bien sûr... et avec un champ nommé [Nom d'usage] tu cherche les ennuis
j'ai essayé de fabriquer une requete mise à jour en SQL dans l'éditeur de requête. ca marche Mais le pb c'est que je n'arrive pas à l'appliquer à une sortie de champ (dans le formulaire).(cad pendant la saisie, quand le curseur sort du champ "nom patronymique" il va écrire la valeur du champ dans le champ "nom d'usage")
inutile de faire cela en sortie de champ... tu dois de toute faconterminer la saisie dans ton form principal donc le mettre après mise à jour du form principal
Un autre problème est le besoin de mettre cela dans un sous-formulaire et donc une table liée... Il risque d'avoir plusieurs noms d'usage ?? Moi je le voir plutôt dans la table identité... et on ne saisi que si différent. Dans la requête, un simple champ calculé:
Et à la réfléxion, je ne veux pas forcement d'update de table, je veux juste qu'il prenne le contenu du champ "nom patronymique" pour le copier dans le champ "nom d'usage" du sous formulaire.
comme le sous-formulaire est basé sur la table... choux vert et vert choux ;-)
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
Salut,
"help"
[...]
je maitrise bien le SQL
dans ce cas, ou est le problème ?
mais alors pas du tout du tout le VBA
et quand j'inscris ta commande d'update dans mon éditeur
VBa, la ligne elle devient toute rouge et il n'a vraiment
pas l'air content.j'ai bidouillée toutes les syntaxes que
je pouvais mais rien....
il faut adapter aux noms réels, bien sûr...
et avec un champ nommé [Nom d'usage] tu cherche les ennuis
j'ai essayé de fabriquer une requete mise à jour en SQL
dans l'éditeur de requête. ca marche Mais le pb c'est que
je n'arrive pas à l'appliquer à une sortie de champ (dans
le formulaire).(cad pendant la saisie, quand le curseur
sort du champ "nom patronymique" il va écrire la valeur
du champ dans le champ "nom d'usage")
inutile de faire cela en sortie de champ...
tu dois de toute faconterminer la saisie dans ton form principal
donc le mettre après mise à jour du form principal
Un autre problème est le besoin de mettre cela dans un
sous-formulaire et donc une table liée...
Il risque d'avoir plusieurs noms d'usage ??
Moi je le voir plutôt dans la table identité...
et on ne saisi que si différent.
Dans la requête, un simple champ calculé:
Et à la réfléxion, je ne veux pas forcement d'update de
table, je veux juste qu'il prenne le contenu du
champ "nom patronymique" pour le copier dans le
champ "nom d'usage" du sous formulaire.
comme le sous-formulaire est basé sur la table...
choux vert et vert choux ;-)
--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------
mais alors pas du tout du tout le VBA et quand j'inscris ta commande d'update dans mon éditeur VBa, la ligne elle devient toute rouge et il n'a vraiment pas l'air content.j'ai bidouillée toutes les syntaxes que je pouvais mais rien....
il faut adapter aux noms réels, bien sûr... et avec un champ nommé [Nom d'usage] tu cherche les ennuis
j'ai essayé de fabriquer une requete mise à jour en SQL dans l'éditeur de requête. ca marche Mais le pb c'est que je n'arrive pas à l'appliquer à une sortie de champ (dans le formulaire).(cad pendant la saisie, quand le curseur sort du champ "nom patronymique" il va écrire la valeur du champ dans le champ "nom d'usage")
inutile de faire cela en sortie de champ... tu dois de toute faconterminer la saisie dans ton form principal donc le mettre après mise à jour du form principal
Un autre problème est le besoin de mettre cela dans un sous-formulaire et donc une table liée... Il risque d'avoir plusieurs noms d'usage ?? Moi je le voir plutôt dans la table identité... et on ne saisi que si différent. Dans la requête, un simple champ calculé:
Et à la réfléxion, je ne veux pas forcement d'update de table, je veux juste qu'il prenne le contenu du champ "nom patronymique" pour le copier dans le champ "nom d'usage" du sous formulaire.
comme le sous-formulaire est basé sur la table... choux vert et vert choux ;-)
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------