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