Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Access > Conception

Conception Le forum qui vous aide à résoudre vos questions relatives à la modélisation de votre base de données sous Access.

Réponse
 
Outils de la discussion
Vieux 04/08/2008, 16h21   #1 (permalink)
Membre Confirmé
 
Date d'inscription: juillet 2008
Messages: 248
Par défaut Problème structure avec option

Bonjour bonjour,

j'espère que quelqu'un pourra m'aider sur ce problème :
- j'ai donc une base donnée déjà mise en place concernant des visites.

Une visite correpond à un identifiant unique, et dans ma table "principal" :
-Visites(Id_Visite, nombre_Pers)

Dans plusieurs des autres tables cet Id_Visites est la foreign key.

Par exemple dans la table :
- Presentation(id, type_presentation, chrono)
Il peut y avoir plusieurs presentation...

Il ya donc plusieurs autres tables de ce type.


Une visite correspond à une date de début et à une date de fin et on associe
à chaque exposé la date et l'heure.

Je dois donc pouvoir mettre des option sur ces visites : cad choisr plusieurs dates de début et de fin pour des visites qui ne sont pas encore confirmer et pouvoir n'en conserver qu'une seul au final.

merci à ceux qui prendront la peine de me lire
bobosh est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 04/08/2008, 16h46   #2 (permalink)
Membre Expert
 
Avatar de Danjos
 
Date d'inscription: août 2007
Localisation: Abidjan - Côte d'Ivoire
Messages: 1 029
Par défaut

Bonjour.
Il serait bon que tu ajoutes ton MCD
__________________
Un gros problème est la somme de plusieurs petits problèmes.
Resolvez chacun des petits problèmes: vous aurez resolu le gros problème!
Danjos est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 05/08/2008, 07h58   #3 (permalink)
Membre Confirmé
 
Date d'inscription: juillet 2008
Messages: 248
Par défaut

voila c'est fait, il en mankque une partie mais c'est sur le même schema.
LA table centrale est visites. Les information relative à la visite on un identifiant unique appelé chrono. Donc beaucoup des info sont reliées grâce à lui en tant que foreign keys.

merci
Images attachées
Type de fichier : gif mcd.gif (78,5 Ko, 12 affichages)
bobosh est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 05/08/2008, 10h11   #4 (permalink)
Membre Expert
 
Avatar de Danjos
 
Date d'inscription: août 2007
Localisation: Abidjan - Côte d'Ivoire
Messages: 1 029
Par défaut

Bonjour,
je ne perçois pas encore exactement ce que tu veux dire, du moment où les champs de ta table Visites dans ton MCD, ne correspondent pas à ceux que tu as donné dans ton premier message.
En plus, la table Presentation n'est pas bien affichée.

MAis, en ce qui concerne ce paragraphe:
Citation:
Envoyé par bobosh Voir le message
Je dois donc pouvoir mettre des option sur ces visites : cad choisr plusieurs dates de début et de fin pour des visites qui ne sont pas encore confirmer et pouvoir n'en conserver qu'une seul au final
je crois comprendre qu'à une visite donnée, plusieurs dates de début et de fin peuvent être indiquées, mais c'est seulement une date pour début, et une autre pour fin, qui seront retenues.
Dans ce cas, je te suggèrerais de créer une table lesDates qui sera en relation un à plusieurs avec Visites.
Cette nouvelle table aura quatre tables que sont:
1- id_lesdates: de type auto_increment, elle désignera la clé primaire.
2- ladate: de type date, va contenir la date en tant que telle.

3- lacategorie de type texte, va avoir deux valeurs possibles: debut et fin pour préciser si cette date est une de début ou une de fin. Tu peux même la faire de type oui/non, où le oui signifiera que c'est une date de début et le non signifiera que c'est une date de fin. À toi de voir

4- retenue, de type oui/non, pour dire si cette date a été oui ou non retenue.

Merci, et bon courage!
__________________
Un gros problème est la somme de plusieurs petits problèmes.
Resolvez chacun des petits problèmes: vous aurez resolu le gros problème!
Danjos est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 05/08/2008, 10h22   #5 (permalink)
Modérateur
 
Avatar de CinePhil
 
Date d'inscription: août 2006
Localisation: Toulouse
Âge: 45
Messages: 1 314
Envoyer un message via MSN à CinePhil
Par défaut

Citation:
Envoyé par bobosh Voir le message
Je dois donc pouvoir mettre des option sur ces visites : cad choisr plusieurs dates de début et de fin pour des visites qui ne sont pas encore confirmer et pouvoir n'en conserver qu'une seul au final.
Si tu raisonnes en couple(date_début, date_fin), il suffit que tu ajoutes une colonne 'Retenue' de type oui/non (booléen) à ta table Dates_Visite.

Si tu raisonnes en dates indépendantes, c'est à dire que plusieurs dates de début et plusieurs dates de fin sont possibles indépendamment l'une de l'autre, alors il faut utiliser la méthode proposée par Danjos.

