ACCESS REQUETE SUR LISTE DANS FORMULAIRE

Résolu/Fermé
jeinny Messages postés 133 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 17 février 2010 - 4 juin 2008 à 09:37
jeinny Messages postés 133 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 17 février 2010 - 6 juin 2008 à 15:53
Bonjour à tous,
Voila, je suis un petit peu perdu je suis actuellement en stage et je dois faire un programme sous access 2003 de gestion de prêt de matériel pour des adhérents et des non-adhérents. J'ai fait plein de formulaire mais en particulier me pose problème.
En gros J'ai un formaulaire et de sous formulaire dans celui-ci un qui gère le numéro de l'emprunt avec tou les renseigement ainsi que les dates de début de prise en charge et de fin et avec les heures, un autre qui gère le matériel a emprunter et le formulaire principal qui a une liste déroulante du matériel disponible.
Et c'est donc cette liste qui me pose problème car il me faudrai une requête valable pour la restriction donc en gros l'utilisateur doit saisir les date et tout de suite aprèe les matériel dispo devront s'affiché mais je n'arrive pa à gérer les dates et les heure pour l'instant j'ai cette requête la=
SELECT Materiel.N°Mat, Materiel.LibMat
FROM Materiel
WHERE (((Materiel.N°Mat) Not In (SELECT N°Mat FROM EmprunterA)));

Voila donc si vous avez des idées merci de me les faire parvenir ou si il vous faut plus de précisions parce que peut-être que c'est un peu confut !!
MERCI d'avance

14 réponses

V3n1 Messages postés 294 Date d'inscription vendredi 30 mai 2008 Statut Membre Dernière intervention 12 décembre 2010 56
4 juin 2008 à 09:50
J'essaye d'abord de comprendre l'utilisation de tes tables.
J'suis aussi actuellement en stage et j'ai rien à faire, j'vais essayer de t'aider.
1
jeinny Messages postés 133 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 17 février 2010 26
4 juin 2008 à 09:52
Tu veu peut-être que je t'envoi une copie de ma base de donné?? mais par contre je ne sais pas cmt on fait pour envoyé un objet avec le msg
voila si tu veu di moi !!
0
V3n1 Messages postés 294 Date d'inscription vendredi 30 mai 2008 Statut Membre Dernière intervention 12 décembre 2010 56
4 juin 2008 à 10:01
Il faut que la fonction now() soit supérieur à la DateFinPriseEnCharge.

Peut-tu m'expliquer l'utilisation de ta requète imbriquée. Je ne comprend pas le sens de son utlilisation.
1
V3n1 Messages postés 294 Date d'inscription vendredi 30 mai 2008 Statut Membre Dernière intervention 12 décembre 2010 56
4 juin 2008 à 10:20
Et bien, il faut que la nom de la zone de texte genre &VDate& soit supérieur à la DateDeFinDePriseEnCharge.

Mais, un matériel il peut être utilisé plusieurs fois, comment tu fais pour gérer les plusieurs date de prise en charge pour un matériel?
1
jeinny Messages postés 133 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 17 février 2010 26
4 juin 2008 à 11:08
Alors toujour rien ?? pas d'idées personne d'autre pour m'aider???

SVP SVP
0
jeinny Messages postés 133 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 17 février 2010 26
4 juin 2008 à 10:38
ouè ok pour ta solution mais le truc c ke je ne sais pas l'écrire en requête SQl je ne trouve pas la syntaxe et aussi il faut faire référence eu souformulaire car ce n'est pas le même

Et pour géré les date de fin ou de débu de prise en charge, VOICI mon MLD:

