[Access] CheckBox et Groupe Option

Résolu
AiDuK Messages postés 80 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 30 juillet 2008 - 11 juin 2008 à 10:40
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 - 12 juin 2008 à 17:16
Bonjour,

Voilà , je rencontre un petit soucis actuellement dans un projet que j'essai de réaliser.
Je test actuellement sur un exemple, car l'ensemble du projet est calqué sur le même principe.

Je part d'une Base de Donnée Access 2003, dans celle ci se trouve une table Etudiant
Les champs constituants cette table sont respectivement : No , Nom , Prenom , Humain , Sex

Ce que je cherche à faire, par le biais d'un formulaire Access, est pour "Humain", d'avoir une CheckBox, et pour "Sex" un Groupe d'option ( Homme , Femme )

Je voudrais que le groupe d'option soit masqué lorsque la checkbox n'est pas cochée.
De plus, je ne trouve pas comment insérer des données dans la table à partir de checkbox et de groupe d'option.

L'idéal serait que lorsque la checkbox est cochée, le champs "humain" recoive un "X" dans le table, et que lorsque dans le groupe d'option , "Homme" est coché , cela insert dans la bdd H, et de même pour "Femme", cela insert F dans le champ Sex.

Merci de m'avoir lu, j'espère que vous pourrez m'aider, je bloque là dessus depuis un moment, et toutes mes recherches sur internet se sont avérées infructueuses.

Cordialement,

AiDuK, apprenti développeur

15 réponses

LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
11 juin 2008 à 17:14
Au départ, Initialises le tout

Cocher6.Value =Checked
etq1.Caption="X"
frame1.Visible = True
Option1.Value=True
etqSexe.Caption="H"

<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
3
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
11 juin 2008 à 16:59
Private Sub Cocher6_Click()
If Cocher6.Value = Checked Then
frame1.Visible = True
etq1.Caption= "X" 
   If Option1.Value=True Then
       etqSexe.Caption="H"
   Else
       etqSexe.Caption="F"
   End If


Else
  frame1.Visible = False
   etq1.Caption= ""
   etqSexe.Caption=""
 End If
End Sub

Option1 est le 1° bouton option





<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
1
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
11 juin 2008 à 15:24
Salut,
Voici une slution:
1-Un CheckBox + un label (Visible=False)


2-Un frame +un groupe d' option
+ un label (Visible=False) pour chaque option.


Ainsi lorsque tu coches la CheckBox
Frame.Visible=True
tu mets un X dansla caption du label associé


Et lorsque tu décoches
Frame.Visible=False
tu mets un "" dans la caption du label associé


Pour les options
Si c' est Homme tu mets un H dans le label associé.
Si c' est Femme tu mets un F dans le label associé.


Il va de soit que tu as le choix entre lier directement lrs labels
à la base de donnée et au champ correspndant ou mettre à jour
ta base après validation avec les valeurs de ces labels.


Une remarque cependant:
Lrsque tu ouvrira ton formuliare pour un Ajout ou Modif il faudra penser à la correspondance entre les valeurs des Labels et l' etat des controls check et option.





<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
11 juin 2008 à 15:29
Petite rectif:
un seul label suffira pour le group d' option.
Il prendera la valeur H ou F selon que c' est Homme qui est choisi ou c' est Femme.

<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
AiDuK Messages postés 80 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 30 juillet 2008
11 juin 2008 à 16:16
Merci d'avoir pris le temps de répondre à mes questions , cependant je continu à être bloqué sur certains points.

Pour commencer , je ne vois pas à quoi correspond "un frame" que tu m'as conseillé d'associer à mon groupe d'option.
Je crée mon formulaire sous Access 2003, et c'est la 1ere fois que j'essai de créer un formulaire sous Access
De plus, j'arrive à activer ou désactiver le groupe d'option (avec Enabled true ou Enabled false) en fonction de l'état de ma checkbox.
Mais la, je me trouve confronté à un autre problème :
Je coche ma checkbox, ainsi mon groupe d'option devient actif, je fais mon choix ( Homme ou Femme) ,  mais apres , je peux décocher
ma checkbox, et là, un des choix de mon groupe d'option reste coché ,ce que je ne veux pas.

Pour résumer à la situation à laquelle je souhaite appliquer cela, ma checkbox me sert à renseigner si un dossier a été demandé ou non ( coché / décoché )
et le groupe d'option renseigne si le dossier était complet ou non ( d'où les 2 choix dans le groupe d'option).

Et donc la , avec mon probleme , je peux tomber dans le cas où un dossier n'a pas été demandé , mais il est enregistré dans la bdd comme complet ou incomplet.
0
AiDuK Messages postés 80 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 30 juillet 2008
11 juin 2008 à 16:22
En gros , pour expliquer plus facilement , je voudrais que lorsque je décoche ma checkbox, cela annule ce qui aurait pu être coché dans le groupe d'option

