OVH Cloud OVH Cloud

[Access 2007] Problème de requête

22 réponses
Avatar
Tourlou57
Bonjour à tous,


Me revoilà avec une question relative à ma base de données pour la gestion
d'un cabinet vétérinaire et comme j'ai toujours été super bien reçu, hop ...
je pose.

Détail de la base de données :

Table client :

N° réf client (numauto - clé primaire)
Nom
Adresse
CP
Ville
Tél maison
Tel bureau
Tél portable
Remarques (mémo)

TableAnimal

N° réf animal (numauto - clé primaire)
ID animal (numérique)
Nom de l'animal
Date de naissance
Espece
Race
Sexe
Type d'indentificateur
N° identificateur
Remarques (mémo)

TableVisite

N° réf visite (numauto - clé primaire)
ID Visite (numérique)
Date de la visite
Par le docteur (liste de choix)
Poids
Température
DATE VACCINS
Symptômes
Diagnostic
Traitement
Analyses demandées
Résultat des analyses
Remarques

Relation "un à plusieurs" entre TableClient et TableAnimal via N° réf client
et ID animal
Relation "un à plusieurs" entre TableAnimal et TableViste via N° ref animal
et ID Visite

J'avais déjà demandé un coup de main pour la création d'une requête
affichant les candidats aux vaccins un mois avant l'échéance et Gilles
m'avait conseillé cette procédure (qui fonctionnait super bien d'ailleurs)

SELECT TableClient.Nom, TableClient.Prénom, TableClient.Adresse,
TableClient.CP, TableClient.Ville, TableAnimal.[Nom de l'animal],
TableVisite.[Date vaccins], *
FROM (TableClient INNER JOIN TableAnimal ON TableClient.[N° réf
client]=TableAnimal.[ID animal]) INNER JOIN TableVisite ON TableAnimal.[N°
réf animal]=TableVisite.[ID visite]
WHERE (((TableVisite.[Date vaccins])<=DateAdd("m",-11,Date())))
ORDER BY TableClient.Nom;

Le problème est le suivant :

J'ai simulé, dans ma base de données, une vaccination du chat Félix (ça
c'est original !!! ;o) ) à un an moins un mois et ma requête me l'affiche
bien (là rien à dire).
J'ai alors entré une nouvelle visite avec la date du jour dans le champ
"date vaccination" de notre ami Félix et zut et super zut, la requête me
garde la date à un an moins un mois et m'affiche quand même le petit Félix
(le pauvre, il va faire une over dose de vaccin).

Autrement dit, comment faire pour que cette requête prenne en charge la
dernière date de vaccination ?

En tapant cette prose, je me rends compte aussi que la vétérinaire va
devoir, à chaque visite, retaper la date de vaccination. Existe-t-il une
solution pour que cette date s'affiche automatiquement dans le champ adéquat
et ce tant que le doc ne l'aura pas modifiée ?

Désolé pour mon inexpérience en Access, c'est la première fois que j'y mets
mon gros nez d'où les questions à répétition et certainement basiques pour
beaucoup.

De toute façon, un super grand merci pour le coup de main éventuel et une
bonne journée à tout le monde.

Philippe

10 réponses

1 2 3
Avatar
Raymond [mvp]
Rien reçu à 16h45, peux-tu vérifier l'envoi ?

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Non Stop Mix '07 - Paris. La nouvelle scène web fête la créativité !
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273


"Tourlou57" a écrit dans le message de
news:
| Merci Raymond, c'est parti à l'instant.
|
|
| > Tu peux m'envoyer ta base par mail en fichier zip, si possible ? je
jetterai
| > un oeil. prend l'adresse dans ma signature et enlève les xyz de
sécurité.
Avatar
Gloops
Bonjour,

J'ai juste fait un très rapide survol, mais je vois que la date de
vaccin est prévue pour chaque visite, et pas pour chaque animal. Don c,
si l'animal fait quinze visites, il aura droit à quinze vaccinations ?

J'aurais été tenté de mettre [ID animal] comme clé pr imaire de la table
animal, et même principe pour la visite, mais peut-être est-ce un
réflexe appliqué un peu rapidement.

________________________________________
Tourlou57 a écrit, le 26/05/2007 04:19 :
Bonjour à tous,


Me revoilà avec une question relative à ma base de donné es pour la gestion
d'un cabinet vétérinaire et comme j'ai toujours été super bien reçu, hop ...
je pose.

Détail de la base de données :

Table client :

N° réf client (numauto - clé primaire)
Nom
Adresse
CP
Ville
Tél maison
Tel bureau
Tél portable
Remarques (mémo)

TableAnimal

N° réf animal (numauto - clé primaire)
ID animal (numérique)
Nom de l'animal
Date de naissance
Espece
Race
Sexe
Type d'indentificateur
N° identificateur
Remarques (mémo)

TableVisite

N° réf visite (numauto - clé primaire)
ID Visite (numérique)
Date de la visite
Par le docteur (liste de choix)
Poids
Température
DATE VACCINS
Symptômes
Diagnostic
Traitement
Analyses demandées
Résultat des analyses
Remarques

Relation "un à plusieurs" entre TableClient et TableAnimal via N ° réf client
et ID animal
Relation "un à plusieurs" entre TableAnimal et TableViste via N ° ref animal
et ID Visite

J'avais déjà demandé un coup de main pour la créati on d'une requête
affichant les candidats aux vaccins un mois avant l'échéance et Gilles
m'avait conseillé cette procédure (qui fonctionnait super bie n d'ailleurs)

