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 17/10/2011, 13h15   #1
Invité régulier
 
Femme
Inscription : mars 2011
Messages : 52
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : mars 2011
Messages : 52
Points : 9
Points : 9
Par défaut case à cocher dans formulaire

Bonjour,
j’ai un formulaire et un sous-formulaire.
dans mon formulaire un champ [port].
dans mon sous-formulaire, j’ai une case à cocher [ha]
je veux faire :
quand case à cocher = -1
si le champ[port] > 0
« message d’information ».
Donc, je fais :
Code :
1
2
If Forms![formulaire]![sousformulaire]![HA].Value = -1 And Me.port > 0 Then
MsgBox "Pas de port"
Ou est l’erreur ? Quelqu’un peut m’aider ?
rose0729 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2011, 13h52   #2
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 475
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 475
Points : 7 564
Points : 7 564
Code :
If Forms![Nomformulaire]![NomsousformulaireDansForm].[Form]![HA].Value = true And Me.port > 0 Then
Quand tu fais un test avec un booléen il vaut mieux utiliser True/False au lieu de -1/0 ce qui rend le code plus lisible et moins sujet à interprétation. La convention pour True/Fals n'est pas la même d'un système à l'autre.

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2011, 14h41   #3
Invité régulier
 
Femme
Inscription : mars 2011
Messages : 52
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : mars 2011
Messages : 52
Points : 9
Points : 9
merci pour la réponse
je vais vite tester
rose0729 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2011, 15h04   #4
Invité régulier
 
Femme
Inscription : mars 2011
Messages : 52
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : mars 2011
Messages : 52
Points : 9
Points : 9
j'ai fait :

Code :
If Forms![RQenteteFacturation]![SFdetailFacturation].[Form]![HA].Value = True And Me.port > 0 Then
Ca ne marche pas, pourtant ça a l'air tellement évident !

Pourquoi ça ne marche pas ?

J'ai mis ce contrôle dans un bouton de commande, ou il y a plein d'autres controles
rose0729 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2011, 17h34   #5
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 475
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 475
Points : 7 564
Points : 7 564
Qu'est-ce qui ne marche pas ?

Tu as une erreur de syntaxe ?

Le code ne renvoit pas ce que tu atttends ?

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2011, 11h16   #6
Invité régulier
 
Femme
Inscription : mars 2011
Messages : 52
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : mars 2011
Messages : 52
Points : 9
Points : 9
J'ai mis un message pour info et je ne comprends pas pourquoi, le code ne me renvoie rien.
rose0729 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2011, 11h56   #7
Invité régulier
 
Femme
Inscription : mars 2011
Messages : 52
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : mars 2011
Messages : 52
Points : 9
Points : 9
Ca y est j'ai trouvé ... enfin j'ai trouvé pourquoi le code ne me renvoie pas ce que je lui demande de faire :

Dans mon sous formulaire ou j'ai la case à cocher [ha], dès fois la zone est cochée et dès fois non cochée (situation normale)

Comment je pourrais dire "ne cherche pas que la 1ère ligne" mais "cherche partout" ?

Merci
rose0729 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2011, 14h47   #8
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 475
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 475
Points : 7 564
Points : 7 564
Il ne cherche pas la 1ière ligne il cherche la ligne courante.

La solution la plus simple est de remplacer ton test sur la case à cocher par un DCount("TonChamp","TaSourceDeDonnees","TonCritereDeSelection")>0.

Ton critère devrait ressembler à "[HA]=True" mais il faudra sans doute ajouter les infos qui associe un sous-enr à l'enr principal.

Difficile d'être plus précis sans connaitre ton appli.

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2011, 15h42   #9
Invité régulier
 
Femme
Inscription : mars 2011
Messages : 52
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : mars 2011
Messages : 52
Points : 9
Points : 9
je teste
rose0729 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2011, 10h49   #10
Invité régulier
 
Femme
Inscription : mars 2011
Messages : 52
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : mars 2011
Messages : 52
Points : 9
Points : 9
Bonjour,

J'ai essayé Dcount (j'ai cherché des exemples pour comprendre) aucun résultat.
J'ai contourné le problème avec une requête sélection que j'ai inclue dans mon formulaire principal, et là je fais mon contrôle :
Code :
If Me.port > 0 And Forms![formulairePrincipal].Form![numFacture] = nnz(Forms![FormulairePrincipal]![RequeteSelection].Form![numFacture]) Then
et ça marche.
Mais j'aurais aimé faire avec ce" Dcount", les contrôles doivent être plus rapides.
Enfin, je donne mon idée, ça pourra peut-être aider quelqu'un.
rose0729 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2011, 16h08   #11
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 475
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 475
Points : 7 564
Points : 7 564
Le DCount() n'est pas forcément plus rapide qu'une requête c'est simplement un autre façon de faire la chose.

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r 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 11h33.


 
 
 
 
Partenaires

Hébergement Web