J'ai un formulaire (1 fiche par client) qui utilise un=20
sous-formulaire pour la liste des actions de contact=20
op=E9r=E9, style le 1/4 appel, le 3/4 mail, etc ....
J'ai besoin de faire un autre formulaire qui reprend le=20
nom du client et seulement le dernier enregistrement du=20
sous-formulaire ... Pour ce faire j'ai fait une requ=EAte,=20
et pour chacun des champs du sous-formulaire, je choisis=20
dernier, mais cela ne marche pas... Est-ce que qqun peut=20
m'aider ....
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
Eric
Bojour David
"David" écrivait news:
Bonjour,
J'ai un formulaire (1 fiche par client) qui utilise un sous-formulaire pour la liste des actions de contact opéré, style le 1/4 appel, le 3/4 mail, etc ....
J'ai besoin de faire un autre formulaire qui reprend le nom du client et seulement le dernier enregistrement du sous-formulaire ... Pour ce faire j'ai fait une requête, et pour chacun des champs du sous-formulaire, je choisis dernier, mais cela ne marche pas... Est-ce que qqun peut m'aider ....
Si tu mets la fonction Dernier sur chaque champ de ta requête, tu ne pourras pas obtenir ce que tu désires car tu obtiens pour chaque type de contact le dernier et non pas le dernier contact en date, quelque soit le contact.
Je te propose la solution suivante, mais il doit y avoir certainement mieux:
Un 1er formulaire comprenant les champs IdClient et NomClient au minimum de la table Client, une zone de texte nommée Lien dont la propriété Visible sera mise à Non. Son contenu sera précisé plus tard Appelons le FicheClientDernierContact.
Un 2ème formulaire tabulaire ListeContact basé sur la table ContactClient qui doit avoir le champs suivants : IdContact : NumAuto IdClient : Numero Entier Long DateContact : Date/Heure - Format abrégé TypeContact : Texte Commentaire : Mémo (à adapter suivant ton cas)
Dans ce 2eme formulaire, basé sur la table ci-dessus tu mets les champs: DateContact, TypeContact & Commentaire Propriété du formulaire : Ajout Autorisé : Non Boutons de déplacement : Non
Ce formulaire tu l'inséres, après l'avoir sauvé, dans le 1er avec l'assistant. (la laison se fera automatiquement sur l'IdClient)
Définissons le contenu du champ Lien du 1er formulaire: =RechDom("[IdContact]";"ContactClient";"[dateContact]=#" & Format(MaxDom ("[DateContact]";"ContactClient";"Numclient=" & [numclient]);"mm/jj/aaaa") & "# and NumClient=" & [NumClient])
ceci va te retourner l'IdContact du dernier contact que tu as eu avec le client quelque soit le type de contact (mel, fax, tel, visite,...)
Appelles les propriétés du 2ème formulaire(ListeContact), Onglet Données - Source : SELECT [ContactClient].[DateContact], [ContactClient].[TypeContact], [ContactClient].[Commentaires] FROM ContactClient WHERE ((([ContactClient].[IdContact])=Formulaires!FicheClientDernierContact! Lien));
Voila, j'espère que ca te dépannera
A+ Eric
PS : A toi de gérer le cas où il n'y a pas eu de contact avec certains clients, etc ... Il est clair que beaucoup d'amélioratons peuvent être apportées.
J'ai un formulaire (1 fiche par client) qui utilise un
sous-formulaire pour la liste des actions de contact
opéré, style le 1/4 appel, le 3/4 mail, etc ....
J'ai besoin de faire un autre formulaire qui reprend le
nom du client et seulement le dernier enregistrement du
sous-formulaire ... Pour ce faire j'ai fait une requête,
et pour chacun des champs du sous-formulaire, je choisis
dernier, mais cela ne marche pas... Est-ce que qqun peut
m'aider ....
Si tu mets la fonction Dernier sur chaque champ de ta requête, tu ne
pourras pas obtenir ce que tu désires car tu obtiens pour chaque type de
contact le dernier et non pas le dernier contact en date, quelque soit le
contact.
Je te propose la solution suivante, mais il doit y avoir certainement
mieux:
Un 1er formulaire comprenant les champs IdClient et NomClient au minimum
de la table Client, une zone de texte nommée Lien dont la propriété
Visible sera mise à Non. Son contenu sera précisé plus tard
Appelons le FicheClientDernierContact.
Un 2ème formulaire tabulaire ListeContact basé sur la table ContactClient
qui doit avoir le champs suivants :
IdContact : NumAuto
IdClient : Numero Entier Long
DateContact : Date/Heure - Format abrégé
TypeContact : Texte
Commentaire : Mémo
(à adapter suivant ton cas)
Dans ce 2eme formulaire, basé sur la table ci-dessus tu mets les champs:
DateContact, TypeContact & Commentaire
Propriété du formulaire :
Ajout Autorisé : Non
Boutons de déplacement : Non
Ce formulaire tu l'inséres, après l'avoir sauvé, dans le 1er avec
l'assistant. (la laison se fera automatiquement sur l'IdClient)
Définissons le contenu du champ Lien du 1er formulaire:
=RechDom("[IdContact]";"ContactClient";"[dateContact]=#" & Format(MaxDom
("[DateContact]";"ContactClient";"Numclient=" &
[numclient]);"mm/jj/aaaa") & "# and NumClient=" & [NumClient])
ceci va te retourner l'IdContact du dernier contact que tu as eu avec le
client quelque soit le type de contact (mel, fax, tel, visite,...)
Appelles les propriétés du 2ème formulaire(ListeContact),
Onglet Données - Source :
SELECT [ContactClient].[DateContact], [ContactClient].[TypeContact],
[ContactClient].[Commentaires] FROM ContactClient WHERE
((([ContactClient].[IdContact])=Formulaires!FicheClientDernierContact!
Lien));
Voila, j'espère que ca te dépannera
A+
Eric
PS :
A toi de gérer le cas où il n'y a pas eu de contact avec certains
clients, etc ...
Il est clair que beaucoup d'amélioratons peuvent être apportées.
J'ai un formulaire (1 fiche par client) qui utilise un sous-formulaire pour la liste des actions de contact opéré, style le 1/4 appel, le 3/4 mail, etc ....
J'ai besoin de faire un autre formulaire qui reprend le nom du client et seulement le dernier enregistrement du sous-formulaire ... Pour ce faire j'ai fait une requête, et pour chacun des champs du sous-formulaire, je choisis dernier, mais cela ne marche pas... Est-ce que qqun peut m'aider ....
Si tu mets la fonction Dernier sur chaque champ de ta requête, tu ne pourras pas obtenir ce que tu désires car tu obtiens pour chaque type de contact le dernier et non pas le dernier contact en date, quelque soit le contact.
Je te propose la solution suivante, mais il doit y avoir certainement mieux:
Un 1er formulaire comprenant les champs IdClient et NomClient au minimum de la table Client, une zone de texte nommée Lien dont la propriété Visible sera mise à Non. Son contenu sera précisé plus tard Appelons le FicheClientDernierContact.
Un 2ème formulaire tabulaire ListeContact basé sur la table ContactClient qui doit avoir le champs suivants : IdContact : NumAuto IdClient : Numero Entier Long DateContact : Date/Heure - Format abrégé TypeContact : Texte Commentaire : Mémo (à adapter suivant ton cas)
Dans ce 2eme formulaire, basé sur la table ci-dessus tu mets les champs: DateContact, TypeContact & Commentaire Propriété du formulaire : Ajout Autorisé : Non Boutons de déplacement : Non
Ce formulaire tu l'inséres, après l'avoir sauvé, dans le 1er avec l'assistant. (la laison se fera automatiquement sur l'IdClient)
Définissons le contenu du champ Lien du 1er formulaire: =RechDom("[IdContact]";"ContactClient";"[dateContact]=#" & Format(MaxDom ("[DateContact]";"ContactClient";"Numclient=" & [numclient]);"mm/jj/aaaa") & "# and NumClient=" & [NumClient])
ceci va te retourner l'IdContact du dernier contact que tu as eu avec le client quelque soit le type de contact (mel, fax, tel, visite,...)
Appelles les propriétés du 2ème formulaire(ListeContact), Onglet Données - Source : SELECT [ContactClient].[DateContact], [ContactClient].[TypeContact], [ContactClient].[Commentaires] FROM ContactClient WHERE ((([ContactClient].[IdContact])=Formulaires!FicheClientDernierContact! Lien));
Voila, j'espère que ca te dépannera
A+ Eric
PS : A toi de gérer le cas où il n'y a pas eu de contact avec certains clients, etc ... Il est clair que beaucoup d'amélioratons peuvent être apportées.
Eric
re
Lire pour =RechDom("[IdContact]";"ContactClient";"[dateContact]=#" & Format(MaxDom("[DateContact]";"ContactClient";"Numclient=" & [numclient]);"mm/jj/aaaa") & "# and NumClient=" & [NumClient])
Sorry & en esperant qu'il n'y ait pas d'autres fautes. Eric
si dans une req une date est pas en format date US (1 point en moins qui comptera, et sera sur le livret scolaire)
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Eric" <f_framZZ@hotmail.com> a écrit dans le message de news:XnF94D698C8BFE03fframZZhotmailcom@207.46.248.16...
re
Lire pour
=RechDom("[IdContact]";"ContactClient";"[dateContact]=#" &
Format(MaxDom("[DateContact]";"ContactClient";"Numclient=" &
[numclient]);"mm/jj/aaaa") & "# and NumClient=" & [NumClient])
Sorry & en esperant qu'il n'y ait pas d'autres fautes. Eric
Eric
"Pierre CFI [mvp]" écrivait news:Oy#:
si dans une req une date est pas en format date US (1 point en moins qui comptera, et sera sur le livret scolaire)
Bonjour,
j'en suis pas sûr.
Dans le requêteur, je mets en critere du champ DateFacture: 24/04/02, entouré de dièses automatiquement par Access, donc date Fr comme tu vois et exemple cohérent contrairement parfois à ceux livrés par Microsoft du genre 01/01/02 où on ne sait pas si c'est le jour ou le mois en premier.
le sql traduit est : SELECT tFacture.NumFacture, tFacture.MontantHT, tFacture.DateFacture FROM tFacture WHERE (((tFacture.DateFacture)=#4/24/2002#));
et là, que contate-te-je !!! #4/24/02# surprenant non ?????
donc j'en déduis qu'il est toujours préférable de basculer les dates au format US.
Aurais-je tort ? Je suis toujours partant pour apprendre.
si dans une req une date est pas en format date US (1 point en moins
qui comptera, et sera sur le livret scolaire)
Bonjour,
j'en suis pas sûr.
Dans le requêteur, je mets en critere du champ DateFacture: 24/04/02,
entouré de dièses automatiquement par Access, donc date Fr comme tu vois et
exemple cohérent contrairement parfois à ceux livrés par Microsoft du genre
01/01/02 où on ne sait pas si c'est le jour ou le mois en premier.
le sql traduit est :
SELECT tFacture.NumFacture, tFacture.MontantHT, tFacture.DateFacture
FROM tFacture
WHERE (((tFacture.DateFacture)=#4/24/2002#));
et là, que contate-te-je !!! #4/24/02# surprenant non ?????
donc j'en déduis qu'il est toujours préférable de basculer les dates au
format US.
Aurais-je tort ? Je suis toujours partant pour apprendre.
si dans une req une date est pas en format date US (1 point en moins qui comptera, et sera sur le livret scolaire)
Bonjour,
j'en suis pas sûr.
Dans le requêteur, je mets en critere du champ DateFacture: 24/04/02, entouré de dièses automatiquement par Access, donc date Fr comme tu vois et exemple cohérent contrairement parfois à ceux livrés par Microsoft du genre 01/01/02 où on ne sait pas si c'est le jour ou le mois en premier.
le sql traduit est : SELECT tFacture.NumFacture, tFacture.MontantHT, tFacture.DateFacture FROM tFacture WHERE (((tFacture.DateFacture)=#4/24/2002#));
et là, que contate-te-je !!! #4/24/02# surprenant non ?????
donc j'en déduis qu'il est toujours préférable de basculer les dates au format US.
Aurais-je tort ? Je suis toujours partant pour apprendre.
Eric
Pierre CFI [mvp]
justement en sql çà passe en us, donc il faut le mettre en français dans l'editeur, en us en sql ou vba -2 points pour tentative de rebellion :o))
Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer http://users.skynet.be/mpfa/ Site perso http://access.cfi.free.fr "Eric" a écrit dans le message de news:
"Pierre CFI [mvp]" écrivait news:Oy#:
si dans une req une date est pas en format date US (1 point en moins qui comptera, et sera sur le livret scolaire)
Bonjour,
j'en suis pas sûr.
Dans le requêteur, je mets en critere du champ DateFacture: 24/04/02, entouré de dièses automatiquement par Access, donc date Fr comme tu vois et exemple cohérent contrairement parfois à ceux livrés par Microsoft du genre 01/01/02 où on ne sait pas si c'est le jour ou le mois en premier.
le sql traduit est : SELECT tFacture.NumFacture, tFacture.MontantHT, tFacture.DateFacture FROM tFacture WHERE (((tFacture.DateFacture)=#4/24/2002#));
et là, que contate-te-je !!! #4/24/02# surprenant non ?????
donc j'en déduis qu'il est toujours préférable de basculer les dates au format US.
Aurais-je tort ? Je suis toujours partant pour apprendre.
Eric
justement en sql çà passe en us, donc il faut le mettre en français dans l'editeur, en us en sql ou vba
-2 points pour tentative de rebellion :o))
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Eric" <f_framZZ@hotmail.com> a écrit dans le message de news:XnF94D6AA48C9999fframZZhotmailcom@207.46.248.16...
si dans une req une date est pas en format date US (1 point en moins
qui comptera, et sera sur le livret scolaire)
Bonjour,
j'en suis pas sûr.
Dans le requêteur, je mets en critere du champ DateFacture: 24/04/02,
entouré de dièses automatiquement par Access, donc date Fr comme tu vois et
exemple cohérent contrairement parfois à ceux livrés par Microsoft du genre
01/01/02 où on ne sait pas si c'est le jour ou le mois en premier.
le sql traduit est :
SELECT tFacture.NumFacture, tFacture.MontantHT, tFacture.DateFacture
FROM tFacture
WHERE (((tFacture.DateFacture)=#4/24/2002#));
et là, que contate-te-je !!! #4/24/02# surprenant non ?????
donc j'en déduis qu'il est toujours préférable de basculer les dates au
format US.
Aurais-je tort ? Je suis toujours partant pour apprendre.
justement en sql çà passe en us, donc il faut le mettre en français dans l'editeur, en us en sql ou vba -2 points pour tentative de rebellion :o))
Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer http://users.skynet.be/mpfa/ Site perso http://access.cfi.free.fr "Eric" a écrit dans le message de news:
"Pierre CFI [mvp]" écrivait news:Oy#:
si dans une req une date est pas en format date US (1 point en moins qui comptera, et sera sur le livret scolaire)
Bonjour,
j'en suis pas sûr.
Dans le requêteur, je mets en critere du champ DateFacture: 24/04/02, entouré de dièses automatiquement par Access, donc date Fr comme tu vois et exemple cohérent contrairement parfois à ceux livrés par Microsoft du genre 01/01/02 où on ne sait pas si c'est le jour ou le mois en premier.
le sql traduit est : SELECT tFacture.NumFacture, tFacture.MontantHT, tFacture.DateFacture FROM tFacture WHERE (((tFacture.DateFacture)=#4/24/2002#));
et là, que contate-te-je !!! #4/24/02# surprenant non ?????
donc j'en déduis qu'il est toujours préférable de basculer les dates au format US.
Aurais-je tort ? Je suis toujours partant pour apprendre.
Eric
Eric
Maitre, ;-))
explique-moi comment marche RechDom (ou une autre fonction de domaine), du moins ce qu'il y a derriere mais uniquement le critère.
Que je tape DLookUp et que ca soit traduit par RechDom, je m'imagine qu'il y a des tables d'équivalence sur les mots "réservés". Mais par contre, le 3eme argument correspond bien à la clause Where d'un Select, non ? donc pour moi je pensais qu'il était nécessaire de respecter la manière de l'écrire en langage SQL. (Il est vrai que si je laisse le date au format Fr ca marche aussi, mais ne serait-ce pas du à l'interpreteur?).
J'espère que je vais pas avoir 00 ce coup-là, sinon je suis condamné à revenir à la session de Septembre, adieu les voyages dans les iles :(
Un élève studieux mais long à la détente
Maitre, ;-))
explique-moi comment marche RechDom (ou une autre fonction de domaine), du
moins ce qu'il y a derriere mais uniquement le critère.
Que je tape DLookUp et que ca soit traduit par RechDom, je m'imagine qu'il
y a des tables d'équivalence sur les mots "réservés".
Mais par contre, le 3eme argument correspond bien à la clause Where d'un
Select, non ? donc pour moi je pensais qu'il était nécessaire de respecter
la manière de l'écrire en langage SQL. (Il est vrai que si je laisse le
date au format Fr ca marche aussi, mais ne serait-ce pas du à
l'interpreteur?).
J'espère que je vais pas avoir 00 ce coup-là, sinon je suis condamné à
revenir à la session de Septembre, adieu les voyages dans les iles :(
explique-moi comment marche RechDom (ou une autre fonction de domaine), du moins ce qu'il y a derriere mais uniquement le critère.
Que je tape DLookUp et que ca soit traduit par RechDom, je m'imagine qu'il y a des tables d'équivalence sur les mots "réservés". Mais par contre, le 3eme argument correspond bien à la clause Where d'un Select, non ? donc pour moi je pensais qu'il était nécessaire de respecter la manière de l'écrire en langage SQL. (Il est vrai que si je laisse le date au format Fr ca marche aussi, mais ne serait-ce pas du à l'interpreteur?).
J'espère que je vais pas avoir 00 ce coup-là, sinon je suis condamné à revenir à la session de Septembre, adieu les voyages dans les iles :(
Un élève studieux mais long à la détente
Pierre CFI [mvp]
dans une req ou une source d'une zone de texte, effectivement il met la fonction anglaise en français, mais c'est tout, si tu mets des ' au lieu de ; , il plante, idem pour les formats, toutes instructions et traduire en anglais, donc il faut laisser format francais , dans les expressions françaises. C'est un peu logique, le pekin moyen qui fait sa req en francais, je vois pas comment il pourrait devener que les dates sont us cela dit les champs dans word sont maintenant en US
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer http://users.skynet.be/mpfa/ Site perso http://access.cfi.free.fr "Eric" a écrit dans le message de news:
Maitre, ;-))
explique-moi comment marche RechDom (ou une autre fonction de domaine), du moins ce qu'il y a derriere mais uniquement le critère.
Que je tape DLookUp et que ca soit traduit par RechDom, je m'imagine qu'il y a des tables d'équivalence sur les mots "réservés". Mais par contre, le 3eme argument correspond bien à la clause Where d'un Select, non ? donc pour moi je pensais qu'il était nécessaire de respecter la manière de l'écrire en langage SQL. (Il est vrai que si je laisse le date au format Fr ca marche aussi, mais ne serait-ce pas du à l'interpreteur?).
J'espère que je vais pas avoir 00 ce coup-là, sinon je suis condamné à revenir à la session de Septembre, adieu les voyages dans les iles :(
Un élève studieux mais long à la détente
dans une req ou une source d'une zone de texte, effectivement il met la fonction anglaise en français, mais c'est tout, si tu mets
des ' au lieu de ; , il plante, idem pour les formats, toutes instructions et traduire en anglais, donc il faut laisser format
francais , dans les expressions françaises. C'est un peu logique, le pekin moyen qui fait sa req en francais, je vois pas comment il
pourrait devener que les dates sont us
cela dit les champs dans word sont maintenant en US
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Eric" <f_framZZ@hotmail.com> a écrit dans le message de news:XnF94D6AF0E4D508fframZZhotmailcom@207.46.248.16...
Maitre, ;-))
explique-moi comment marche RechDom (ou une autre fonction de domaine), du
moins ce qu'il y a derriere mais uniquement le critère.
Que je tape DLookUp et que ca soit traduit par RechDom, je m'imagine qu'il
y a des tables d'équivalence sur les mots "réservés".
Mais par contre, le 3eme argument correspond bien à la clause Where d'un
Select, non ? donc pour moi je pensais qu'il était nécessaire de respecter
la manière de l'écrire en langage SQL. (Il est vrai que si je laisse le
date au format Fr ca marche aussi, mais ne serait-ce pas du à
l'interpreteur?).
J'espère que je vais pas avoir 00 ce coup-là, sinon je suis condamné à
revenir à la session de Septembre, adieu les voyages dans les iles :(
dans une req ou une source d'une zone de texte, effectivement il met la fonction anglaise en français, mais c'est tout, si tu mets des ' au lieu de ; , il plante, idem pour les formats, toutes instructions et traduire en anglais, donc il faut laisser format francais , dans les expressions françaises. C'est un peu logique, le pekin moyen qui fait sa req en francais, je vois pas comment il pourrait devener que les dates sont us cela dit les champs dans word sont maintenant en US
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer http://users.skynet.be/mpfa/ Site perso http://access.cfi.free.fr "Eric" a écrit dans le message de news:
Maitre, ;-))
explique-moi comment marche RechDom (ou une autre fonction de domaine), du moins ce qu'il y a derriere mais uniquement le critère.
Que je tape DLookUp et que ca soit traduit par RechDom, je m'imagine qu'il y a des tables d'équivalence sur les mots "réservés". Mais par contre, le 3eme argument correspond bien à la clause Where d'un Select, non ? donc pour moi je pensais qu'il était nécessaire de respecter la manière de l'écrire en langage SQL. (Il est vrai que si je laisse le date au format Fr ca marche aussi, mais ne serait-ce pas du à l'interpreteur?).
J'espère que je vais pas avoir 00 ce coup-là, sinon je suis condamné à revenir à la session de Septembre, adieu les voyages dans les iles :(
Un élève studieux mais long à la détente
David
Juste pour vous dire merci à tous les deux ...
Je vais attaquer sérieusement le problème avec toutes les infos que vous m'avez donné.
Sympa.
A plus
Juste pour vous dire merci à tous les deux ...
Je vais attaquer sérieusement le problème avec toutes les
infos que vous m'avez donné.