SELECT TableClient.Nom, TableClient.Prénom, TableClient.Adresse,
TableClient.CP, TableClient.Ville, TableAnimal.[Nom de l'animal],
TableVisite.[Date vaccins], *
FROM (TableClient INNER JOIN TableAnimal ON TableClient.[N° ré f
client]=TableAnimal.[ID animal]) INNER JOIN TableVisite ON TableAnima l.[N°
réf animal]=TableVisite.[ID visite]
WHERE (((TableVisite.[Date vaccins])<ÚteAdd("m",-11,Date())))
ORDER BY TableClient.Nom;

Le problème est le suivant :

J'ai simulé, dans ma base de données, une vaccination du chat Félix (ça
c'est original !!! ;o) ) à un an moins un mois et ma requête me l'affiche
bien (là rien à dire).
J'ai alors entré une nouvelle visite avec la date du jour dans le champ
"date vaccination" de notre ami Félix et zut et super zut, la requ ête me
garde la date à un an moins un mois et m'affiche quand même l e petit Félix
(le pauvre, il va faire une over dose de vaccin).

Autrement dit, comment faire pour que cette requête prenne en char ge la
dernière date de vaccination ?

En tapant cette prose, je me rends compte aussi que la vétéri naire va
devoir, à chaque visite, retaper la date de vaccination. Existe-t- il une
solution pour que cette date s'affiche automatiquement dans le champ ad équat
et ce tant que le doc ne l'aura pas modifiée ?

Désolé pour mon inexpérience en Access, c'est la premià ¨re fois que j'y mets
mon gros nez d'où les questions à répétition et cer tainement basiques pour
beaucoup.

De toute façon, un super grand merci pour le coup de main éve ntuel et une
bonne journée à tout le monde.

Philippe





Avatar
Tourlou57
C'est reparti Raymond sinon tu peux le télécharger sur
http://www.infornuls.be/telecharger/Cabinet.rar

@pluche


Rien reçu à 16h45, peux-tu vérifier l'envoi ?

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Non Stop Mix '07 - Paris. La nouvelle scène web fête la créativité !
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273


"Tourlou57" a écrit dans le message de
news:
| Merci Raymond, c'est parti à l'instant.
|
|
| > Tu peux m'envoyer ta base par mail en fichier zip, si possible ? je
jetterai
| > un oeil. prend l'adresse dans ma signature et enlève les xyz de
sécurité.





Avatar
Tourlou57
Bonjour Gloops

Tu as parfaitement raison, la date de vaccin est prévue pour chaque visite
et c'est peut-être là que se trouve mon erreur. Pas facile de dompter l'ami
Access quand on a pas l'habitude et quand il faut faire quelque chose d'aussi
simple que possible pour l'utilisateur. Je vais attendre la réaction de notre
ami Raymond et voir ce qu'il propose quitte à modifier une fois encore le
système (ce ne sera jamais que la 30ème fois :o))))))) ). Faire et défaire
c'est toujours travailler ;o)

