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 22/07/2011, 10h45   #1
Nouveau Membre du Club
 
Yoann
Inscription : février 2011
Messages : 126
Détails du profil
Informations personnelles :
Nom : Yoann

Informations forums :
Inscription : février 2011
Messages : 126
Points : 29
Points : 29
Par défaut Macro avec conditions

Bonjour à toutes et à tous,

J'ai une question que j'aimerai posé :

Est ce qu'on peut dans une macro, dans les conditions faire une requête du style :

Code :
Si [forms]![F_1]![Nom_du_champ] est null alors faire [forms]![F_1]![case_à_coché] = -1
puis dans action mettre une boite message : blablabla

est ce possible ?
Magno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/07/2011, 11h44   #2
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 040
Points : 11 040
Bonjour,

Avec quelques lignes de code...
Es-tu allergique ?
Si besoin d'un coup de main donne un peu de détail.
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/07/2011, 12h06   #3
Nouveau Membre du Club
 
Yoann
Inscription : février 2011
Messages : 126
Détails du profil
Informations personnelles :
Nom : Yoann

Informations forums :
Inscription : février 2011
Messages : 126
Points : 29
Points : 29
je ne travaille que avec l'interface access, donc sans code...

J'ai un formulaire avec champ1, champ2, une liste déroulante et une case à coché (qui sont issu d'une table)

j'aimerai faire :
Code :
1
2
3
4
5
6
 
si [forms]![F_1]![champ1] est null et si [forms]![F_1]![liste_déroulante] est différent de champ2 alors boite message "erreur"
 
si [forms]![F_1]![champ1] est pas null et si [forms]![F_1]![liste_déroulante] est null alors boite message "erreur"
 
si [forms]![F_1]![champ1] est pas null et si [forms]![F_1]![liste_déroulante] est pas null et si [forms]![F_1]![liste_déroulante] différent de champ2 alors case à coché = -1
voila c'est pour faire un truc dans ce style la dans une macro...
Magno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/07/2011, 16h50   #4
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 040
Points : 11 040
1e ligne de la macro
condition =
Code :
EstNull([Formulaires]![F_1]![champ1]) Et [Formulaires]![F_1]![liste_déroulante]<>[Formulaires]![F_1]![champ2]
Action = "BoîteMsg" et message "Erreur"

2e ligne de la macro
condition =
Code :
Pas EstNull([Formulaires]![F_1]![champ1]) Et EstNull([Formulaires]![F_1]![liste_déroulante])
Action = "BoîteMsg" et message "Erreur"


3e ligne de la macro
condition =
Code :
Pas EstNull([Formulaires]![F_1]![champ1]) Et Pas EstNull([Formulaires]![F_1]![champ2]) Et [Formulaires]![F_1]![liste_déroulante]<>[Formulaires]![F_1]![champ2]
Action = "DéfinirValeur"
Élément : [Formulaires]![F_1]![CaseAcocher]
Expression : -1
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/07/2011, 18h41   #5
Nouveau Membre du Club
 
Yoann
Inscription : février 2011
Messages : 126
Détails du profil
Informations personnelles :
Nom : Yoann

Informations forums :
Inscription : février 2011
Messages : 126
Points : 29
Points : 29
ha oui, c'est pas bête du tout ! Comment ça ce fait que je n'y ai pas pensé.... Merci de votre réponse !!!
Magno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 10h38   #6
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 040
Points : 11 040
Bonjour,

Citation:
j'ai bien compris le principe, quand un utilisateur clique sur un élément dans la liste déroulante, on récupère ID de la liste.
Cela dépend de ce que tu as choisi comme colonne liée dans les propriétés de ta zone de liste.
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 10h39   #7
Nouveau Membre du Club
 
Yoann
Inscription : février 2011
Messages : 126
Détails du profil
Informations personnelles :
Nom : Yoann

Informations forums :
Inscription : février 2011
Messages : 126
Points : 29
Points : 29
bonjour,

je viens d'essayer une chose qui ne fonctionne pas.

