Flux rss
Rechercher : dans
Par : Mots clés Nom d'utilisateur
Messages sans réponse

[ACCESS] Boîte dialogue alimentée pr variable

GUYSYS, le samedi 6 mai 2006 à 01:19:31 
 Signaler ce message aux modérateurs

Bonjour,

Afin d'obtenir des résultats mensuels, 3 requêtes permettent d'obtenir ces résultats . Les critères de ces requêtes sont basés sur le mois concerné ou le mois suivant.
Le problème est que pour que le tout fonctionne il faut entrer plusieurs fois au clavier les critères " mois concerné" .
Comment peut-on remplacer ces saisies répétitives par une seule? L'idée est de stocker la valeur de la première dans une variable et la réintégrer dans les boites de dialogues suivantes par programmation;.
Pouvez-vous m'aider pour traduire l'idée en code ?

Merci d'avance .

1

zenon, le samedi 6 mai 2006 à 16:09:46

Salut,


Tu pourrais demander la saisie de la date dans un champ texte indépendant et faire référence à la valeur de ce champ dans ton code.

Par exemple, si tu as des requêtes avec un critère. A l'ouverture Access te demande la valeur du critère. Tu peux la lui fournir avec une condition WHERE du type: DateRecherchée=Forms!NomDuForm!NomDuChampTexte

Répondre à zenon

2

GUYSYS, le dimanche 7 mai 2006 à 01:26:05

Merci zenon de ta réponse.


Tu suggères de passer par un champ texte indépendant et de faire référence à la valeur de ce champ dans mon code.
C'est bien là le problème , je ne sais pas remplacer une boite de dialoque par un champ texte dont la valeur saisie pourrait être utilisée dans les autres requêtes.
De plus je ne sais pas ni quel code mettre , ni ou le mettre.

pourrais-tu me montrer un exemple?

Répondre à GUYSYS

3

zenon, le dimanche 7 mai 2006 à 11:32:01

Bin, ça dépend... Comment procèdes-tu actuellement?

Tu pourrais par exemple partir d'un formulaire muni de boutons de commande permettant d'appeler les différentes requêtes. Tu peux ajouter un champ texte indépendant (qu'on appellerait "RechercheDate" dans lequel tu entres la date.

Tes requêtes peuvent être créées avec l'assistant graphique. Dans ce cas tu inclus le champ "date" de ta table et en regard de "critère" tu tapes "=RechercheDate" (sans les guillements).
En mode SQL ça donne: SELECT... ...WHERE "NomDuChampContenantLaDate=RechercheDate"; (Bien sûr, tu dois mettre tes propres critères)

Dans ta situation actuelle, demandes-tu l'affichage d'une InputBox pour entrer la date ou la boite s'affiche-t-elle automatiquement à l'ouverture de ta requête? Dans ce dernier cas, c'est parce qu'Access ne trouve pas le critère de recherche. Si tu le lui indique comme proposé plus haut la boite ne devrait plus s'afficher.

Répondre à zenon

4

GUYSYS, le dimanche 7 mai 2006 à 19:03:41

Bonjour zenon, je crois que je n'arrives pas à m'expliquer
Dans mes requêtes successives j'ai mis comme critère dans les champs mois :
[ENTREZ MOIS CONCERNE sous la forme mois année] pour la requête concernant les entrées et [ENTREZ MOIS CONCERNE sous la forme mois année] pour la requête concernant la sortie puis [ENTREZ le MOIS suivant celui CONCERNE ] pour la requête concernant le stock.
De ce fait s'affichent 3 input box que l'utilisateur doit saisir. le résultat de ces requêtes sont exactement ce que je veux obtenir ; Toutefois , je voudrais donc que l'utilisateur ne saisisse qu'1 fois le mois de la première requête et que ce critère soit ré-utilisé par access pour exécuter les 2 autres ( la troisième a besoin du critère mois suivant )
Je pense qu'une variable devrait faire l'affaire mais je ne vois pas toujours pas comment faire).

Répondre à GUYSYS

5

zenon, le dimanche 7 mai 2006 à 19:33:28

Bien, je pense que la solution que je te propose devrait fonctionner...

Access peut simplement utiliser la valeur du champ texte eu lieu et place de la valeur renvoyée par l'input box.

Si cela ne te convient pas, tu peux déclarer une variable

dim DateRech As Date

puis lui attribuer une valeur:

DateRech = InputBox...

Puis tu utilises simplement la valeur de DateRech dans tes critères de tri.

mais ce n'est pas très "transparent": l'utilisateur ne sait pas ce que contient la variable. Ca implique aussi que l'utilisateur utilise toujours le formulaire dans le même ordre sinon, à moins de prévoir un bloc If dans le code de chaque bouton pour vérifier si la variable a été initialisée.

Répondre à zenon

6

GUYSYS, le dimanche 7 mai 2006 à 20:39:45

Merci
je vais travailler la-dessus et je te tiens au courant.

Répondre à GUYSYS

7

GUYSYS, le mardi 9 mai 2006 à 00:09:16

