Date (ne connais pas toujours le jour et le mois)

Le
Michel Pellegrini
1ère question
¯¯¯¯¯¯¯¯¯¯¯¯¯
J'entre des noms de personnes dans ma base de donnée.
Dans un champ, j'entre des dates de naissances.

Certaines personnes, je connais le jour, le mois
et l'année de leur naissance, d'autres, juste le
mois et l'année ou même juste l'année.

Comme type de données, est-ce que je dois choisir
"texte" au lieu de "date/heure" pour ce champ ?

Est-ce que je dois taper un masque de saisie comme
celui ci ? !99-99-9999

2e question
¯¯¯¯¯¯¯¯¯¯¯¯
Dans une requête, comment je fais pour que me sois
retourner, par exemple, les personnes nées après
1980 si j'ai des dates de naissances qui contiennent
le jour, le mois et l'année et d'autres contiennent
seulement le mois et l'année ou seulement l'année de
la naissance ?

Michel.Pellegrini@Enter-Net.com
Vercheres QC Canada
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Raymond [mvp]
Le #6306811
Bonjour.

si tu veux traiter des champs date il faut qu'ils contiennent des dates
valides.

pour solutionner ce type d'inconvénient, on rajoute une case à cocher nommée
"date présumée" et on indique la date 01/01/année ou 31/12/année. ce qui
aura pour avantage de traiter une date valide et si la case est cochée de
savoir que c'est une date présumée.

--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
http://officesystem.access.free.fr/wiki/
Pour débuter sur le forum: http://www.mpfa.info/

Venez découvrir Open XML, le nouveau format de fichier de la suite Office !
http://www.comscamp.com/Tracker/Redirect.ashx?linkidÿ71c7f3-78e8-4371-abaf-b73c259e58db


"Michel Pellegrini" message de news: %23%
| 1ère question
| ¯¯¯¯¯¯¯¯¯¯¯¯¯
| J'entre des noms de personnes dans ma base de donnée.
| Dans un champ, j'entre des dates de naissances.
|
| Certaines personnes, je connais le jour, le mois
| et l'année de leur naissance, d'autres, juste le
| mois et l'année ou même juste l'année.
|
| Comme type de données, est-ce que je dois choisir
| "texte" au lieu de "date/heure" pour ce champ ?
|
| Est-ce que je dois taper un masque de saisie comme
| celui ci ? !99-99-9999
|
| 2e question
| ¯¯¯¯¯¯¯¯¯¯¯¯
| Dans une requête, comment je fais pour que me sois
| retourner, par exemple, les personnes nées après
| 1980 si j'ai des dates de naissances qui contiennent
| le jour, le mois et l'année et d'autres contiennent
| seulement le mois et l'année ou seulement l'année de
| la naissance ?
|
|
| Vercheres QC Canada
|
|
|
Florent
Le #6306801
Dans certaines administrations
pour les personnes dont la date de naissance est incertaine
il est d'usage courant de mettre le 1er jour de la période incertaine
Par exemple 01/01/1942 pour une personne qui est née
en 1942 mais dont on ne connais ni le jour, ni le mois
ou 01/09/1942 si la personne connait le mois, mais pas le jour.

Cette solution peut ne pas convenir à ton application,
dans ce cas il serait peut être pertinent de créer
un champ jour de type numérique et valable de 1 à 31
un champ mois de type numérique et valable de 1 à 12
un champ année de type numérique et valable de 1940 à 2100 (par exemple)
Cela faciliterais la recherche des personnes nées au cours d'une année
précise
ou au cours d'une période de 1960 à 1962 par exemple

Bonne chance
Paul
Willi2004
Le #6306791
Bonjour Michel.
Avant toute chose, je voudrais souhaiter une bonne fête du 14 Juillet à tous
les français.

Ta 1ère question:
Tu peux choisir le format "texte" mais par la suite si tu prévois de faire
des calculs faisant appel à ce champ, tu y arriveras certes mais plus
difficilement.
Par exemple, tu peux désirer savoir si tel est né un Lundi et tel autre un
Jeudi.
Avec le format "texte", comment y parviendras-tu sans passer par une
fonction ou une longue formule?
A part ce fait, c'est bien ce format qui répondra le mieux à ta
préoccupation.


Pou ta 2è question:
En supposant que tu as décidé de passer au format "texte":
Dans la zone "Critères" de ton champ "DateNaissance", tu mets:
Droite(DateNaissance;4)">1980.

Pour un champ de type "date", tu mets: Format(DateNaissance;'aaaa') >1980

