Checkbox, formulaire et requete

benzin69 Messages postés 8 Date d'inscription mercredi 8 novembre 2006 Statut Membre Dernière intervention 21 avril 2008 - 30 nov. 2006 à 18:45
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 - 1 déc. 2006 à 14:34
Bonjour à tous!


je vais essayer de faire clair. J'ai une sorte de petit programme
access à réaliser et une partie de celui-ci porte sur un système de
cases à cocher. Ce programme est une succession de formulaires tous
bêtes et il ne se base que sur une seule table.


Au bout d'un moment j'arrive sur des pages ou je dois cocher plusieurs
cases qui correspondent à des références avant de les valider et de
passer à la page suivante.


Ces références font chacune référence (désolé pour le jeu de mot) à une
colonne de la table. La table est constituée de la manière suivante:


Les 5 premières colonnes sont des données renseignées (n° de chantier,
maitre d'oeuvre, maitre d'ouvrage et prix). Les suivantes sont les
références.


Si un chantier possède une référence il y a un X dans l'intersection
ligne du chantier/reference correspondante. En gros si un chantier a
une référence il y a une croix sinon rien.


Si on revient au formulaire de checkboxes, une fois les cases cochées
je dois cliquer sur un bouton valider qui me fait un récapitulatif des
cases cochées et qui me demande si je veux continuer.

Si je décide de valider je dois passer à une page où il y a le résultat
d'une requête dans un état ou un sous formulaire peu importe. Cette
requete est la suivante: je souhaite obtenir la liste des chantiers
(+les autres infos citées) qui possèdent les références cochées
auparavant.


exemple: si je coche gazon, entretien, decoration en références je veux
obtenir les chantiers où il y à une croix dans la table à cet endroit.


Problèmes:


- je suis un débutant en programmation VB (je sais ce n'est pas une excuse)

- je ne sais pas comment faire le lien entre la reference checkbox et la référence TABLE

-je ne sais pas comment faire la requete


je suis tout seul et personne ne connait access au bureau et 3 jours de recherche et de test intensifs n'ont rien donné...


Je vous remercie d'avance pour les indices, les solutions, les
corrections que vous pourriez m'apporter. Je reste à votre disposition
pour plus d'information.


Merci d'avoir pris le temps de me lire et de me répondre si vous le faites (ce que j'espère vivement)


BENZIN

7 réponses

chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
30 nov. 2006 à 20:46
Bonsoir,
Si tu  souhaites obtenir la liste des chantiers (+les autres infos citées) qui possèdent les références cochées auparavant.

ta requête doit se présenter ainsi:
"SELECT * FROM MATABLE WHERE reference LIKE 'X'"
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
30 nov. 2006 à 21:53
En fait tu devrais avoir trois tables

CHANTIERS /
Idchantier    m_oeuvre   m_ouvrage      prix
1                     MrX           MlleX       10000.00
2                     MrY           MlleY         6500.00 


REFERENCES / (table fixe)
IdReference
Gazon
Entretien
Decoration
Autre


et une table résultat (ASSOCIATIONS) /


Pour chaque Chantier , la table ASSOCIATIONS se présentera ainsi:


Idchantier    IdReference    Oui_Non
1                    Gazon           X
1                    Entretien           
1                    Decoration     X
1                    Autre             X
2                    Gazon                 
2                    Entretien        X
2                    Decoration      X
2                    Autre                 


dans ta requête sélection :
"SELECT * FROM ASSOCIATION WHERE IdChantier=" & numx & _
 " AND Oui_Non LIKE 'X'"


Pour le chantier 2, le résultat est Entretien et décoration
0
benzin69 Messages postés 8 Date d'inscription mercredi 8 novembre 2006 Statut Membre Dernière intervention 21 avril 2008
1 déc. 2006 à 11:15
Tout d'abord merci beaucoup pour cette réponse, cependant:

j'ai changé le mode de fonctionnement de ma première table, ce ne sont plus des X mais des cases à cocher. Ma question est la suivante: le modèle si dessus s'applique t-il toujours? N'est-il pas possible de remplir la table relation avec la table unique? si non comment faire le lien entre les chantiers et les critères associés et comment remplir la table relation avec 2 tables?

Merci d'avance
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
1 déc. 2006 à 11:57
Salam,

Le modèle s' applique toujours...
Pour chaque nouveau chantier tu insères dans ASSOCIATIONS
autant de lignes qu' il y a de references


Requête Insertion:
"INSERT INTO ASSOCIATIONS ( IdChantier, IdReference ) " _
"SELECT " & xIdNouveauChantier & " AS Expr1, " _
"REFERENCES.IdReference FROM [REFERENCES];"


le resultat dans ta table ASSOCIATIONS  est
IdChantier                     IdReference        Oui_Non
xIdNouveauChantier        Gazon
xIdNouveauChantier        Decoration
xIdNouveauChantier        Entretien
xIdNouveauChantier        Autre


tu n' auras plus qu' à cocher Oui_Non


Peut être que d' autres trouveront que c' est trop
que pour chaque Chantier il y' a autant de lignes
qu' il y a de référence, mais si tu te contentes de
n' insèrer que les références qui seront cochées
tu auras des complications par la suite lors d' une
mise à jour.Tu devras alors savoir quelles références
ont été ajoutées et qu' elles sont celles qui ont été supprimées.


Pour avoir une requête Selection tu lies ta table CHANTIERS
à ta table ASSOCIATIONS dont le lien serait IdChantiers
       
 CHANTIERS            ASSOCIATIONS
 IdChantier  -------->  IdChantier
 m_oeuvre               IdReference
 m_ouvrage             Oui_Non
 prix

A+
0

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

Posez votre question
benzin69 Messages postés 8 Date d'inscription mercredi 8 novembre 2006 Statut Membre Dernière intervention 21 avril 2008
1 déc. 2006 à 13:37




0
benzin69 Messages postés 8 Date d'inscription mercredi 8 novembre 2006 Statut Membre Dernière intervention 21 avril 2008
1 déc. 2006 à 13:40
est-il possible de remplir la table relation en fonction des données de mon tableau unique via une requete ?parce que cocher pour chaque référence (en gros 50 références au total) de chaque chantier ça va être à la limite de l'impossible étant donné que je devrait avoir aux alentours de 1000 chantiers... Ce n'est pas que j'ai pas envie de tout cocher à la main...
Alors si il y a une solution pour faire ça je suis preneur
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
1 déc. 2006 à 14:34
 
...n' insères que les références qui seront cochées...
tu auras des complications par la suite lors d' une
mise à jour...

 dixit

Si tu te sens capable de les surmenter, vas-y !
je suis parti du principe que tu es débutant...

Parcours tes Check, si c' est coché
"INSERT INTO ASSOCIATIONS ( IdChantier, IdReference ) " _
"SELECT " & xIdNouveauChantier & " AS Expr1, "
& xReference & " AS Expr2; " 
0
Rejoignez-nous