Bon , me revoila.

désolé , je n'y arrives pas .

j 'ai essayé de mettre un champ indépendant sur un formulaire et de faire référence à ce champ pour que les requêtes prennent le mois en considération ; mais j'ai aussi créé un module pour créer la variable mais les inputbox apparaissent toujours , le tout ensemble ne fonctionne pas , séparément non plus d'ailleurs.

Function ARRETE()
Dim MOISCONCERNE As Date
MOISCONCERNE = InputBox("ENTRER LE MOIS CONCERNE", "RESULTATS MENSUELS", Default, 100, 100)
End Function


dans 2 requêtes j'ai mis come critère :
"=Forms!F_monformulaire!MOISCONCERNE"


et dans celle qui doit prendre en compte le mois suivant j'ai mis :

<"=Forms!F_monformulaire!MOISCONCERNE"+1


peux-tu m'aider ?

Répondre à GUYSYS

8

zenon, le mardi 9 mai 2006 à 08:59:04

Si j'ai bien compris, tu as des boutons de commande qui appellent les requêtes.

C'est directement dans les requêtes que tu devrais faire référence aux critères.

Si tu travailles avec l'assistant, dans le champ "critères" (partie inférieure du tableau) et dans la colonne où tu veus appliquer le tri, tapes la référence à la date recherchée (le nom du champ indépendant): =Forms!NomDuFormulaire!NomDuChamp

Normalement ça doit fonctionner sinon, c'est que les noms du formulaire ou de champ ne sont pas corrects ou qu'ils contiennent des espaces et que tu n'as pas mis de crochets([])...

Si tu travailles en mode SQL, tu dois avoir une condition Where du type: SELECT... WHERE "NomDuChampSurLequelTuVeuxTrier = Forms!NomDuFormulaire!NomDuChampIndépendant";

Répondre à zenon

9

GUYSYS, le mardi 9 mai 2006 à 23:44:14

   Si j'ai bien compris, tu as des boutons de commande qui appellent les requêtes.


j'ai en effet un bouton qui sur clic exécute les requêtes 1 , 2 et 3

j'ai mis les crochets et inscrits les codes dans les critères des requêtes mais lorsque je lance ces requêtes , une input box s'affiche Entrez la valeur du paramètre
 = MOISCONCERNE+1 


Si je mets mai 2006 , access me réponds type de données incompatible dans l'expression du critère .

Et je suis pas plus avancé.....

Répondre à GUYSYS

10

GUYSYS, le mercredi 10 mai 2006 à 00:48:12

Bon , en retravaillant un peu la syntaxe et sans passer par input box , il y a du mieux; les requêtes sur le mois concerné fonctionnent mais celles sur le mois suivant non.
en fait j'ai entré comme criTère de requête pour le mois suivant:

=[Forms]![F_monformulaire].[MOISCONCERNE]+1


c'est le + 1 qui bloque semble-t-il .

car les critères basés sur le code du mois saisi dans le contrôle indépendant fonctionnent.
=[Forms]![F_monformulaire].[MOISCONCERNE]


Comment peut-on coder le mois qui suit celui saisi.

Les 2 premières requêtes fonctionnent avec MOISCONCERNE sous la forme mmmm\aaaa ex: avril 2006 , mais je voudrais obtenir le mois suivant c'est à dire mai 2006 à partir de la variable MOISCONCERNE .
Et apparemment MOISCONCERNE +1 ne donne pas mai 2006....

merci d'avance .

Répondre à GUYSYS

11

zenon, le mercredi 10 mai 2006 à 09:33:44

En effet, je pense que tu devais essayer:
Mois(MOISCONCERNE) + 1

mais peut-être devras-tu modifier le premier terme de ton critère pour qu'il ne renvoie lui aussi que le mois...

Répondre à zenon

12

 GUYSYS, le jeudi 11 mai 2006 à 23:02:50

Bonjour ,

Euréka , j'ai trouvé.
Pour ceux que ça intéresse ,je mets le code ci-dessous.

Détail de l'affaire:

Sur F_monformulaire mettre contrôle indépendant
Avec nom : MOISCONCERNE


Affecter à un bouton du formulaire une macro exécutant exécutant les requêtes nécessaires à l’arrêté R_Entrées, R_Sorties, R_Stocks

Critère à noter dans les requêtes
dans le champ dateentree

Comme [Forms]![F_monformulaire].[MOISCONCERNE]


Sorties dans le champ datesortie:
Comme [Forms]![F_monformulaire].[MOISCONCERNE]


et stocks
dans le champ dateentrée ( mois suivant le mois d’arrêté):
<=AjDate("m";1;[Forms]![F_monformulaire].[MOISCONCERNE])


et dans le champ date sortie :
Est Null Ou >=AjDate("m";1;[Forms]![F_monformulaire].[MOISCONCERNE])


Un état avec comme source une requête R_RésultatsMensuels issus des 3 requêtes précédentes permet d’obtenir les résultats souhaités en terme d’entrée de sortie et de stocks résiduels en fonction du mois d’arrêté choisi.

