Trucs et astuces Express - L'aide informatique au bout des doigts!

Bienvenue invité ( Connexion | Inscription )

2 Pages V   1 2 >  
Reply to this topicStart new topic
> alarme, alrme dans base de données
Moi Mich
posté 30-07-2008 - 12:50
Message #1


Membre


Groupe : Membres
Messages : 17
Inscrit : 28-07-2008
Membre n° 13 140



icon_fear.gif Bonjour besoin d'ide.
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 icon_wink.gif
Go to the top of the page
 
+Quote Post
francishop
posté 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,

CITATION(Moi Mich @ 30-07-2008 - 13:50) *
ATTENTION, nouveau dans l'utilisation de Access, donc peu de connaissance.
Donc la patience vous es demandé dans votre aide.
D'accord pour de l'aide.

CITATION(Moi Mich @ 30-07-2008 - 13:50) *
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
Go to the top of the page
 
+Quote Post
Moi Mich
posté 05-08-2008 - 10:03
Message #3


Membre


Groupe : Membres
Messages : 17
Inscrit : 28-07-2008
Membre n° 13 140



mai_applaudit.gif Merci de ton suivie, j'apprécie beaucoup.

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 ermm.gif
Go to the top of the page
 
+Quote Post
francishop
posté 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)
CITATION(Moi Mich @ 05-08-2008 - 11:03) *
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
Go to the top of the page
 
+Quote Post
Moi Mich
posté 05-08-2008 - 22:00
Message #5


Membre


Groupe : Membres
Messages : 17
Inscrit : 28-07-2008
Membre n° 13 140



CITATION(francishop @ 05-08-2008 - 20:27) *
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
Go to the top of the page
 
+Quote Post
Moi Mich
posté 05-08-2008 - 22:04
Message #6


Membre


Groupe : Membres
Messages : 17
Inscrit : 28-07-2008
Membre n° 13 140



wink.gif Merci àtoi mon ami de si loin.

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 closedeyes.gif
Go to the top of the page
 
+Quote Post
Moi Mich
posté 06-08-2008 - 14:37
Message #7


Membre


Groupe : Membres
Messages : 17
Inscrit : 28-07-2008
Membre n° 13 140



CITATION(Moi Mich @ 05-08-2008 - 23:04) *
wink.gif Merci àtoi mon ami de si loin.

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 closedeyes.gif
Go to the top of the page
 
+Quote Post
Moi Mich
posté 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
Go to the top of the page
 
+Quote Post
francishop
posté 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.

CITATION( @ 06-08-2008 - 15:43) *
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
Go to the top of the page
 
+Quote Post
Moi Mich
posté 07-08-2008 - 4:45
Message #10


Membre


Groupe : Membres
Messages : 17
Inscrit : 28-07-2008
Membre n° 13 140



CITATION(francishop @ 07-08-2008 - 3:32) *
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.
Go to the top of the page
 
+Quote Post
Moi Mich
posté 07-08-2008 - 4:54
Message #11


Membre


Groupe : Membres
Messages : 17
Inscrit : 28-07-2008
Membre n° 13 140



mai_chinese.gif Bon matin à toi, 5h.50 am ici Ville de Terrebonne

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é. whistling.gif
Go to the top of the page
 
+Quote Post
Moi Mich
posté 07-08-2008 - 5:32
Message #12


Membre


Groupe : Membres
Messages : 17
Inscrit : 28-07-2008
Membre n° 13 140



CITATION(Moi Mich @ 07-08-2008 - 5:54) *
mai_chinese.gif Bon matin à toi, 5h.50 am ici Ville de Terrebonne

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é. whistling.gif


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.