Ainsi, la requête retournera tous ceux nés après 1980.



"Michel Pellegrini" message de news: %23%
| 1ère question
| ¯¯¯¯¯¯¯¯¯¯¯¯¯
| J'entre des noms de personnes dans ma base de donnée.
| Dans un champ, j'entre des dates de naissances.
|
| Certaines personnes, je connais le jour, le mois
| et l'année de leur naissance, d'autres, juste le
| mois et l'année ou même juste l'année.
|
| Comme type de données, est-ce que je dois choisir
| "texte" au lieu de "date/heure" pour ce champ ?
|
| Est-ce que je dois taper un masque de saisie comme
| celui ci ? !99-99-9999
|
| 2e question
| ¯¯¯¯¯¯¯¯¯¯¯¯
| Dans une requête, comment je fais pour que me sois
| retourner, par exemple, les personnes nées après
| 1980 si j'ai des dates de naissances qui contiennent
| le jour, le mois et l'année et d'autres contiennent
| seulement le mois et l'année ou seulement l'année de
| la naissance ?
|
|
| Vercheres QC Canada
|
|
|
Michel Pellegrini
Le #6306771
(Moi)
|> J'entre des noms de personnes dans ma base de donnée.
|> Dans un champ, j'entre des dates de naissances.
|> Certaines personnes, je connais le jour, le mois
|> et l'année de leur naissance, d'autres, juste le
|> mois et l'année ou même juste l'année.
|> Comme type de données, est-ce que je dois choisir
|> "texte" au lieu de "date/heure" pour ce champ ?
|> [...]

(RAYMOND, ACCESS MVP)
|>> si tu veux traiter des champs date il faut qu'ils
|>> contiennent des dates valides.
|>> pour solutionner ce type d'inconvénient, on rajoute
|>> une case à cocher nommée "date présumée" et on indique
|>> la date 01/01/année ou 31/12/année. ce qui aura pour
|>> avantage de traiter une date valide et si la case est
|>> cochée de savoir que c'est une date présumée.

Ok, merci, je crois que je vais adopter cette façon de faire.
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
(PAUL, ALIAS FLORENT)
|>> Dans certaines administrations pour les personnes dont
|>> la date de naissance est incertaine il est d'usage
|>> courant de mettre le 1er jour de la période incertaine
|>> Par exemple 01/01/1942 [...]
|>> Cette solution peut ne pas convenir à ton application,
|>> dans ce cas il serait peut être pertinent de créer
|>> un champ jour de type numérique et valable de 1 à 31
|>> un champ mois de type numérique et valable de 1 à 12
|>> un champ année de type numérique et valable de 1940 à 2100
|>> (par exemple). Cela faciliterais la recherche des personnes
|>> nées au cours d'une année précise ou au cours d'une période
|>> de 1960 à 1962 par exemple.

C'est simple et efficace. J'y ai pensé mais je me suis demandé
si ce n'étais pas une façon laborieuse et très amateure de faire
les choses. Mais si vous le dites, je vais y réfléchir. Ça donne
deux zones de texte de plus mais une case à cocher de moins.
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
(WILLI2004)
|>> Tu peux choisir le format "texte" [...] A part ce fait
|>> [savoir si tel est né un Lundi et tel autre un Jeudi], c'est
|>> bien ce format qui répondra le mieux à ta préoccupation.
|>>
|>> En supposant que tu as décidé de passer au format "texte":
|>> Dans la zone "Critères" de ton champ "DateNaissance", tu mets:
|>> Droite(DateNaissance;4)">1980.
|>>
|>> Pour un champ de type "date", tu mets:
|>> Format(DateNaissance;'aaaa') >1980
|>>
|>> Ainsi, la requête retournera tous ceux nés après 1980.

Ok, merci, je vais avoir besoin de ça.


Vercheres QC Canada
Gloops
Le #6305811
Florent a écrit, le 14/07/2007 11:58 :
Cette solution peut ne pas convenir à ton application,
dans ce cas il serait peut être pertinent de créer
un champ jour de type numérique et valable de 1 à 31
un champ mois de type numérique et valable de 1 à 12
un champ année de type numérique et valable de 1940 à 2100 (par e xemple)


C'est bien à ça que j'ai pensé aussi ...
ça permet de savoir tout de suite qui sont ceux pour qui on a tel
renseignement.

Enfin bon, comme dit Coluche, si vous n'en voulez pas ...
:)

Publicité
Poster une réponse
Anonyme