PS : c'est bon , j'ai vu ce qu'était la frame du groupe d'option, j'ai honte de moi :'(
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
11 juin 2008 à 16:31
lorsque tu décoches la checkbox,


Frame.Visible=False
le label associé à la check=""
ET le label sexe="" ==>même si  une option
reste sélectionné il n' y aura aucune valeur pour sexe puisque
Humain="" et donc ni F ni H


Et lorsque tu coches tu mets la valeur Sexe de l' option sélectinné.





<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0
AiDuK Messages postés 80 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 30 juillet 2008
11 juin 2008 à 16:38
Pour l'instant cette partie de code correspond à ca :

Private Sub Cocher6_Click()
If Cocher6.Enabled = True Then
frame1.Visible = True
etq1.TextAlign = X
End If
If Cocher6.Enabled = False Then
frame1.Visible = False
etq1.TextAlign = ""
End If
End Sub

Cocher6  -> CheckBox
Frame1 ->frame du groupe d'option
etq1 -> label attaché à la CheckBox

Cependant quand je décoche la checkbox , la frame ne disparait pas
Et quand je coche la checkbox , rien n'apparait dans etq1
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
11 juin 2008 à 16:42
ne testes pas sur enabled mais sur Value.
If Cocher6.Value=Checked  Then

Checked==>Coché
UnChecked))>Décoché
<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
11 juin 2008 à 16:49
et non pas etq1.TextAlign = ""
mais etq1.Caption= ""  (si c' est bien un label)

<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0
AiDuK Messages postés 80 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 30 juillet 2008
11 juin 2008 à 16:51
Mon code ressemble maintenant à ca :

Private Sub Cocher6_Click()
If Cocher6.Value = Checked Then
frame1.Visible = True
End If
If Cocher6.Value = Unchecked Then
frame1.Visible = False
End If
End Sub

Mais cela ne marche toujours pas. Frame1 n'est pas visible au début , mais n'est pas visible non plus lorsque je coche la checkbox
De plus, je ne vois pas comment récupérer de valeur dans le label.
J'ai appris à développer sur Visual Studio 2005 , mais je dois avouer que je suis complétement perdu sous leur système de formulaire sous Access,
qui pourtant ne doit pas être si différent dans le concept.
0
AiDuK Messages postés 80 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 30 juillet 2008
11 juin 2008 à 16:56
j'ai essayé etq1.caption = X lorsque la checkbox est cochée , cependant j'ai des doutes sur le fait que cela soit un label , sous Access je ne trouve pas de label , ce truc là s'appel une étiquette,
c'est ce que j'ai trouvé de plus proche par rapport au label, mais bon , cela n'a pas l'air de marcher plus que ca.
Donc bon , toujours un peu dans le vague.
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
11 juin 2008 à 17:04
Et rajoutes ces lignes


Sub Option1_Click
 
       etqSexe.Caption="H"
 
End Sub


Sub Option2_Click
 
       etqSexe.Caption="F"
 
End Sub





<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0
AiDuK Messages postés 80 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 30 juillet 2008
12 juin 2008 à 09:54
Me voilà de retour, je test depuis ce matin mais j'ai quelques soucis encore

- Je ne sais pas comment faire pour initialiser les variables à partir de l'extrait de code que tu m'as donnée
- Et pour le rest,  lorsque je click que ma checkbox , le groupe option ne devient pas visible

Le code ressemble actuellement à ca :

Option Compare Database


Private Sub Cocher6_Click()
If Cocher6.Value = Checked Then
frame1.Visible = True
etq1.Caption = "X"
   If Option1.Value = True Then
       EtqSexe.Caption = "H"
   Else
       EtqSexe.Caption = "F"
   End If


Else
  frame1.Visible = False
   etq1.Caption = ""
   etq1.Caption = ""
 End If
End Sub


Private Sub Option11_Click()
EtqSexe.Caption = "H"
End Sub


Private Sub Option13_Click()
EtqSexe.Caption = "F"
End Sub

Je te remercie pour le temps que tu passes à m'aider
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
12 juin 2008 à 17:16
Salut,
pour l' initialisation, tu peux le faire soit dans
Private Sub Form_Load()
<...>
End Sub


ou bien en mde creation dans la page de propriété de
chaque objet de ton formulaire.


POur les boutons options, il faut que ceux ci soient placées directement sur le controle frame .
Places ton frame d' abord ensuite placeS un à un les boutons sur le frame.
Ainsi lorsque le frame "disparait" ou "réapparait", les boutons disparaissent ou réapparaissent avec.






 





<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0
Rejoignez-nous