J'ai une liste déroulante, et si j'ai bien compris le principe, quand un utilisateur clique sur un élément dans la liste déroulante, on récupère ID de la liste. Ses ID je les ai mit dans une table pour que cela corresponde bien à mes données.

le problème :

Code :
1
2
 
[forms]![F_1]![liste_déroulante] <> [forms]![F_1]![ID_de_ma_liste_déroulante_stocker_dans_ma_table]
définir valeur case à coché = -1

et ça ne fonctionne pas quand c'est différent...

Alors je me demande, si quand je sélectionne une donnée dans ma liste déroulante, est ce qu'il travaille bien avec ID si oui est ce qu'il faut que je stock cette donnée pour pouvoir travailler deçu ou non, et si c'est le cas, c'est pas très simple...
Magno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 10h49   #8
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 040
Points : 11 040
La colonne de référence est celle que tu as spécifiée dans : colonne liée.

Pour accéder au contenu des autres colonnes (cachées ou non), utilise la syntaxe suivante.

Me.ZoneDeListe.column(n) où n indique la colonne.

Remarque que Access commence sa numérotation à zéro.

Pour la colonne 3, tu écris Me.ZoneDeListe.column(2).

Quelle que soit la colonne liée, tu peux faire référence à ce qui est affiché avec la syntaxe :

Me.ZoneDeListe.Text
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 11h03   #9
Nouveau Membre du Club
 
Yoann
Inscription : février 2011
Messages : 126
Détails du profil
Informations personnelles :
Nom : Yoann

Informations forums :
Inscription : février 2011
Messages : 126
Points : 29
Points : 29
Merci de m'avoir répondu aussi vite.

J'ai donc créé une liste via ID champ1 champ2, access cache ID, donc d'après ce que vous m'avez conseillé : Me.ZoneDeListe.column(0) je devrait donc pouvoir travailler avec mon ID !

Je vais faire un test et je vous tiens au courant...
Magno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 11h16   #10
Nouveau Membre du Club
 
Yoann
Inscription : février 2011
Messages : 126
Détails du profil
Informations personnelles :
Nom : Yoann

Informations forums :
Inscription : février 2011
Messages : 126
Points : 29
Points : 29
quand j'exécute ma macro : incompatibilité de type...
Code :
1
2
 
[Formulaires]![F_1]![ID]=[Formulaires]![F_1]![Me.Liste_déroulante.column(0)]
alors que mon ID type Numérique et mon column(0) type (je suppose) AutoNum
Magno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 13h33   #11
Nouveau Membre du Club
 
Yoann
Inscription : février 2011
Messages : 126
Détails du profil
Informations personnelles :
Nom : Yoann

Informations forums :
Inscription : février 2011
Messages : 126
Points : 29
Points : 29
écoutez, aller savoir, ça marche...

Code :
1
2
 
[Formulaires]![F_1]![ID_TMP]<>[Formulaires]![F_1]![Ma_liste_déroulante]
apparemment ça fonctionne, ce qui est bizarre, tout à l'heure ça n'avait pas fonctionné... peut être une erreur de ma part mais j'en doute, j'étais sur de moi. Mais bon, la j'ai essayé sur plusieurs exemples et conditions et ça fonctionne

par contre le Me.ma_liste_déroulante_colunm(n) il me dit toujours qu'il y a un problème de type...

En tout cas merci de m'avoir aider, et d'avoir été aussi rapide à mes demande
Magno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 14h11   #12
Nouveau Membre du Club
 
Yoann
Inscription : février 2011
Messages : 126
Détails du profil
Informations personnelles :
Nom : Yoann

Informations forums :
Inscription : février 2011
Messages : 126
Points : 29
Points : 29
Code :
1
2
 
Pas EstNull([Formulaires]![F_1]![champ1]) Et Pas EstNull([Formulaires]![F_1]![champ2]) Et [Formulaires]![F_1]![liste_déroulante]<>[Formulaires]![F_1]![champ2]
Je ne peux pas l'écrire en entier "texte trop long".... il n'y a pas une combine pour élargir la condition ?
Magno 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 07h12.


 
 
 
 
Partenaires

Hébergement Web