Bienvenue invité ( Connexion | Inscription )
![]() ![]() |
30-07-2008 - 12:50
Message
#1
|
|
|
Membre Groupe : Membres Messages : 17 Inscrit : 28-07-2008 Membre n° 13 140 |
J'ai fait une base de données clients, avec plusieurs champs. J'ai un champ nommé DDN date de naissance, je voudrais être avisé 10 jours avant la date inscrite par une alarme, genre courrier envoyé à mon adresse à moi. Bien attendu l'envoie devra aussi me donné le nom de la personne à qui correspond la date. ATTENTION, nouveau dans l'utilisation de Access, donc peu de connaissance. Donc la patience vous es demandé dans votre aide. Merci de votre aide si précieuse. Mich |
|
|
|
05-08-2008 - 6:55
Message
#2
|
|
|
Membre Groupe : Membres Messages : 21 Inscrit : 14-05-2008 Lieu : Devant l'écran Membre n° 12 982 |
Bonjour,
ATTENTION, nouveau dans l'utilisation de Access, donc peu de connaissance. D'accord pour de l'aide.Donc la patience vous es demandé dans votre aide. J'ai fait une base de données clients, avec plusieurs champs. Trés bien. Quels sont ces champs? L'idéal serait de faire voir une requête. A défaut les champs de table. Cordialement. -------------------- Le peu que je sais, c'est à mon ignorance que je le dois.
...............................................................................Sacha Guitry |
|
|
|
05-08-2008 - 10:03
Message
#3
|
|
|
Membre Groupe : Membres Messages : 17 Inscrit : 28-07-2008 Membre n° 13 140 |
Ma base de données clients a plusieurs champs (nom famille,prénom,date de naissance,adresse,ville,code postal, cellulaire,no de téléphone,fax,courrier@, prêteurs,terme,amortissement,assureur,renouvelleement,nom famille1,prénom1,cellulaire1,courrier@1) sur le champ DDN , je voudrais avoir une alarme 10 jours avant la date inscrite. alarme par courrier, le mien @ ou autre manière. Merci de ton aide, tu sais je suis un peu perdu et en manque de connaissance. Donc j'ai besoin d'exemple. Michel |
|
|
|
05-08-2008 - 19:27
Message
#4
|
|
|
Membre Groupe : Membres Messages : 21 Inscrit : 14-05-2008 Lieu : Devant l'écran Membre n° 12 982 |
Bonsoir, (2 h 27 Paris)
Merci de ton aide, tu sais je suis un peu perdu et en manque de connaissance. Donc j'ai besoin d'exemple. Exemple? Peut-être. Travailler? Certainement. Remis dans une présentation <>"Acceptable" voici ton apport : nom famille, prénom, date de naissance, adresse, ville, code postal, cellulaire, no de téléphone, fax, courrier@, prêteurs, terme, amortissement, assureur, renouvelleement, nom famille1, prénom1, cellulaire1, courrier@1 Ceci est un peu léger. Lorsqu'on propose d'aider, il faut que le bénéficiaire s'investisse. En effet, notre aide ne consiste pas à faire le travail. Autant proposer des bases toutes faites. Le sujet est d'aider chacun à progresser. Il aurait été souhaitable que tu indiques le type et longueur des champs. Pour revenir au sujet. Il est préférable de ne pas laisser d'espace dans les noms de champs en employant des tirets(Pas trait d'union) Utiliser des noms courts, suffisament explicites. Ne pas utiliser de mots réservés, exemple Date. On écrira pour un champ-->Dte et lors de besoin on employera-->Date ce qui équivaut à Date du jour. En premier épisode on va aller jusqu'au calcul d'age. La table : tblMich ....Nom.................Type N°.......................Compteur Civilité.................Texte.....(50) Nom....................Texte.....(50) Prénom................Texte.....(50) Dte_Naissance......Date.....[Short Date] Adresse...............Texte.....(50) Ville.....................Texte.....(50) CP........................Texte......(7) Cellulaire..............Texte.....(15) Telephon...............Texte.....(15) fax........................Texte.....(15) Courrier@..............Texte.....(50) Prêteurs................Texte.....(50) Terme...................Texte.....(50) Amortissement.......Texte.....(50) Assureur................Texte.....(50) Renouvelleement....Texte.....(50) (Avec 2 ee?) Civilité1..................Texte.....(50) Nom1......................Texte.....(50) Prénom1.................Texte.....(50) Cellulaire1...............Texte.....(15) Courrier@1..............Texte.....(15) Pour Civilité et Civilité1 Zone de liste déroulante Liste valeurs Contenu :"Mr";"Monsieur";"Mme";"Madame";"Mlle";"Mademoiselle";"Mme et Mr";"Madame et Monsieur";"Mrs";"Messieurs" Largeur colonnes : 1,9cm;3,403cm Dans un module tout neuf on colle : CODE Function CalculAge(dateNaissance As Date, Optional dateReference As Date) If dateReference = 0 Then dateReference = Date CalculAge = Year(dateReference) - Year(dateNaissance) + _ (Format(dateNaissance, "mmdd") > Format(dateReference, "mmdd")) If CalculAge > 1 Then CalculAge = CalculAge & " ans" Else CalculAge = CalculAge & " an" End If End Function '*************************************************************** Function CalculAge1(dateNaissance As Date, Optional dateReference As Date) If dateReference = 0 Then dateReference = Date CalculAge1 = Year(dateReference) - Year(dateNaissance) + _ (Format(dateNaissance, "mmdd") > Format(dateReference, "mmdd")) End Function '*************************************************************** Function DernierJourDuMois(Optional dteDate As Date) As Date ' Cette fonction calcule le dernier jour du mois d'après une date donnée. ' Si aucune date n'est transmise, elle utilise la date du jour. If CLng(dteDate) = 0 Then dteDate = Date End If ' Recherche le premier jour du mois suivant, puis soustrait un jour. DernierJourDuMois = DateSerial(Year(dteDate), Month(dteDate) + 1, 1) - 1 End Function '**************************************************************** 'De notre ami PHILBEN '**************************************************************** Public Function RoundUp(vValeur As Variant, Optional byNbDec As Byte) As Variant RoundUp = -Int(-vValeur * 10 ^ byNbDec) / 10 ^ byNbDec End Function '*************************************************************** 'Toujours de notre ami PHILBEN '**************************************************************** Public Function RoundDown(vValeur As Variant, Optional byNbDec As Byte) As Variant RoundDown = Int(vValeur * 10 ^ byNbDec) / 10 ^ byNbDec End Function Une requête : CODE SELECT N°, Civilité, Nom, Prénom, [Civilité] & " " & [Nom] & " " & [Prénom] AS NP, Dte_Naissance, CalculAge([Dte_Naissance]) AS Age, CalculAge1([Dte_Naissance]) AS Compteur, IIf(Day(DernierJourDuMois([Dte_Naissance]))=29, RoundDown([Compteur]/4),[Compteur]) AS Anniversaires, Adresse,Ville, CP, Cellulaire, Telephon, fax,[Courrier@], Prêteurs,Terme,Amortissement,Assureur,Renouvelleement, Nom1, Prénom1,Cellulaire1,[Courrier@1], Civilité1 FROM tblMich; On doit obtenir quelque chose dans le genre : ..........NP.....................Age............Compteur....Anniversaires.... Mr Lamy Claude.........49 ans...............49.................49................21/12/1958 Mr Francis Hop...........60 ans...............60.................15................29/02/1948 Mme Romanof Anne...43 ans...............43.................43.................20/06/1965 Mlle Tradition Noémie.37 ans...............37.................37.................08/08/1970 Bonsoir. Je vais me coucher. Cordialement -------------------- Le peu que je sais, c'est à mon ignorance que je le dois.
...............................................................................Sacha Guitry |
|
|
|
05-08-2008 - 22:00
Message
#5
|
|
|
Membre Groupe : Membres Messages : 17 Inscrit : 28-07-2008 Membre n° 13 140 |
Bonsoir, (2 h 27 Paris)
Exemple? Peut-être. Travailler? Certainement. Remis dans une présentation <>"Acceptable" voici ton apport : nom famille, prénom, date de naissance, adresse, ville, code postal, cellulaire, no de téléphone, fax, courrier@, prêteurs, terme, amortissement, assureur, renouvelleement, nom famille1, prénom1, cellulaire1, courrier@1 Ceci est un peu léger. Lorsqu'on propose d'aider, il faut que le bénéficiaire s'investisse. En effet, notre aide ne consiste pas à faire le travail. Autant proposer des bases toutes faites. Le sujet est d'aider chacun à progresser. Il aurait été souhaitable que tu indiques le type et longueur des champs. Pour revenir au sujet. Il est préférable de ne pas laisser d'espace dans les noms de champs en employant des tirets(Pas trait d'union) Utiliser des noms courts, suffisament explicites. Ne pas utiliser de mots réservés, exemple Date. On écrira pour un champ-->Dte et lors de besoin on employera-->Date ce qui équivaut à Date du jour. En premier épisode on va aller jusqu'au calcul d'age. La table : tblMich ....Nom.................Type N°.......................Compteur Civilité.................Texte.....(50) Nom....................Texte.....(50) Prénom................Texte.....(50) Dte_Naissance......Date.....[Short Date] Adresse...............Texte.....(50) Ville.....................Texte.....(50) CP........................Texte......(7) Cellulaire..............Texte.....(15) Telephon...............Texte.....(15) fax........................Texte.....(15) Courrier@..............Texte.....(50) Prêteurs................Texte.....(50) Terme...................Texte.....(50) Amortissement.......Texte.....(50) Assureur................Texte.....(50) Renouvelleement....Texte.....(50) (Avec 2 ee?) Civilité1..................Texte.....(50) Nom1......................Texte.....(50) Prénom1.................Texte.....(50) Cellulaire1...............Texte.....(15) Courrier@1..............Texte.....(15) Pour Civilité et Civilité1 Zone de liste déroulante Liste valeurs Contenu :"Mr";"Monsieur";"Mme";"Madame";"Mlle";"Mademoiselle";"Mme et Mr";"Madame et Monsieur";"Mrs";"Messieurs" Largeur colonnes : 1,9cm;3,403cm Dans un module tout neuf on colle : CODE Function CalculAge(dateNaissance As Date, Optional dateReference As Date) If dateReference = 0 Then dateReference = Date CalculAge = Year(dateReference) - Year(dateNaissance) + _ (Format(dateNaissance, "mmdd") > Format(dateReference, "mmdd")) If CalculAge > 1 Then CalculAge = CalculAge & " ans" Else CalculAge = CalculAge & " an" End If End Function '*************************************************************** Function CalculAge1(dateNaissance As Date, Optional dateReference As Date) If dateReference = 0 Then dateReference = Date CalculAge1 = Year(dateReference) - Year(dateNaissance) + _ (Format(dateNaissance, "mmdd") > Format(dateReference, "mmdd")) End Function '*************************************************************** Function DernierJourDuMois(Optional dteDate As Date) As Date ' Cette fonction calcule le dernier jour du mois d'après une date donnée. ' Si aucune date n'est transmise, elle utilise la date du jour. If CLng(dteDate) = 0 Then dteDate = Date End If ' Recherche le premier jour du mois suivant, puis soustrait un jour. DernierJourDuMois = DateSerial(Year(dteDate), Month(dteDate) + 1, 1) - 1 End Function '**************************************************************** 'De notre ami PHILBEN '**************************************************************** Public Function RoundUp(vValeur As Variant, Optional byNbDec As Byte) As Variant RoundUp = -Int(-vValeur * 10 ^ byNbDec) / 10 ^ byNbDec End Function '*************************************************************** 'Toujours de notre ami PHILBEN '**************************************************************** Public Function RoundDown(vValeur As Variant, Optional byNbDec As Byte) As Variant RoundDown = Int(vValeur * 10 ^ byNbDec) / 10 ^ byNbDec End Function Une requête : CODE SELECT N°, Civilité, Nom, Prénom, [Civilité] & " " & [Nom] & " " & [Prénom] AS NP, Dte_Naissance, CalculAge([Dte_Naissance]) AS Age, CalculAge1([Dte_Naissance]) AS Compteur, IIf(Day(DernierJourDuMois([Dte_Naissance]))=29, RoundDown([Compteur]/4),[Compteur]) AS Anniversaires, Adresse,Ville, CP, Cellulaire, Telephon, fax,[Courrier@], Prêteurs,Terme,Amortissement,Assureur,Renouvelleement, Nom1, Prénom1,Cellulaire1,[Courrier@1], Civilité1 FROM tblMich; On doit obtenir quelque chose dans le genre : ..........NP.....................Age............Compteur....Anniversaires.... Mr Lamy Claude.........49 ans...............49.................49................21/12/1958 Mr Francis Hop...........60 ans...............60.................15................29/02/1948 Mme Romanof Anne...43 ans...............43.................43.................20/06/1965 Mlle Tradition Noémie.37 ans...............37.................37.................08/08/1970 Bonsoir. Je vais me coucher. Cordialement |
|
|
|
05-08-2008 - 22:04
Message
#6
|
|
|
Membre Groupe : Membres Messages : 17 Inscrit : 28-07-2008 Membre n° 13 140 |
Regarde ma base de données est faite avec tous les champs. Ce que je demandais ces de l'aide pour avoir une alarme sur le champ date de daissance, être avisé 10 jours avant la date inscrite, alrme par courrier ou autre moyen. Je vais essauer ce que tu ma laissé comme code, je te redonne un suivie. Merci Michel |
|
|
|
06-08-2008 - 14:37
Message
#7
|
|
|
Membre Groupe : Membres Messages : 17 Inscrit : 28-07-2008 Membre n° 13 140 |
Regarde ma base de données est faite avec tous les champs. Ce que je demandais ces de l'aide pour avoir une alarme sur le champ date de daissance, être avisé 10 jours avant la date inscrite, alrme par courrier ou autre moyen. Je vais essauer ce que tu ma laissé comme code, je te redonne un suivie. Merci Michel |
|
|
|
06-08-2008 - 14:43
Message
#8
|
|
|
Membre Groupe : Membres Messages : 17 Inscrit : 28-07-2008 Membre n° 13 140 |
Bonsoir à toi
Encore une fois merci pour ton aide. comme je te disais ma base de données est faite. Dans ton suivie, tu me dis: Dans le module tout neuf on colle: Module veut dire quoi......................... (j'ai pas besoin du champ civilité) Le requête, je la fait en mode construction. Besoin plus d'explication.Voir avec exemple. Merci de ta patience et de ton aide. Michel |
|
|
|
07-08-2008 - 2:32
Message
#9
|
|
|
Membre Groupe : Membres Messages : 21 Inscrit : 14-05-2008 Lieu : Devant l'écran Membre n° 12 982 |
Bonjour, (Paris 9 h)
Il est inutile de reprendre l'intégralité du post de chacun si ce n'est pour en extraire ce qu'on veut commenter. Exemple : CITATION Regarde ma base de données est faite avec tous les champs. Une "méchante" table et la base est faite? CITATION Ce que je demandais ces de l'aide pour avoir une alarme sur le champ date de daissance, être avisé 10 jours avant la date inscrite, alrme par courrier ou autre moyen. Ho Ho! Ceci ressemble fort à une demande d'utilisateur. _ " Je veux être avisé 10 jours chaque anniversaire" L'utilisateur se moque royalement du comment et pourquoi ça fonctionne. Seul le résultat compte. Si c'est le cas, je t'invite à faire une demande de devis. Il y a l'embarras du choix pour trouver un prestataire. Par contre une demande concepteur est : " Comment peut-on faire pour avoir une alarme , être avisé 10 jours avant la date inscrite, alarme par courrier ou autre moyen." Là je veux bien intervenir. Le sens même de ce Forum. Dans ton suivie, tu me dis: Dans le module tout neuf on colle: Module veut dire quoi......................... (j'ai pas besoin du champ civilité) Le requête, je la fait en mode construction. Besoin plus d'explication.Voir avec exemple. Exactement ce que je soupçonnais.... Il faut faire du ba-->BA Si j'ai ajouté le champ civilité, ce n'est pas innocent. D'une part, on est en programmation. Tout ce qui a un caractère répétitif, on a le devoir de le faciliter.(Plus tard on est appellé à voir ceci pour CP<-->Ville : On rentre l'un, l'autre s'affiche automatiquement. Et vice versa.) Je veux te faire voir comment inclure une liste déroulante autrement qu'en allant chercher les données dans une table. Tu vas inclure ce champ civilité. Je "travaille" pour essayer de te guider. Ce n'est pas que "marrant" d'imaginer comment le faire afin que ceci te soit accessible. J'irai plus vite en faisant directement une petite base. Mais il faut que je fasse de mon côté exactement ce que je vais te proposer. Bon, je n'ai pas tellement le temps ce matin, on verra pour les requêtes ce soir. Pour les modules : Objets-->Modules-->Nouveau et on colle mon envoi juste en dessous de : CODE Option Compare Database Courage! Cordialement. -------------------- Le peu que je sais, c'est à mon ignorance que je le dois.
...............................................................................Sacha Guitry |
|
|
|
07-08-2008 - 4:45
Message
#10
|
|
|
Membre Groupe : Membres Messages : 17 Inscrit : 28-07-2008 Membre n° 13 140 |
Bonjour, (Paris 9 h)
Il est inutile de reprendre l'intégralité du post de chacun si ce n'est pour en extraire ce qu'on veut commenter. Exemple : Une "méchante" table et la base est faite? Ho Ho! Ceci ressemble fort à une demande d'utilisateur. _ " Je veux être avisé 10 jours chaque anniversaire" L'utilisateur se moque royalement du comment et pourquoi ça fonctionne. Seul le résultat compte. Si c'est le cas, je t'invite à faire une demande de devis. Il y a l'embarras du choix pour trouver un prestataire. Par contre une demande concepteur est : " Comment peut-on faire pour avoir une alarme , être avisé 10 jours avant la date inscrite, alarme par courrier ou autre moyen." Là je veux bien intervenir. Le sens même de ce Forum. Exactement ce que je soupçonnais.... Il faut faire du ba-->BA Si j'ai ajouté le champ civilité, ce n'est pas innocent. D'une part, on est en programmation. Tout ce qui a un caractère répétitif, on a le devoir de le faciliter.(Plus tard on est appellé à voir ceci pour CP<-->Ville : On rentre l'un, l'autre s'affiche automatiquement. Et vice versa.) Je veux te faire voir comment inclure une liste déroulante autrement qu'en allant chercher les données dans une table. Tu vas inclure ce champ civilité. Je "travaille" pour essayer de te guider. Ce n'est pas que "marrant" d'imaginer comment le faire afin que ceci te soit accessible. J'irai plus vite en faisant directement une petite base. Mais il faut que je fasse de mon côté exactement ce que je vais te proposer. Bon, je n'ai pas tellement le temps ce matin, on verra pour les requêtes ce soir. Pour les modules : Objets-->Modules-->Nouveau et on colle mon envoi juste en dessous de : CODE Option Compare Database Courage! Cordialement. |
|
|
|
07-08-2008 - 4:54
Message
#11
|
|
|
Membre Groupe : Membres Messages : 17 Inscrit : 28-07-2008 Membre n° 13 140 |
Regarde, je me suis surement mal exprimé dans ma demande. Tu sais je travaille fort dans cette réalisation, j'essaie, sans résultat positif. Dis moi, voudrais-tu que je refasse une nouvelle base de données avec les champs que tu ma envoyé dans un de tes messages (avec civilité). Ca parait si simple pour toi, mais moi qui es débutant, alors la je me perds facilement. Merci de ton aide que j'apprécie beaucoup.J'attend ton suivier ce soir comme tu la souligné. |
|
|
|
07-08-2008 - 5:32
Message
#12
|
|
|
Membre Groupe : Membres Messages : 17 Inscrit : 28-07-2008 Membre n° 13 140 |
Regarde, je me suis surement mal exprimé dans ma demande. Tu sais je travaille fort dans cette réalisation, j'essaie, sans résultat positif. Dis moi, voudrais-tu que je refasse une nouvelle base de données avec les champs que tu ma envoyé dans un de tes messages (avec civilité). Ca parait si simple pour toi, mais moi qui es débutant, alors la je me perds facilement. Merci de ton aide que j'apprécie beaucoup.J'attend ton suivie ce soir comme tu la souligné. Je viens de faire ce que tu m'avais demandé : Une nouvelle table enrg tblMich, j'ai copié le code dans le module sous module 1, (note dans ma base j'ai modifié telephon en ajoutant un e, et la taille de certain champ, tu avais oublié un champ Dte_Naissance1) J'ai copié le code requète dans une nouvelle requete, enrg :requeteMich On me donne un message d'erreur : Nom Ambigu dans l'expression 'calculAge([Dte_Naissance])' Encore merci de ton aide. Ce message a été modifié par Moi Mich - 07-08-2008 - 5:54. |