Merci à toi aussi pour le coup de main, ce forum est décidemment bien sympa.

Amicalement

Philippe


Bonjour,

J'ai juste fait un très rapide survol, mais je vois que la date de
vaccin est prévue pour chaque visite, et pas pour chaque animal. Donc,
si l'animal fait quinze visites, il aura droit à quinze vaccinations ?

J'aurais été tenté de mettre [ID animal] comme clé primaire de la table
animal, et même principe pour la visite, mais peut-être est-ce un
réflexe appliqué un peu rapidement.

________________________________________
Tourlou57 a écrit, le 26/05/2007 04:19 :
Bonjour à tous,


Me revoilà avec une question relative à ma base de données pour la gestion
d'un cabinet vétérinaire et comme j'ai toujours été super bien reçu, hop ...
je pose.

Détail de la base de données :

Table client :

N° réf client (numauto - clé primaire)
Nom
Adresse
CP
Ville
Tél maison
Tel bureau
Tél portable
Remarques (mémo)

TableAnimal

N° réf animal (numauto - clé primaire)
ID animal (numérique)
Nom de l'animal
Date de naissance
Espece
Race
Sexe
Type d'indentificateur
N° identificateur
Remarques (mémo)

TableVisite

N° réf visite (numauto - clé primaire)
ID Visite (numérique)
Date de la visite
Par le docteur (liste de choix)
Poids
Température
DATE VACCINS
Symptômes
Diagnostic
Traitement
Analyses demandées
Résultat des analyses
Remarques

Relation "un à plusieurs" entre TableClient et TableAnimal via N° réf client
et ID animal
Relation "un à plusieurs" entre TableAnimal et TableViste via N° ref animal
et ID Visite

J'avais déjà demandé un coup de main pour la création d'une requête
affichant les candidats aux vaccins un mois avant l'échéance et Gilles
m'avait conseillé cette procédure (qui fonctionnait super bien d'ailleurs)

SELECT TableClient.Nom, TableClient.Prénom, TableClient.Adresse,
TableClient.CP, TableClient.Ville, TableAnimal.[Nom de l'animal],
TableVisite.[Date vaccins], *
FROM (TableClient INNER JOIN TableAnimal ON TableClient.[N° réf
client]=TableAnimal.[ID animal]) INNER JOIN TableVisite ON TableAnimal.[N°
réf animal]=TableVisite.[ID visite]
WHERE (((TableVisite.[Date vaccins])<ÚteAdd("m",-11,Date())))
ORDER BY TableClient.Nom;

Le problème est le suivant :

J'ai simulé, dans ma base de données, une vaccination du chat Félix (ça
c'est original !!! ;o) ) à un an moins un mois et ma requête me l'affiche
bien (là rien à dire).
J'ai alors entré une nouvelle visite avec la date du jour dans le champ
"date vaccination" de notre ami Félix et zut et super zut, la requête me
garde la date à un an moins un mois et m'affiche quand même le petit Félix
(le pauvre, il va faire une over dose de vaccin).

Autrement dit, comment faire pour que cette requête prenne en charge la
dernière date de vaccination ?

En tapant cette prose, je me rends compte aussi que la vétérinaire va
devoir, à chaque visite, retaper la date de vaccination. Existe-t-il une
solution pour que cette date s'affiche automatiquement dans le champ adéquat
et ce tant que le doc ne l'aura pas modifiée ?

Désolé pour mon inexpérience en Access, c'est la première fois que j'y mets
mon gros nez d'où les questions à répétition et certainement basiques pour
beaucoup.

De toute façon, un super grand merci pour le coup de main éventuel et une
bonne journée à tout le monde.

Philippe









Avatar
Raymond [mvp]
ok, je l'ai téléchargée et je peux la charger. je te tiens au courant mais
faudrait me passer un mail quand même pour avoir ton adresse et pour aller
plus vite et ne pas saturer le forum.

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Non Stop Mix '07 - Paris. La nouvelle scène web fête la créativité !
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273
Avatar
Raymond [mvp]
à première vue, il faut tranférer la date de vaccination sur l'animal, mais
j'ai vu qu'il y avait un agenda des vaccins donc il faut voir s'il y a
interconnexion ( je regarderai).
Il y a des principes qu'il tout de suite appliquer sur access sinon personne
ne pourra prendre ta suite dans cette application ni toi-même dans 1 an.
quand tu appelles id animal le numéro du propriétaire faut pas faire ça.
quand tu appelles id visite le numéro de l'animal, non plus.
Par principe, toujours, ne pas mettre d'espace des les noms de champs, vba
n'aime pas et ça complique tout le monde. il est plus clair d'appeler un
champ Date_Naissance avec une légende "Date de Naissance de l'animal" que
d'appeler le champ "Date de naissance" sans légende.
je te donne mon e-mail car je n'ai toujours rien reçu et je voudrais bien
recevoir ton adresse pour te soumettre des idées.
xxxofficesystem.accessxxxZfree.fr
tu enlèves les x et remplace Z par @
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Non Stop Mix ‘07 – Paris. La nouvelle scène web fête la créativité !
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273


"Raymond [mvp]" a écrit dans le message
de news: %
| ok, je l'ai téléchargée et je peux la charger. je te tiens au courant mais
| faudrait me passer un mail quand même pour avoir ton adresse et pour aller
| plus vite et ne pas saturer le forum.
|
Avatar
Tourlou57
, je te passerai une adresse plus "rapide" entre 4 yeux
;o))))