Pour les adhérent:
Adherent(N°Ad, NomAd, PrenomAd, AdrAd, CpAd, VilleAd, TelAd, MailAd)
EmpruntAd(N°EmpruntA,DateCde, LibManif, LieuManif,#N°Club, Description, Autres, #N°pers, #N°Ad, DateDeb, HeureDeb, DateFin, HeureFin)
EmprunterA(#N°EmpruntA,#N°Mat, Qté)

Pour les emprunteur non adhérent:
Emprunteur(N°Emp, NomEmp, PrenomEmp, AdrEmp, CpEmp, VilleEmp, TelEmp, MailEmp)
EmpruntEmp(N°EmpruntE,DateCde, LibManif, LieuManif,#N°Club, Description, Autres, #N°pers, #N°Emp, DateDeb, HeureDeb, DateFin, HeureFin)
EmprunterE(#N°EmpruntE,#N°Mat, Qté)

Les autres tables:
Club(N°Club, NomClub)
Materiel(N°Mat, LibMat, Caracteristiques)
Personnel(N°Pers, NomPers, PrenomPers, Activite, #N°Secteur)
Secteur(N°Secteur, LibSecteur)

Voila j'espère ke je taide un peu pour ke tu maide en retour MERCI
1
jeinny Messages postés 133 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 17 février 2010 26
4 juin 2008 à 13:50
Je suppose que tu n'a pas trouvé ou peut-être que tu as abbandonné je ne sais pas bon ba tampi merci kan même d'avoir passé du temps A+
0
Anonymous > jeinny Messages postés 133 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 17 février 2010
4 juin 2008 à 14:23
Salut Jeinny,

Courrage, c'est pas un problème simple !

Petite remarque : j'ai cru voir des champs distincts pour la date et l'heure. Dans acces, ce peut être la même information : l'heure étant une décimale de la date. Pourquoi cette séparation ?

Sinon :
- Les champs de début et de fin sont-ils requis ("pas de sortie sans connaitre la date de retour ? ) Null interdit ?

- Peux tu faire une requête qui affiche tous les mouvements du matériel ( même si la matériel n'est jamais sorti => LEFT JOIN ), auquel cas, les champs calculés DATEDEBUT et DATEFIN : pourraient à la fois rassembler Date + heure, mais aussi mettre à zéro si c'est null ( vraifaux ( isnull(...) ; 0 ; ... ) la date 0 étant le janvier 1900 si mes souvenirs sont bons.

Une deuxieme requete, utilisant cette premiere requete pourrait avoir deux parametres [DATESORTIE] , [DATERETOUR], afin d'écrire un critère du style : WHERE [DATEDEBUT] < [DATERETOUR] and [DATEFIN]>[DATESORTIE]
avec pour résultat espéré : la liste du matériel non libre entre [DATESORTIE] et [DATERETOUR]

Une troisieme requete pourrait alors afficher le matériel qui n'existe pas dans la deuxieme requete. A savoir, celui qui est libre.

ENFIN, lorsque ces requêtes fonctionneront ( prouveront la faisabilité), il sera temps d'envisager une automatisation ( par le bien d'actualisation entre autres)

Mais tout ceci n'est qu'une proposition rapide, une intuition... fais en ce que bon te semble.


Bon boulot
0
jeinny Messages postés 133 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 17 février 2010 26 > Anonymous
4 juin 2008 à 14:59
j'ai bien essayé ta solution mais j'ai un peu de mal avec les LEFT JOIN et la syntaxe je croi que j'ai fait n'importequoi j'ai vraiment l'impression d'être bête en disant ça mais bon c'est comme ça qu'on apprend !!
j'ai fait ça:

SELECT EmprunterA.N°Mat, LibMat
FROM Materiel, EmprunterA
LEFT JOIN DateDebut ON DateDeb = DateDeb
LEFT JOIN DateFin ON DateFin = DateFin
WHERE EmprunterA.N°Mat=Materiel.N°Mat
AND [DATEDEBUT] < [DATERETOUR] AND [DATEFIN]>[DATESORTIE];

Voila si tu pouvai m'aider en sachant que je n'est que des simple base en access enfin voila quoi je ne suis que en 1ère année de BTS informatique de gestion donc bon !!

Merci beaucoup quand même
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
5 juin 2008 à 17:48
Bon. J'ai eu ta base. Ca va pas du tout!!!

D'abord il faut mettre les emprunteurs et les adhérents dans la même table, et leurs elmprunts aussi, sinon les requêtes devront aller chercher les mêmes infos à deux endroits différents. Pas cool.

Comment différencier les adhérents des emprunteurs? Ben en mettant un champ de type Oui/Non, que tu appelleras Adhérent, à la fin de la table.

Comme ça tu supprimes aussi une des tables Emprunts et une des tables Emprunter (Que, perso, j'aurais appelée DétailEmprunt, c'est plus clair)

Ensuite j'ai besoin de précisions.

Le matos peut être réservé à l'avance?
Dans ce genre de cas de figures, souvent, on évite de prendre des réservations le jour ou le lendemain d'un retour prévu.
J'explique: Si quelqu'un réserve le matos du 15 au 20 juin par exemple, on évite de le louer à partir du 21, des fois que le précédent emprunteur ne l'aurait pas ramené pour une raison X ou Y.

Mais bon. Le matériel dispo aux dates présentes dans le formulaire principal est celui qui sera déjà rentré et pas encore ressorti, ou encore jamais emprunté bien sûr.

Je continue plus tard.

1
jeinny Messages postés 133 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 17 février 2010 26
6 juin 2008 à 14:01
ok ba je te remerci de mbien voiloir m'aider la je vai faire tou les changement que tu me conseille de faire et je te tien au courant mais mes formaulaire marche tous ça c'est sur j'ai tout vérifié a moin que tu n'est pas la bonne verson mais je te renvoi l'URL avec tout les changement
MERCI BEAUCOUP
0
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
6 juin 2008 à 14:13
En fait je pense que ça fonctionne, mais je veux dire qu'il y a plusieurs fois le même sans qu'on sache vraiment lequel est le bon...
1
jeinny Messages postés 133 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 17 février 2010 26
6 juin 2008 à 14:15
ouè ouè mais c'est pour ça que je dit que tu as surment le mauvais mais la j'ai fini les changement je le mais sur le serveur et je te l'envoi
0
jeinny Messages postés 133 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 17 février 2010 26
6 juin 2008 à 14:21
Et pour tes précisions oui tu as raison le matériel est bien réservé a l'avance avec au minimum 1semaine d'avance sur la date d'emprunt (de début)

Et pour ta proposition " on évite de prendre des réservations le jour ou le lendemain d'un retour prévu.
" elle n'est pas utile ici mais je te remerci pour toute tes propositions !!!
1
jeinny Messages postés 133 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 17 février 2010 26
6 juin 2008 à 14:34
aten le lien n'est pas bon je vai arrangé sa
dsl
1
jeinny Messages postés 133 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 17 février 2010 26
6 juin 2008 à 15:53
C'était juste pas un point zip mais un point rare LOL
Bon voila le TOUT changé:

http://brigadedurire.free.fr/fichier/MJC3.rar

j'attent tes directives je ne plus rien faire maintenant
Je vais essayer de voir des solutions encore et encore ...

A+
1
V3n1 Messages postés 294 Date d'inscription vendredi 30 mai 2008 Statut Membre Dernière intervention 12 décembre 2010 56
4 juin 2008 à 09:42
Salut,

Je n'ai pas très bien compris...

Tu veux que dans ta liste déroulante apparaisse les matériels non-occupés ? C'est ça ?

Désolé si je n'ai pas très bien compris lol.
0
jeinny Messages postés 133 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 17 février 2010 26
4 juin 2008 à 09:45
Salut,

Ouè c sa les matériaux qui ne sont pas emprunté.
0
jeinny Messages postés 133 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 17 février 2010 26
4 juin 2008 à 09:45
Salut,

Ouè c sa les matériaux qui ne sont pas emprunté.
0
jeinny Messages postés 133 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 17 février 2010 26
4 juin 2008 à 09:48
Tu as peut-être trouvé quelquechose pour m'aider ??
0
jeinny Messages postés 133 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 17 février 2010 26
4 juin 2008 à 10:07
ba enfèt la requête que j'ai actuellement sert à me mettre dans la liste les matériaux qui ne sont pas dans la table EmprunterA c-a-d qui ne sont jamais été emprunté par des adhérents mais moi je ne veu pas sa je veu ceu qui sont libre donc qui peuve avoir été emprunté déja 1jour

Je ne compren pa ta fonction now() car je ne sit pa pk tu veu mettre en jeu la date d'aujourd'hui car ce n'est pa par rapport avvec la date d'aujourd'hui mais par rapport avec les date saisi par l'utilisateur dans mon formulaire veut ke je tenvoi mon formulaire correspondant ou la base de donné ??

Je te remerci kan mème de ton aide pour l'instant
0
jeinny Messages postés 133 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 17 février 2010 26
6 juin 2008 à 14:30
tien voila le lien

http://brigadedurire.free.fr/fichier/MJC1.zip

(avec les même mdp et nom d'util que la dernière foi)
0
jeinny Messages postés 133 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 17 février 2010 26
6 juin 2008 à 14:39
voila dsl

http://brigadedurire.free.fr/uplaod.php

et prend le dossier MJC1.zip

voili voilou !!!
0
jeinny Messages postés 133 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 17 février 2010 26
6 juin 2008 à 15:16
jai modifié les formulaires:

http://brigadedurire.free.fr/uplaod.php

mais prenez maintenant MJC2.zip

voila
0