La difficulté comme d’habitude avec ACCESS est de trouver les bonnes syntaxes pour concrétiser les idées.
il m’a fallu, effectivement, passer par un contrôle indépendant , et des critères ou le signe = a du être remplacé par Comme et ou le mois suivant est obtenu au moyen de la fonction AjDate.

Merci à zenon de m’avoir mis sur la voie.

Ce système fonctionne parfaitement et supprime les 4 inputbox qui sollicitaient les paramètres , ce qui va beaucoup plus vite et évite ainsi les erreurs de saisies potentielles du mois d’arrêté.

Répondre à GUYSYS
Changer la boite d'alimentation du pc Bonjour, je dois changer la boite d'alimentation d'un pc . il avait un boitier de marque wintop. modéle:WT-235GTX(A) de 230v de 235w mais je ne c'est pas lequel prendre pour le remplacer. quelqu'un pourrait t'il me renseigner sur un modéle. merci à vous www.commentcamarche.net/forum/affich-12185868-changer-la-boite-d-alimentation-du-pc
[VBA - Access] Boite de dialogue (Résolu) Bonjour, Je ne sais pas si ce problème a déjà été posé mais je n'ai pas le temsp de regarder, désolé. Alors voila mon problème: J'ai un formulaire Access, et je souhaite que lorsque l'utilisateur click sur un bouton, la fenetre parcourir s'affiche.... www.commentcamarche.net/forum/affich-5818820-vba-access-boite-de-dialogue
Tension de sortie boite alimentation ATX bonjour , je demande où je peux trouver sur le net la tableau qui mentionne les tensions de sortie des boites d'alimentation ATX des ordinateurs Pentium II , Pentium III et Pentium 4 merci www.commentcamarche.net/forum/affich-1786079-tension-de-sortie-boite-alimentation-atx
Bloc d'alimentation défectueuxSi lorsque vous appuyez sur le bouton de mise sous tension de l'ordinateur aucun bruit n'est émis par le PC et aucun voyant lumineux ne s'allume sur le boîtier, il y a de fortes chances qu'il s'agisse d'un problème d'alimentation. Vérification... www.commentcamarche.net/faq/sujet-4707-bloc-d-alimentation-defectueux
[Windows] Personnaliser la boîte de dialogue 'Enregistrer'Personnaliser la boîte de dialogue "Enregistrer" ou "Enregistrer sous..." de Windows (XP ou 2000); Plus précisément, il s'agit de personnaliser la colonne de gauche, contenant par défaut les raccourcis (icônes) "Mes documents récents", "Bureau", "Mes... www.commentcamarche.net/faq/sujet-2947-windows-personnaliser-la-boite-de-dialogue-enregistrer
Prise jack sur boitier d'alimentationBonjour, Je remarque sur mon ordinateur une prise jack de couleur voilette sur le boitier d'alimentation (12V DC) Il s'agit d'un ordinateur fixe Packard Bell. Est-ce à dire que l'on pourrait brancher l'ordinateur sur un transformateur ? Est-ce que... www.commentcamarche.net/forum/affich-5393810-prise-jack-sur-boitier-d-alimentation
Boite de dialogue OUI/NON en VBA pour Access (Résolu)Bonjour, J'essaie de programmer une boite de dialogue oui/non dans Access 2003. Voici mon code : Private Sub Commande7_Click() On Error GoTo Err_Commande7_Click MsgBox "Attention ! Voulez-vous faire le tranfert des données ?", vbYesNo If vbYes Then... www.commentcamarche.net/forum/affich-6261400-boite-de-dialogue-oui-non-en-vba-pour-access
Supprimer 1 message d'1 boite de dialogue VBABonjour, Est il possible de supprimer un message d'avertissement d'une boite de dialogue sur ACCESS avec VBA Merci d'avance www.commentcamarche.net/forum/affich-9063311-supprimer-1-message-d-1-boite-de-dialogue-vba
Javascript - les boîtes de dialogueQu'est-ce qu'une boîte de dialogue? Une boîte de dialogue est une fenêtre qui s'affiche au premier plan suite à un événement, et qui permet Soit d'avertir l'utilisateur Soit le confronter à un choix Soit lui demander de compléter un champ pour... www.commentcamarche.net/contents/javascript/jsdialogue.php3
VBScript - Les boîtes de dialogueQu'est-ce qu'une boîte de dialogue? Une boîte de dialogue est une fenêtre qui s'affiche au premier plan suite à un événement, et qui permet : soit d'avertir l'utilisateur ; soit le confronter à un choix ; soit lui demander de compléter un champ... www.commentcamarche.net/contents/vbscript/vbs-msgbox.php3
Boîtier PCLe boîtier Le boîtier (ou châssis) de l'ordinateur est le squelette métallique abritant ses différents composants internes. Les boîtiers ont par ailleurs d'autres utilités telles que l'isolement phonique ou la protection contre les rayonnements... www.commentcamarche.net/contents/pc/boitier.php3