encore merci Raymond ;o)


ok, je l'ai téléchargée et je peux la charger. je te tiens au courant mais
faudrait me passer un mail quand même pour avoir ton adresse et pour aller
plus vite et ne pas saturer le forum.

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Non Stop Mix '07 - Paris. La nouvelle scène web fête la créativité !
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273





Avatar
Gloops
OK, en l'occurrence ce n'est pas Access qu'il convient de dompter
d'abord, mais une méthode d'analyse.

Consacrer un moment à ceci pourrait aider :
http://fr.wikipedia.org/wiki/Merise_(informatique)

Merise fait aussi l'objet de plein d'autres sites, Google saura bien les
trouver, mais déjà, au premier coup d'Å“il, il me semble qu e là on a un
bon aperçu. (Après si on cherche autre chose il y a aussi quant ité de
bouquins sur la question, pour ne pas parler de formations.)

Honnêtement je pense qu'il faut compter quelques jours pour commence r à
pouvoir en faire quelque chose, mais grâce à ça on est cap able de
beaucoup mieux appréhender la structure de ses données, ça s'avère donc
rapidement payant, surtout si on veut se lancer soi-même dans le
développement.

________________________________________
Tourlou57 a écrit, le 26/05/2007 17:26 :
Bonjour Gloops

Tu as parfaitement raison, la date de vaccin est prévue pour chaqu e visite
et c'est peut-être là que se trouve mon erreur. Pas facile de dompter l'ami
Access quand on a pas l'habitude et quand il faut faire quelque chose d 'aussi
simple que possible pour l'utilisateur. Je vais attendre la réacti on de notre
ami Raymond et voir ce qu'il propose quitte à modifier une fois en core le
système (ce ne sera jamais que la 30ème fois :o))))))) ). Fai re et défaire
c'est toujours travailler ;o)

Merci à toi aussi pour le coup de main, ce forum est décidemm ent bien sympa.

Amicalement

Philippe



Avatar
Gloops
Raymond [mvp] a écrit, le 26/05/2007 17:30 :
ok, je l'ai téléchargée et je peux la charger. je te tiens au cou rant mais
faudrait me passer un mail quand même pour avoir ton adresse et pour aller
plus vite et ne pas saturer le forum.

Salut Raymond,


Tu en penses quoi, de la piste de mettre la date de vaccination sur la
table Animal plutôt que Visite ?

Avatar
Raymond [mvp]
c'est exactement ce qu'il faut faire.

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Non Stop Mix '07 - Paris. La nouvelle scène web fête la créativité !
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273


"Gloops" a écrit dans le message de news:

Raymond [mvp] a écrit, le 26/05/2007 17:30 :
ok, je l'ai téléchargée et je peux la charger. je te tiens au courant mais
faudrait me passer un mail quand même pour avoir ton adresse et pour aller
plus vite et ne pas saturer le forum.

Salut Raymond,


Tu en penses quoi, de la piste de mettre la date de vaccination sur la
table Animal plutôt que Visite ?

1 2 3