Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Extraire des données un mois avant l'échéance

4 réponses
Avatar
Tourlou57
Bonjour à tous,

Je me suis lancé dans la création d'une base de données Access qui servira,
une fois terminée, à la gestion d'un cabinet vétérinaire.

Détail de cette base de données :

TableClient : Contenant le nom, prénom, adresse et n°de téléphone du
propriétaire du ou des animal(aux).

TableAnimal : Contenant le nom, date de naissance, espèce, race, DATE DE LA
DERNIERE VACCINATION de l'animal

TableViste : Contenant la date de la visite, le vétérinaire traitant, les
symptômes, le diagnostic, le traitement

Ces tables sont en relation "une à plusieurs" avec respect de l'intégrité
référentielle et le tout est placé sur un formulaire DOSSIER avec des
sous-formulaires Animal et Visite. Tout fonctionne parfaitement.

Le problème est que je voudrais sortir (à l'aide d'une requête, enfin je
crois que c'est ça que je vais devoir utiliser...) le nom, prénom et adresse
du propriétaire ainsi que le nom de l'animal pour qui le rappel de vaccin
doit être effectué et ce, un mois avant la date (vaccination tous les ans) de
manière à pouvoir envoyer les invitations. Je ne trouve pas le moyen de
"dire" à cette requête ce que j'attends d'elle.

Un grand merci à qui pourra me mettre sur la voie et de toute façon une très
bonne journée à tous ;o)

4 réponses

Avatar
Gilles MOUGNOZ
Bonjour, Tourlou
Je ne sais pas si tu sais déjà faire des requête alors je détaille (mieux
vaux trop que pas assez ;-).
Crée une nouvelle requête et clique sur le menu Affichage / Mode SQL.
Dans la fenêtre, colle ceci (attention aux retours à la ligne!):

SELECT TableClient.*, TableAnimal.* FROM TableClient INNER JOIN TableAnimal
ON TableClient.Clef_Client = TableAnimal.Clef_Client WHERE
(((TableAnimal.Date_Vaccin)<ÚteAdd("m",-11,Date()))) ORDER BY
TableClient.Nom_Client, TableAnimal.Nom_Animal

J'ai mis des noms de champs un peu au hasard, il faudra que tu les remplaces
par les noms réels avant d'aller plus loin.
Une fois les noms de champs modifiés, clique sur le menu Affichage / Mode
création. La partie importante est le critère qui apparaît sous la colonne
contenant la date du dernier vaccin: la formule AjDate("m",-11,Date())
renvoie la date précédant la date d'aujourd'hui de 11 mois.
D'après ce que j'ai compris, tous les vaccins effectués avant cette date
doivent être renouvellés, d'où l'opérateur <= (inférieur ou égal).
Je te laisse le soin de faire le tri entre les champs qui t'intéressent (par
défaut, je les ai tous sélectionnés).
Si tu as des soucis pour modifier ta requête, ce site devrais t'aider:
http://www.self-access.com/access/
Sinon, le forum est là :-)
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------
Bonjour à tous,
Je me suis lancé dans la création d'une base de données Access qui
servira,
une fois terminée, à la gestion d'un cabinet vétérinaire.
Détail de cette base de données :
TableClient : Contenant le nom, prénom, adresse et n°de téléphone du
propriétaire du ou des animal(aux).
TableAnimal : Contenant le nom, date de naissance, espèce, race, DATE DE
LA
DERNIERE VACCINATION de l'animal
TableViste : Contenant la date de la visite, le vétérinaire traitant, les
symptômes, le diagnostic, le traitement
Ces tables sont en relation "une à plusieurs" avec respect de l'intégrité
référentielle et le tout est placé sur un formulaire DOSSIER avec des
sous-formulaires Animal et Visite. Tout fonctionne parfaitement.
Le problème est que je voudrais sortir (à l'aide d'une requête, enfin je
crois que c'est ça que je vais devoir utiliser...) le nom, prénom et
adresse
du propriétaire ainsi que le nom de l'animal pour qui le rappel de vaccin
doit être effectué et ce, un mois avant la date (vaccination tous les ans)
de
manière à pouvoir envoyer les invitations. Je ne trouve pas le moyen de
"dire" à cette requête ce que j'attends d'elle.
Un grand merci à qui pourra me mettre sur la voie et de toute façon une
très
bonne journée à tous ;o)


Avatar
Tourlou57
Bonjour Gilles,

D'abord un grand merci pour te gentillesse et le temps pris à te pencher sur
mon cas ;o)

Malheureusement, ça ne donne rien :o( mais je n'ai certainement pas donné
tous les renseignements nécessaires et de plus, c'est la première fois que je
mets mon gros nez dans Access (ceci pour mettre à l'aise et te permettre de
trouver le Valium ;o)).

Résumons-nous:

TableClient avec les champs :

N° (num. auto.)
Nom
Prénom
Adresse
CP
Ville
Remarques (mémo)

TableAnimal avec les champs :

N° (num.auto.)
ID animal (numérique)
Nom de l'animal
Date de la dernière vaccination (date)

Relation "un à plusieurs" entre le champ N° de la table Client et IDanimal
de la table animal (je ne parle pas de la dernière table, elle n'entre pas en
ligne de compte).

Le but est donc de permettre à la véto, quand le matin elle ouvre son
cabinet, de cliquer sur un lien (ou bouton) et d'afficher les noms,
prénoms,adresses et nom de l'animal pour qui un rappel de vaccination doit
être fait un an après la date de la dernière vaccination mais un mois avant
l'échéance (comme cela, elle peut envoyer ces petites cartes postales
d'invitation).

Je me permets ce complément d'infos parce que, comme je le disais plus haut,
je suis loin d'être familier avec Access (et encore moins avec SQL ;o)). En
d'autres termes, je rame joyeusement ;o)))

Encore mille mercis.

Philippe
Avatar
Tourlou57
Gilles,


MERCI !!!!!!!!!!! Ca fonctionne super bien ...

J'ai du me prendre les pieds dans le tapis la première fois ;o)))

Super, je vais pouvoir continuer ...

Je te souhaite une très bonne journée
Avatar
Gilles MOUGNOZ
Content d'avoir pu t'être utile :-)
Bonne journée à toi aussi.
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------
Gilles,

MERCI !!!!!!!!!!! Ca fonctionne super bien ...

J'ai du me prendre les pieds dans le tapis la première fois ;o)))

Super, je vais pouvoir continuer ...

Je te souhaite une très bonne journée