Il me semble plus simple de raisonner en couple, quitte à avoir pour une même visite plusieurs durées résultantes (plusieurs dates de début et une seule date de fin ou l'inverse). Comme c'est le triplet(Chrono, Date_début, Date_fin) qui doit être unique, ce n'est pas gênant.
D'ailleurs au passage, je pense que l'identifiant 'N°' dans la table Dates_Visite est inutile et que tu peux utiliser le triplet défini ci-dessus comme clé primaire.
__________________
Philippe Leménager.
Futur ingénieur CNAM, en CDD à l'INRA Toulouse jusqu'au 31/12 suite au stage effectué.
Je reste ouvert aux propositions d'emploi.
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 05/08/2008, 11h47   #6 (permalink)
Membre Confirmé
 
Date d'inscription: juillet 2008
Messages: 248
Par défaut

Je vois ce que vous voulez dire, mais ce qui pose problème c'est le fait que je dois effecteur un emplois du temps par date par chrono, par heure, et mon problème serait donc lorsque je crée un état de pouvoir créer le même enplois du temps pour deux chrono différents. Mais lorsque je trie les information, je ne sais pas comment faire le distinction entre deux visites.

Par exemple si le numero chrono est 01 est qu'il correspond à deux dates :
- du 01/01/08 au 03/01/08
- 03/01/08 au 05/01/08

Coment faire la disctinction entre la première visite et pour cette date 03/01/08 et la seconde qui correspond au début de la seconde visite 03/01/08.

Car de cette manière, l'état va faire un emplois du temps pour les deux dates identique pour le même chrono, alors qu'une date correspond à la fin de la visite et que la seconde au début. Il faut que je puisse faire la dinstinction entre ces deux jours.

merci de votre aide
bobosh est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 05/08/2008, 13h10   #7 (permalink)
Modérateur
 
Avatar de CinePhil
 
Date d'inscription: août 2006
Localisation: Toulouse
Âge: 45
Messages: 1 314
Envoyer un message via MSN à CinePhil
Par défaut

Si tu gardes ta structure actuelle, pour avoir toutes les dates possibles de la visite qui a pour Chrono le n° 1, tu fais :
Code :
SELECT *
FROM Dates_Visite
WHERE Chrono = 1
Si tu les veux dans l'ordre de la date de début tu ajoutes à la fin :
Code :
ORDER BY Date_debut
Si tu adoptes mon système en ajoutant une colonne 'Retenue' à la table Dates_Visite, tu peux restreindre la requête aux dates retenues :
Code :
SELECT *
FROM Dates_Visite
WHERE Chrono = 1 AND Retenue = TRUE
Si tu veux toutes les visites commençant entre le 01/08/2008 et le 07/08/2008, tu fais :
Code :
SELECT *
FROM Dates_Visite
WHERE Date_debut BETWEEN #08/08/01# AND #08/08/07#
__________________
Philippe Leménager.
Futur ingénieur CNAM, en CDD à l'INRA Toulouse jusqu'au 31/12 suite au stage effectué.
Je reste ouvert aux propositions d'emploi.
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 06/08/2008, 08h14   #8 (permalink)
Membre Confirmé
 
Date d'inscription: juillet 2008
Messages: 248
Par défaut

merci beaucoup de ton aide, je pense que cela peu fonctionner, mais avant de le mettre en place j'ai un truc à faire dans ma base de donnée qui va me prendre un ou deux jours, j'espère que tu sera encore pour m'aider si besoin est...

merci encore
bobosh est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 11/08/2008, 08h04   #9 (permalink)
Membre Confirmé
 
Date d'inscription: juillet 2008
Messages: 248
Par défaut

me revoilà, et j'ai un petit problème.

Comme pour chaque chrono je peux avoir plusieurs dates de début et plusieurs dates de fin, quand je crée mon planning, une date peut correspondre à plusieur créneau différent.

Par exemple 01/01/08 peut correpondre comme je l'avais dit précédement à un premier triplet chrono date-debut date-fin ou à un autre. Et donc je ne peux pas constituer un planning car je ne peux rien ordonner.
bobosh est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 11/08/2008, 10h53   #10 (permalink)
Modérateur
 
Avatar de CinePhil
 
Date d'inscription: août 2006
Localisation: Toulouse
Âge: 45
Messages: 1 314
Envoyer un message via MSN à CinePhil
Par défaut

Et les solutions que j'ai données plus haut ne vont pas ?

Donne-nous un début de requête que tu as écrite et une description plus précise de ce que tu veux obtenir.
__________________
Philippe Leménager.
Futur ingénieur CNAM, en CDD à l'INRA Toulouse jusqu'au 31/12 suite au stage effectué.
Je reste ouvert aux propositions d'emploi.
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Access > Conception

 
Offres d' emploi informatique sur Lesjeudis.com


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide