Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/03/2011, 09h52   #1
Membre à l'essai
 
Homme Steph
Technicien maintenance
Inscription : janvier 2011
Messages : 83
Détails du profil
Informations personnelles :
Nom : Homme Steph
Âge : 40
Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

Informations professionnelles :
Activité : Technicien maintenance
Secteur : High Tech - Électronique et micro-électronique

Informations forums :
Inscription : janvier 2011
Messages : 83
Points : 22
Points : 22
Par défaut Warning sous condition ?

Bonjour à tous,

Dans le cadre de mon activité, je suis emmené à saisir des clôtures d'interventions techniques sur notre BD.
Chaque enregistrement, fait état du numéro de machine (ID_Machine), Date d'intervention, Heure intervention etc..

Comment mettre en œuvre ceci ?
Si la machine passe 3 fois en panne en 15 jours (3 enregistrements différents avec le même ID_Machine), alors "Warning" automatique = vigilance sur cette machine.

Comment procéder ?

D'avance merci pour votre aide
fragglerick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2011, 10h44   #2
Membre chevronné
 
Inscription : septembre 2008
Messages : 798
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2008
Messages : 798
Points : 674
Points : 674
Bonjour fragglerick

Quel est l'estruture de ton application?
Tu fais l'enregistrement des interventions dans un formulaire? Il est lié à une table ou est-il independent?
Marc_27 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2011, 11h14   #3
Membre du Club
 
Homme hadrien
Apprenti Ingénieur
Inscription : mars 2011
Messages : 86
Détails du profil
Informations personnelles :
Nom : Homme hadrien
Localisation : France

Informations professionnelles :
Activité : Apprenti Ingénieur
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : mars 2011
Messages : 86
Points : 56
Points : 56
Bonjour,

A chaque fois que tu ajoute un enregistrement panne avec ton formulaire, tu met une procedure qui creer un requete qui te trouve les enregistrement "interventions" de cette Id_machine, tu creer un recordset qui réccupère les données, et ensuite tu compare les trois dernier enregistrement avec leur champ date.

Moi j'aurai fait comme ça, mais je débute sur Access alors ça vaut ce que ça vaut ....
FtF Nemesis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2011, 18h59   #4
Membre à l'essai
 
Homme Steph
Technicien maintenance
Inscription : janvier 2011
Messages : 83
Détails du profil
Informations personnelles :
Nom : Homme Steph
Âge : 40
Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

Informations professionnelles :
Activité : Technicien maintenance
Secteur : High Tech - Électronique et micro-électronique

Informations forums :
Inscription : janvier 2011
Messages : 83
Points : 22
Points : 22
Citation:
Envoyé par Marc_27 Voir le message
Bonjour fragglerick

Quel est l'estruture de ton application?
Tu fais l'enregistrement des interventions dans un formulaire? Il est lié à une table ou est-il independent?
Bonjour !

Marc_27 => Je saisis les interventions via un formulaire qui alimente une table: Clôture_intervention

FtF Nemesis => je débute également, et à ta lecture, ton niveau semble bien meilleurs que le mien
Je vois à peu prés ce que tu veux dire, en revanche, je ne vois pas comment le mettre en œuvre ??

Merci pour votre aide
fragglerick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2011, 09h30   #5
Membre chevronné
 
Inscription : septembre 2008
Messages : 798
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2008
Messages : 798
Points : 674
Points : 674
Bonjour,

Je suppose qui dans ton formulaire t'as un bouton pour enregistrer l'intervention.
Tu peux essayer de mettre un compteur dans le bouton du formulaire qui compte les interventions de la machine dans les derniers 15 jours:

Code :
1
2
3
dim nbInterventions as integer
nbInterventions = DCount("[ID_Machine]", "TaTable", "[Date_intervention]>=Date()-15 AND [ID_Machine]=" & Me.<ChampQuiContientIDMachine>.Value)
If nbInterventions >=3 then MsgBox "Attention!"
Marc_27 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2011, 14h28   #6
Membre à l'essai
 
Homme Steph
Technicien maintenance
Inscription : janvier 2011
Messages : 83
Détails du profil
Informations personnelles :
Nom : Homme Steph
Âge : 40
Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

Informations professionnelles :
Activité : Technicien maintenance
Secteur : High Tech - Électronique et micro-électronique

Informations forums :
Inscription : janvier 2011
Messages : 83
Points : 22
Points : 22
Bonjour,

Merci Marc de ton aide...

Je débute en Access et je m'excuse par avance si je n'interprète pas de la meilleure des façons ton code, mais j'y travaille

Est-ce comme ceci qu'il faut interprété le code ? en Français dans le texte :

=> Déclaration de la variable Nbinterventions dont le résultat sera sous forme d'un nombre
=> Nbintervention = calcul du nombre d'enregistrements de "ID machine" de la table s'y afférent, en considérent la date = date actuelle - 15 jours et "Id_machine"= affichage du nombre enregistrements
=> Si Nbintervention est égal où supérieur à 3 = affichage "Attention"

Ai-je juste ?

Avant d'associer ce bout de code à mon bouton enregistrent, je m'exerce sur un module...

Pourquoi ai-je une erreur de compilation ?


Code :
1
2
3
4
5
Sub test()
Dim récidive As Integer
récidive = DCount("[ID_Machine]", "Panne_clôturé", "[Date_Appel]>=Date()-15 AND [ID_Machine]=" & Me.ID_Machine.Value)
If récidive >= 3 Then MsgBox "Attention !"
End Sub
Encore Merci
fragglerick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2011, 16h54   #7
Membre chevronné
 
Inscription : septembre 2008
Messages : 798
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2008
Messages : 798
Points : 674
Points : 674
Quel est la message d'erreur?

J'ai fait aussi un erreur :
Essaye de faire
Code :
récidive = DCount("[ID_pane]", "Panne_clôturé", "[Date_Appel]>=Date()-15 AND [ID_Machine]=" & Me.ID_Machine.Value)
Pour compter le nombre de pannes de la machine concernné, et l'interpretation serait:

Nbintervention = calcul du nombre de pannes de la table s'y afférent, en considérent la date >= date actuelle - 15 jours et "Id_machine"= machinne concernné
Marc_27 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2011, 21h13   #8
Membre à l'essai
 
Homme Steph
Technicien maintenance
Inscription : janvier 2011
Messages : 83
Détails du profil
Informations personnelles :
Nom : Homme Steph
Âge : 40
Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

Informations professionnelles :
Activité : Technicien maintenance
Secteur : High Tech - Électronique et micro-électronique

Informations forums :
Inscription : janvier 2011
Messages : 83
Points : 22
Points : 22
Bonsoir,

Merci pour tes explication Marc... néanmoins, le message d'erreur reste "utilisation incorrecte du mot clé Me "
fragglerick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/03/2011, 17h19   #9
Membre chevronné
 
Inscription : septembre 2008
Messages : 798
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2008
Messages : 798
Points : 674
Points : 674
Est-ce que dans ton expression
ID_Machine est bien le nom du champ qui contient l'ID de la machine concernée?
Est-ce qu'il est un champ numérique ou il peut contenir des lettres?

Est-ce qu'on peut voir tout le code derrière ce bouton?
Marc_27 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2011, 14h50   #10
Membre à l'essai
 
Homme Steph
Technicien maintenance
Inscription : janvier 2011
Messages : 83
Détails du profil
Informations personnelles :
Nom : Homme Steph
Âge : 40
Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

Informations professionnelles :
Activité : Technicien maintenance
Secteur : High Tech - Électronique et micro-électronique

Informations forums :
Inscription : janvier 2011
Messages : 83
Points : 22
Points : 22
Bonjour Marc,

Citation:
ID_Machine est bien le nom du champ qui contient l'ID de la machine concernée?
oui c'est bien ce champ.

Citation:
Est-ce qu'il est un champ numérique ou il peut contenir des lettres?
C'est un champ TEXTE

Citation:
Est-ce qu'on peut voir tout le code derrière ce bouton?
Je n'ai pas encore associé ce code avec le bouton "Enr", je m'entraine sur un module.

Encore merci à toi

ps: Je viens de me commander "VBA Access 2007 pour les nuls"
fragglerick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2011, 16h40   #11
Membre chevronné
 
Inscription : septembre 2008
Messages : 798
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2008
Messages : 798
Points : 674
Points : 674
Bonjour fragglerick,

Cool pour le livre


Le problème c'est ton module:
Le mot cle Me fait référence au formulaire en cours, et pourtant il n'y a pas de formulaire ouvert. Il faut mettre le code dans l'événement Sur Clique du bouton d'enregistrer et le tester dans le formulaire

En plus, si c'est du texte, il faut mettre des ':
Code :
récidive = DCount("[ID_pane]", "Panne_clôturé", "[Date_Appel]>=Date()-15 AND [ID_Machine]='" & Me.ID_Machine.Value & "'")
Marc_27 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2011, 18h02   #12
Membre à l'essai
 
Homme Steph
Technicien maintenance
Inscription : janvier 2011
Messages : 83
Détails du profil
Informations personnelles :
Nom : Homme Steph
Âge : 40
Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

Informations professionnelles :
Activité : Technicien maintenance
Secteur : High Tech - Électronique et micro-électronique

Informations forums :
Inscription : janvier 2011
Messages : 83
Points : 22
Points : 22
En fait, j'ai créé le bouton "Enregistrement" en passant par le générateur d'expression en mode SQL.Raison pour laquelle je n'arrive pas à associer ce bout de code...

En revanche, j'ai crée un bouton dans mon form où j'ai associé ce code.
Il y a du mieux, j'ai maintenant une erreur d'exécution "3075"
Erreur de syntaxe dans la chaine d'expression:
<<[Date_Appel]>=Date()-15 AND [ID_Machine]=RGP2>>

Pas simple pour moi, mais 'y travaille

Merci Marc
fragglerick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 09h37   #13
Membre chevronné
 
Inscription : septembre 2008
Messages : 798
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2008
Messages : 798
Points : 674
Points : 674
Il manque des ', regarde ce post
Marc_27 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 21h37   #14
Membre à l'essai
 
Homme Steph
Technicien maintenance
Inscription : janvier 2011
Messages : 83
Détails du profil
Informations personnelles :
Nom : Homme Steph
Âge : 40
Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

Informations professionnelles :
Activité : Technicien maintenance
Secteur : High Tech - Électronique et micro-électronique

Informations forums :
Inscription : janvier 2011
Messages : 83
Points : 22
Points : 22
Citation:
Envoyé par Marc_27 Voir le message
Il manque des ', regarde ce post
ça va mieux effectivement... ça marche

En attendant de recevoir mon bouquin "VBA pour les nuls" , je me permets de te (vous) poser une dernière question.
Je souhaiterais associer ce bout de code avec celui du bouton enregistrement que je viens de créer de copier .
Comment s'articule l'association de 2 codes sur le click d'un bouton ? Syntaxe ?


D'avance merci

[EDIT] j'ai trouvé.

Encore Merci MARC !!
fragglerick est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h52.


 
 
 
 
Partenaires

Hébergement Web