IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

IHM Disponibilité de bâtiments


Sujet :

IHM

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 91
    Points : 60
    Points
    60
    Par défaut IHM Disponibilité de bâtiments
    Bonjour,

    Avant de commencer, je tiens à préciser que j'ai lu les sujets "Conseils Etudiant/Novice"

    Je réalise actuellement un projet sous Access, intitulé "Disponibilité des bâtiments". J'ai avancé pas mal, pour un novice comme moi, mais là je suis arrivé à un point "un peu plus critique" que ceux rencontrés auparavant dans mon projet. Je vous explique le contenu de mon projet :

    Je dispose d'un formulaire qui affiche 10 rectangles de couleurs variables (10 rectangles correspondant à 10 bâtiments).
    Et pour chaque rectangle, j'ai 5 boutons (En fonctionnement, Anomalie Majeure, Anomalie Mineure, Bâtiment Vide, Bâtiment en maintenance).
    Ce qui me fait un total de .... 50 boutons, vous l'aurez deviné.

    Le principe de ces boutons est de faire changer la couleur des rectangles, et ainsi, l'utilisateur peut voir l'état du bâtiment en fonction de la couleur.. Rien de bien méchant.

    Donc, actuellement, j'ai crée mes tables, etc.. Le changement d'état se fait grâce à la commande UPDATE que j'introduis dans une procédure événementielle, déclenchée au clic sur un bouton.

    Maintenant je vais rentrer davantage dans le vif du sujet :

    Lorsque je clique sur Anomalie Majeur, je fais apparaitre 3 zones de texte dans lesquels il faut renseigner un numéro. Je n'arrive pas a enregistrer le numéro saisi, après avoir fait entrer. J'ai quelques idées de Record.. Mais après la syntaxe me pose des soucis..

    Ce second point concerne l'envoi de mail automatique pour Outlook.
    J'arrive à envoyer un mail sur ma propre messagerie, car je renseigne mon adresse email dans le code VBA. Mais j'aimerais retrouver dans le texte de mon email, le numéro renseigné dans la zone de texte correpondant à l'anomalie majeure, or je ne sais pas comment écrire une variable en VBA, je me remémore les "&" mais après, le flou total .. J'espère que vous arrivez toujours à me suivre

    Mon troisième point fait intervenir l'heure. J'amerais figer la date et l'heure dans mon formulaire, lorsque je clique sur un bouton (Et accessoirement l'afficher sous le bouton en question). Je sais faire afficher l'heure système (C'est pas trop dur, me direz-vous) mais pour figer celle-ci..


    Ah, et un dernier point un peu plus anodin, J'ai relié ce formulaire à un autre formulaire, une sorte de "bandeau" synthétisant le "gros" formulaire. Or si je fais des modifications dans le gros, elles ne sont pas enregistrées dans le petit bandeau (J'ai du créer un bouton "Actualiser" sur le bandeau, qui ferme et ré ouvre le formulaire bandeau, et qui donc peut afficher les couleurs du nouvel enregistrement). Y-a-t-il un moyen d'actualiser ces données sans avoir à fermer la fenêtre et à la ré ouvrir ?

    Je vous remercie de m'avoir lu jusqu'au bout.

    Guillaume.

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Bonjour,

    Bienvenu sur le FORUM et c'est bien si tu as lu les consignes.
    Il y en a une qu'il faudrait peut-être que tu appliques, c'est de ne poster qu'un sujet dans chaque fil de discussion. Parce que déjà tu ne vas pas te retrouver sur quels points les gens vont te répondre et il faut penser aux autres qui vont faire des consultations sur le problèmes résolus.

    Ceci étant,

    Pour le dernier point, j'imagine que tu fais cela en VBA. Donc il faut utiliser la méthode Requery sur ton bandeau pour qu'il s'actualise (en lieu et place du bouton Actualiser). En fait, c'est la même chose.

    Pour le premier point, il faudrait beaucoup plus d'info. Tu enregistres où les valeurs ou la valeur de ta zone de texte??

    Cordialement,

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 351
    Points : 23 816
    Points
    23 816
    Par défaut
    Ah, et un dernier point un peu plus anodin, J'ai relié ce formulaire à un autre formulaire, une sorte de "bandeau" synthétisant le "gros" formulaire. Or si je fais des modifications dans le gros, elles ne sont pas enregistrées dans le petit bandeau (J'ai du créer un bouton "Actualiser" sur le bandeau, qui ferme et ré ouvre le formulaire bandeau, et qui donc peut afficher les couleurs du nouvel enregistrement). Y-a-t-il un moyen d'actualiser ces données sans avoir à fermer la fenêtre et à la ré ouvrir ?
    dans le click du bouton.

    Devrait rafaichir tes données.

    à distance (par exemple du grand fromulaire) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    call forms("NomTonPetitForm").requery
    A+

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 91
    Points : 60
    Points
    60
    Par défaut
    Merci pour vos réponses concernant l'actualisation.

    À l'avenir, je ne vais traiter qu'un seul sujet pour faciliter la lecture, pour vous et pour ceux qui ont un problème identique au mien.


    Citation Envoyé par madefemere Voir le message
    Pour le premier point, il faudrait beaucoup plus d'info. Tu enregistres où les valeurs ou la valeur de ta zone de texte??
    Actuellement, j'ai beaucoup de mal à enregistrer cette valeur, n'est-ce pas dû au SourceControl de la zone de saisie ?

    Voici plusieurs captures d'écran de mon projet, ceci peut vous faciliter dans la compréhension

    Sur le formulaire en PJ, je souhaite juste afficher bat1 dans la zone de texte en regard de Nom de l'étage, pour la cellule U1.
    Images attachées Images attachées    

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Bonsoir,

    Qu'est-ce que tu entend par (post 1)
    Donc, actuellement, j'ai crée mes tables, etc..
    alors que tu as déjà des formulaires??

    La question: ton formulaire est basé sur quelle table ou requête?? ou est-il indépendant?

    Effectivement, si tu ne sais même pas dans quel champ de quelle table tu vas enregistrer CE QUE TU SAISIS, il y a un gros problème dans ta démarche.

    Je te conseille de revoir ton modèle et de bien vérifier que tu as intégré toutes les informations que tu vas saisir.

    Je ne comprend pas le besoin de figer une heure système sur un formulaire à un instant T?? Tu peux attribuer effectivement la valeur de l'heure système à une étiquette qui ne changera pas. Mais quel est le but??.

    On reste à l'écoute, mais renvoie-nous de plus amples informations.

    Bonne continuation

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 91
    Points : 60
    Points
    60
    Par défaut
    Citation Envoyé par madefemere Voir le message
    Bonsoir,

    Qu'est-ce que tu entend par (post 1)

    alors que tu as déjà des formulaires??

    La question: ton formulaire est basé sur quelle table ou requête?? ou est-il indépendant?
    Ben à vrai dire, j'ai réalisé mon formulaire avant mes tables, je ne sais pas si ça a une incidence quelconque.. Néanmoins j'ai insérer la table "Cellule" dans les propriétés de mon formulaire. Je pense que je répond à ce que tu me demandes?

    Je n'utilise pas de requêtes, je n'en ai jamais fait, et actuellement, vu que ca marche sans, je vois pas l'utilité encore

    Effectivement, si tu ne sais même pas dans quel champ de quelle table tu vas enregistrer CE QUE TU SAISIS, il y a un gros problème dans ta démarche.
    Justement, je me demandais comment procéder car si j'associais la zone de texte à ma table NomEtage (dans les pièces jointes, on peut apercevoir cette table avec les noms "bât1", "bât2", etc.)
    Et je souhaite juste afficher Bât1 sous U1, Bât2 sous U2... et rendre ce texte modifiable et remplacable. (Par exemple écrire "batiment1" à la place de "bat1" viendrait l'écraser dans ma table pour faire simple )


    Je ne comprend pas le besoin de figer une heure système sur un formulaire à un instant T?? Tu peux attribuer effectivement la valeur de l'heure système à une étiquette qui ne changera pas. Mais quel est le but??.
    Le but est, à chaque clic sur le bouton "Vide" ou "En maintenance" (Boutons du Formulaire en PJ un peu plus haut), j'aimerais afficher l'heure où le bâtiment passe en maintenance (par exemple) afin de renseigner aux utilisateurs du formulaire depuis quelle date il est passé en maintenance, d'où la date figée

    A terme, j'aimerais sur une année, savoir le temps que le batiment est passé en maintenance (mais ca, c'est un peu ma lettre au père Noel )

    De plus, lorsque je suis en anomalie, j'ai un bouton, à droite des zones de texte "N° Anomalie" qui me redirige vers une fenêtre mail. Et j'aimerais aussi afficher une sorte de date figée correspondant à l'envoi du mail (Je distingue la date de passage du batiment en anomalie et date d'envoi de l'information[Numéro d'anomalie]). Ou alors, plus simple peut etre, au lieu d'une date pour l'envoi du mail, une sorte de voyant passant du rouge au vert..

    J'espère que vous me suivez toujours

    Je suis toujours à l'écoute si vous voulez que j'éclaircisse différents points.

    Guillaume.

  7. #7
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Si j'ai bien compris, tu commences sur Access.

    Je te conseille vivement de lire des livres ou des tutos car tu vas avoir de grandes difficultés à chaque pas dans ton projet. Tous les problèmes que tu soulèves actuellement (et les questions basiques que tu te poses) sont des résultats d'erreur de conception (insuffisance d'information sur les bases) et cette ligne n'est pas anodine :
    Je te conseille de revoir ton modèle et de bien vérifier que tu as intégré toutes les informations que tu vas saisir.
    .

    En résumé,
    - les tables sont les objets où tu enregistres tes données, donc
    j'aimerais afficher l'heure où le bâtiment passe en maintenance (par exemple) afin de renseigner aux utilisateurs du formulaire depuis quelle date il est passé en maintenance, d'où la date figée
    Cette information devrait être dans une table.

    - Avec les requêtes tu filtres tes données ou exécutes des actions sur tes données (ajout, suppression, modification).

    - Les formulaires (Interface-Homme-Machine) te permettent de saisir-modifier-supprimer les données de tes tables. Ils sont basés sur une table ou une requête. De même un état (encore un IHM- non modifiable) présente les données selon tes besoins.

    Tu peux avoir un formulaire sans source, soit pour présentation, soit avec un code derrière qui exécute les actions sur les tables.

    C'est pour cela qu'il faut d'abord que tu essaies de modéliser ou rendre cohérent toutes les actions que tu vas faire sur tes données. Et que toutes les informations dont tu VEUX gérer soient dans un OBJET table et que tes tables forment un ensemble cohérent avec les relations.

    Développer à l'arrache en commençant par un formulaire ne se fait pas car ON PERD DU TEMPS après pour rectifier le modèle.

    En conclusion, avant d'aller plus loin, peux-tu nous donner vraiment dans le détail le but de ton système, car les infos dans tes tables sont insuffisantes par rapport à tes besoins indiqués dans ton dernier poste.

    Dès que j'ai du temps, je vais essayer de te présenter un autre modèle. Je suis un peu débordé actuellement

    Bonne continuation

  8. #8
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 91
    Points : 60
    Points
    60
    Par défaut
    Bonjour,

    Merci de m'avoir clarifier la fonction des tables/requêtes/états.
    Tu as raison en disant que ça s'apprend dans les livres, et que j'ai perdu du temps.. Néanmoins, j'arrive à me débrouiller en trouvant des solutions "au cas par cas", et il ne me reste que très peu de cas à traiter.

    Citation Envoyé par madefemere Voir le message
    En conclusion, avant d'aller plus loin, peux-tu nous donner vraiment dans le détail le but de ton système, car les infos dans tes tables sont insuffisantes par rapport à tes besoins indiqués dans ton dernier poste.

    Dès que j'ai du temps, je vais essayer de te présenter un autre modèle. Je suis un peu débordé actuellement

    Bonne continuation
    Alors, mon projet consiste à afficher sur un formulaire :

    10 Rectangles de U1 à U5 et de D1 à D5 (Voir en pièce jointe, plus haut).
    Ceci représente des bâtiments, au nombre de 10.

    J'ai ainsi crée une table principale "Cellule" comprenant le champs numérique "NomCellule" et j'ai crée une table "NomCellule" reprenant mes bâtiments. Ce ne sont pas les noms de mes bâtiments mais juste une référence pour les dissocier, bref.

    Pour chaque rectangle, j'ai associé 5 boutons, qui changent la couleur de mon rectangle en fonction de la disponibilité du bâtiment (Les boutons ne servent pas qu'à ça ). J'ai donc ajouté un champ "Etat" à ma table principale "Cellule" (puis dans mon code VBA, j'ai insérer une condition if à l'ouverture de mon formulaire, de mettre tel ou tel rectangle en fonction du numéro de l'état)

    Ensuite, j'ai insérer une zone de texte dans chaque rectangle. Dans cette zone de texte, je souhaite afficher le nom du bâtiment (En vous rappelant que U1, U2, etc, n'est pas le nom), et je souhaite que ce nom soit modifiable dans la table. J'ai donc ajouté un champ "NomEtage" à ma table principale "Cellule".

    Côté bouton, voici les "extras" :

    Puis, j'ai crée deux champs "DateDébutEtat" et "DateFinEtat" toujours dans ma table principale "Cellule". Je souhaite avoir une date de début de passage en maintenance du bâtiment (Par exemple) et une date de fin, afin de pouvoir comptabiliser la durée totale sur une année et de faire le point avec mes sous-traitants.
    Et dans le même cas, si un bâtiment est en maintenance, je veux afficher la date (figée) correspondant uniquement au passage en maintenance (Comme ça, les utilisateurs peuvent voir quand le bâtiment est resté trop longtemps en maintenance ).

    Ceci c'est concernant le principe de durée. J'ai un autre principe qui envoie des messages automatiques Outlook. J'ai quasiment réglé ce problème là.

    Lorsque je clique sur le bouton d'anomalie Bord bloquant, je fais afficher 3 champs dans lesquels l'utilisateur renseigne le numéro d'anomalie. Il appuie ensuite sur le bouton "..." situé à droite de la case qu'il vient de remplir, et est redirigé vers un autre formulaire (dans lequel il sélectionnera les destinataires). Dès qu'il cliquera sur le bouton envoi de ce 2ème formulaire, il affichera un voyant vert sur le formulaire principal(signalant qu'un mail à été envoyé).

    Et enfin, le bouton Anomalie Sol affiche une liste déroulante contenant différentes anomalies (Problèmes d'éclairage, etc.. Rien à voir avec l'anomalie Bord Bloquant qui est un numéro). Concernant ce bouton, à l'ouverture du formulaire, le rectangle est de la couleur que je veux (la couleur de l'anomalie que j'ai spécifié quoi) et je souhaite, toujours à l'ouverture, afficher le type d'anomalie dans la liste déroulante qui aura été sélectionné plus tôt par quelqu'un dans la journée.

    J'ai crée un bandeau, dans un nouveau formulaire, reprenant les différents bâtiments et leurs couleurs attribuées.

    Ce projet a pour but d'être sur plusieurs postes qui pourront ouvrir ce formulaire en même temps et, d'un ordinateur "A" remplissant des numéros d'anomalie, un ordinateur "B" verra automatiquement les modifications, au même moment.

    J'espère avoir répondu à tes attentes, madefemere.

    Guillaume.

  9. #9
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 91
    Points : 60
    Points
    60
    Par défaut
    Bonjour,

    Avez-vous une solution à mon problème ?

    Guillaume.

  10. #10
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2012
    Messages : 77
    Points : 74
    Points
    74
    Par défaut
    Quel est le problème ?

    Si c'est juste "figé" l'heure elle doit être enregistré dans un champ d'une table via une requête d'ajout ou de mise à jour

    Je viens de relire ton premier message
    Je te conseil de créer une nouvelle table ou tu y enregistrera l'heure, le numéro de problème, le nom du bâtiment incriminé etc...

    Chaque changement d'état de bâtiment y sera enregistré ce qui te permettra d'avoir ton cadeau de Noël ;-)

  11. #11
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 91
    Points : 60
    Points
    60
    Par défaut
    Bonjour,

    h1karu, je vois ce que tu veux dire. Mais je n'arrive pas à savoir comment je peux prendre l'heure système et l'insérer dans une requête INSERT INTO (Je coince au niveau du SET )

    Guillaume.

  12. #12
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 351
    Points : 23 816
    Points
    23 816
    Par défaut
    Pour lire la date système, fonction : date()
    Pour lire l'heure système, fonction : time()
    Pour lire les deux en même temps, fonction : Now()

    A+

  13. #13
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2012
    Messages : 77
    Points : 74
    Points
    74
    Par défaut
    Salut,

    Voila la solution en exemple.

    ce n'est pas la solution la plus simple même si elle n'est pas compliquée.
    la plus simple est de mettre now() directement dans la requête d'ajout et de ne pas aller chercher la zone de texte ou j'affiche la date et l'heure en vba

    j'ai fait comme ça pour que tu comprennes comment fonctionnent la requête d'ajout
    Fichiers attachés Fichiers attachés

  14. #14
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 91
    Points : 60
    Points
    60
    Par défaut
    Bonjour,

    Merci de vos réponses.

    Veuillez trouver en pièces jointes, les problèmes récurrents auxquels je fais face, et le code que j'ai écris.

    Si vous avez à nouveau des solutions, je suis preneur

    Merci encore !

    Guillaume.
    Images attachées Images attachées
    Fichiers attachés Fichiers attachés

  15. #15
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2012
    Messages : 77
    Points : 74
    Points
    74
    Par défaut
    Pour depuis.pdf

    tu ajoutes a droite de l’étiquette "depuis :" une zone de texte exemple zdtDepuis
    sur l’événement sur clic tu mets Me.zdtDepuis = Now()

  16. #16
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2012
    Messages : 77
    Points : 74
    Points
    74
    Par défaut
    Pour NomEtage.pdf

    Au chargement du formulaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Me.Texte314 = DLookup("[NomEtage]", "Cellule", "[CelluleID] = 27")
    Me.Texte143 = DLookup("[NomEtage]", "Cellule", "[CelluleID] = 28")
    'etc... pour chaque zone de texte
    ce qui devrais écrire le nom de chaque étage dans les zone de texte

    un conseil renomme tes zones de texte de nom d'étage pour mieux t'y retrouver car texte### n'est pas top

    n'oublie pas de supprimer les Source de contrôle que tu as rempli

    ton code de modification devrais fonctionner

  17. #17
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2012
    Messages : 77
    Points : 74
    Points
    74
    Par défaut
    Pour numeroano.pdf fait comme pour NomEtage.pdf ça devrais fonctionner

    Si tous tes problèmes sont résolus clique sur le bouton qui va bien

    en espérant t'avoir aidé

    Manu.

  18. #18
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 91
    Points : 60
    Points
    60
    Par défaut
    Merci pour cette réponse rapide, manu.

    Tout ceci fonctionne correctement mais il y a encore un hic.

    1er problème :

    Ceci fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Texte314 = DLookup("[NomEtage]", "Cellule", "[CelluleID] = 27")
    Mais si je modifie, cela ne viendra pas modifié ma table. Je pense qu'il faut faire une sorte de "UPDATE..FROM..WHERE" mais je ne vois pas comment faire pour écrire dans ma table quelque chose que je tape dans une zone de texte.

    2ème et dernier problème :

    Ceci fonctionne :

    Comment pourrais-je stocker cette heure affichée dans ma table "Cellule" ?
    Car, en cas de fermeture et réouverture du formulaire, la valeur est perdue.

    Merci encore de votre aide.

    Guillaume

  19. #19
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2012
    Messages : 77
    Points : 74
    Points
    74
    Par défaut
    tu as mis un événement après update de Texte314 (nom de l'étage "TITI")

    ton code visual basic :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub Texte314_AfterUpdate()
        Dim NomEtage As Integer
        Dim SQL As String
        NomCellule = 1 'U1
        'Mise à jour dans la table Cellule du nom, lorsque NomCellule = 1 (U1)
        SQL = " UPDATE [Cellule] SET [Cellule].NomEtage = Texte314.Text  " & "WHERE [Cellule].[NomCellule] = 1;"
        DoCmd.RunSQL SQL
    End Sub
    Ce qui suffit a changer le nom dans la table mais pour rester cohérent avec l'ID de la Cellule je ferais plutôt comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Private Sub Texte314_AfterUpdate()
    Dim SQL As String
    SQL = "UPDATE Cellule SET Cellule.NomEtage = Texte314.Text WHERE (((Cellule.CelluleID)=27));"
    DoCmd.RunSQL SQL
    End Sub
    "Dim NomEtage As Integer" et "NomCellule = 1 'U1" sont inutile car ils sont entre guillemet


    a chaque fois que tu modifies le "Nom d'étage" il change dans le champ "NomEtage" de la table "Cellule" la ligne est indiqué par "IdCellule"


    tu peux faire la même chose pour enregistrer l'heure de "Depuis :" il faut juste savoir dans quel champ de la table tu veux l'enregistrer et a partir de quel bouton


    si tu veux comptabiliser les temps d'indisponibilité je pense qu'une table dédié ne serait pas de trop.

    un conseil fait toi un plan de ce qui doit être enregistrer, et dans quel table, savoir comment gérer les infos générer par ton formulaire est primordial pour bien travailler

  20. #20
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 91
    Points : 60
    Points
    60
    Par défaut
    Bonjour,
    Merci, tout fonctionne à merveille sauf pour le "depuis".

    Je n'arrive pas à stocker dans mon champ "DateDebutEtat". Faut-il que je change le type de mon champ ? J'ai mis un champ Date/Heure, pas de résultat, idem si le champ était un champ texte.

    Je ne vois donc pas comment stocker l'heure système, lors du clic sur bouton "Anomalie".

    Voici le code que j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub cmdAnomalie_Click()
        Me.zdtdepuis = Now()
        zdtdepuis.Visible = True
        Dim SQL1 As String
        SQL1 = "UPDATE Cellule SET Cellule.DateDebutEtat = zdtdepuis.Text WHERE (((Cellule.CelluleID)=27));"
        DoCmd.RunSQL SQL1
    End Sub
    Si vous avez des solutions, je suis encore et toujours preneur


    si tu veux comptabiliser les temps d'indisponibilité je pense qu'une table dédié ne serait pas de trop.

    un conseil fait toi un plan de ce qui doit être enregistrer, et dans quel table, savoir comment gérer les infos générer par ton formulaire est primordial pour bien travailler
    Pour le moment, je souhaite vraiment afficher l'heure, à titre indicatif pour l'utilisateur. Si le besoin est émis, je comptabiliserai ceci dans une prochaine version du logiciel

    Merci encore

    Guillaume.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Développer une IHM en C++
    Par nxpyb dans le forum Bibliothèques
    Réponses: 2
    Dernier message: 17/11/2004, 16h10
  2. <<< IHM MFC: OPACITé >>>
    Par nico___23 dans le forum MFC
    Réponses: 8
    Dernier message: 10/11/2004, 00h02
  3. [SWT]mise a jour ihm SWT par un thread
    Par will82 dans le forum SWT/JFace
    Réponses: 1
    Dernier message: 06/08/2004, 11h37
  4. [IHM] Enchainement des écrans
    Par CanardJM dans le forum Composants VCL
    Réponses: 6
    Dernier message: 22/06/2004, 16h01
  5. Haute Disponibilité
    Par ovh dans le forum Réseau
    Réponses: 12
    Dernier message: 07/09/2003, 20h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo