j'ai supprimé les groupes d'options et créé des cases à cocher avec les mêmes noms de contrôles pour ne pas tout casser.
Et ça fonctionne 🙏🏻 tee_grandbois
j'ai supprimé les groupes d'options et créé des cases à cocher avec les mêmes noms de contrôles pour ne pas tout casser.
Et ça fonctionne 🙏🏻 tee_grandbois
mais non ! je n'ai pas dit qu'il fallait supprimer les groupes d'options mais uniquement les cases d'options qui n'étaient pas associés à un groupe (comme pour celles du SF_H24) ... car dans un groupe d'options c'est le groupe (l'encadrement des cases) qui reçoit la valeur, pas la case elle-même, c'est pour cela qu'on ne peut pas modifier la valeur d'une case par VBA quand elle est groupée alors que c'est possible quand elle ne l'est pas
Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
ah non ? donc devant l'écran c'est la connectique ?
je me suis mal exprimé, c'est bien sur le SF_H24 que j'ai fais la modif
je confirmeje me suis mal exprimé
comme quoi le développement est un métier précis
Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
ah non ? donc devant l'écran c'est la connectique ?
oui c'est vrai
je viens de trouver une boulette ou pas
J'ai lancé le code ci-dessous et depuis que j'ai modifier en case à cocher le SF_H24 ça ne passe plus la requête n'est pas exécutée et le code pour effacer les contrôles non plus!.
J'ai eu un code que je n'ai pas retenu (mais vu erreur sans gosub) et en le relançant pour faire un screen du message tout à fonctionné.
C'est un peu comme si il y avait une instabilité.
Je travaille en connexion VPN + OneDrive et répertoire réseau peut etre un souci de latence ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 Private Sub but_recherche_H24_Click() 'lance la recherche d accès H24 pour le ML Dim db As dao.Database Dim Rst As dao.Recordset Dim sSQL As String ' Lance la requete en prenant en critère le matricule du ML sSQL = "SELECT T_employes.Global_HR_ID, T_ADAH_H24.Profil" & _ " FROM T_employes INNER JOIN T_ADAH_H24 ON T_employes.igg = T_ADAH_H24.IGG" & _ " WHERE T_employes.Global_HR_ID = '" & Forms![F_fond].Form![SF_ML]![txt_matricule] & "';" Set db = CurrentDb Set Rst = db.OpenRecordset(sSQL, dbOpenSnapshot) If Rst.EOF Then ' si la requête renvoie aucun résultat Forms![F_fond].Form![SF_H24]!grop_acces_H24.Value = "2" MsgBox "Il n'y a pas de H24 pour ce matricule" Else Do Until Rst.EOF If Rst.Fields(1) = "GBIS ACCES H24 TOURS SG" Then Forms![F_fond].Form![SF_H24]!coche_H24_TAC.Value = True If Rst.Fields(1) = "GBIS ACCES H24 PERSPECTIVE" Then Forms![F_fond].Form![SF_H24]!coche_H24_PPD.Value = True If Rst.Fields(1) = "GBIS ACCES H24 BASALTE" Then Forms![F_fond].Form![SF_H24]!coche_H24_basalte.Value = True If Rst.Fields(1) = "GBIS ACCES H24 DUNES" Then Forms![F_fond].Form![SF_H24]!coche_H24_dunes.Value = True If Rst.Fields(1) = "GBIS ACCES H24 HAUSSMMAN" Then Forms![F_fond].Form![SF_H24]!coche_H24_HAUS.Value = True If Rst.Fields(1) = "GBIS ACCES H24 CONEX" Then Forms![F_fond].Form![SF_H24]!coche_H24_conex.Value = True If Rst.Fields(1) = "GBIS ACCES H24 PACIFIC" Then Forms![F_fond].Form![SF_H24]!coche_H24_PAC.Value = True If Rst.Fields(1) = "GBIS ACCES H24 PERIVAL" Then Forms![F_fond].Form![SF_H24]!coche_H24_PER.Value = True Rst.MoveNext ' passe à l'enregistrement suivant Loop Forms![F_fond].Form![SF_H24]!grop_acces_H24.Value = "1" End If End Sub
non ça coince
message sur le "vidage" des contrôles "erreur 3 erreur sans Gosub"
message sur la requête
Mais bon la je vais couper pour se soir, j'y verrai plus claire demain
Belle soirée🌞
regarde si tu n'as pas touché à ce groupe :
Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
ah non ? donc devant l'écran c'est la connectique ?
Bonjour à tous,
non malheureusement, il est bien la et non modifié.
Je viens de regarder tous les noms des contrôles ils sont bons.
En plus je ne vais pas pouvoir bosser dessus et suis absent cet après midi.
bonjour,
peux-tu m'envoyer le module et le sous-formulaire ?
Sinon, as-tu pensé à compiler le code ?
Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
ah non ? donc devant l'écran c'est la connectique ?
Bonjour à Tous,
merci tee_grandbois, désolé je n'ai pas vu ton retour avant de déconnecter.
Voici Database1.zip
Pour t'expliquer, j'avais dans un premier temps renommé les noms de toutes mes cases options coche_H24_xxxx-1.
Puis créé des cases à cocher sans étiquettes à coté des cases options pour ensuite les nommer coche_H24_xxxx sans le -1 afin qu'elle soient conformes au code.
J'avais fait le test qui fut concluant (d'où ma réponse positive) et ensuite j'ai voulu ne supprimer que les cases options et conserver leurs étiquettes ce qui ne fut pas possible.
J'ai donc créé des étiquettes indépendantes que j'ai mises à coté des cases à cocher et j'ai supprimé les cases options avec leurs étiquettes.
Et c'est la que ça a déconné
Les contrôles portent les mêmes noms qu'avant les étiquettes aussi mais ça ne fonctionne plus.
La bourde vient surement de la méthode que j'ai utilisé mais je ne comprends pas pourquoi.
Pour info
Un groupe d'options qu'il soit composé des CàC ou btnRadio renverra toujours une valeur numérique.
Un btnRadio ou une CàC isolée renverra toujours/Vrai/Faux
Un truc que je ne comprends pas ou plus. Selon la capture d'écran Post#27 je comprends que pour un matricule, ce dernier peut avoir dans son profil plusieurs "options" (basalte, dunes, haussmann, perspective et tac). Est-ce bien ça ? Si oui, le champ "profil" est-il un champ multi-valué? Où alors je ne comprends rien !
"Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
UR - ESIROI - GPME/CG/DCG8
QTH :21°19'18"S - 055°25'32"E
Inutile de me contacter par MP
Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur
bonsoir hyperion13,
Dans ce cas les CàC sont toutes indépendantes donc j'attends vrai ou fauxUn groupe d'options qu'il soit composé des CàC ou btnRadio renverra toujours une valeur numérique.
Un btnRadio ou une CàC isolée renverra toujours/Vrai/Faux
Oui un matricule peut avoir plusieurs profils en habilitations d'où la boucle du code ci-dessous afin de balayer le ou les profils de la personnes et ce code fonctionnait avant que je supprime les cases option.Un truc que je ne comprends pas ou plus. Selon la capture d'écran Post#27 je comprends que pour un matricule, ce dernier peut avoir dans son profil plusieurs "options" (basalte, dunes, haussmann, perspective et tac). Est-ce bien ça ? Si oui, le champ "profil" est-il un champ multi-valué? Où alors je ne comprends rien !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 Private Sub but_recherche_H24_Click() 'lance la recherche d accès H24 pour le ML Dim db As dao.Database Dim Rst As dao.Recordset Dim sSQL As String ' Lance la requete en prenant en critère le matricule du ML sSQL = "SELECT T_employes.Global_HR_ID, T_ADAH_H24.Profil" & _ " FROM T_employes INNER JOIN T_ADAH_H24 ON T_employes.igg = T_ADAH_H24.IGG" & _ " WHERE T_employes.Global_HR_ID = '" & Forms![F_fond].Form![SF_ML]![txt_matricule] & "';" Set db = CurrentDb Set Rst = db.OpenRecordset(sSQL, dbOpenSnapshot) If Rst.EOF Then ' si la requête renvoie aucun résultat Forms![F_fond].Form![SF_H24]!grop_acces_H24.Value = "2" MsgBox "Il n'y a pas de H24 pour ce matricule" Else Do Until Rst.EOF If Rst.Fields(1) = "GBIS ACCES H24 TOURS SG" Then Forms![F_fond].Form![SF_H24]!coche_H24_TAC.Value = True If Rst.Fields(1) = "GBIS ACCES H24 PERSPECTIVE" Then Forms![F_fond].Form![SF_H24]!coche_H24_PPD.Value = True If Rst.Fields(1) = "GBIS ACCES H24 BASALTE" Then Forms![F_fond].Form![SF_H24]!coche_H24_basalte.Value = True If Rst.Fields(1) = "GBIS ACCES H24 DUNES" Then Forms![F_fond].Form![SF_H24]!coche_H24_dunes.Value = True If Rst.Fields(1) = "GBIS ACCES H24 HAUSSMMAN" Then Forms![F_fond].Form![SF_H24]!coche_H24_HAUS.Value = True If Rst.Fields(1) = "GBIS ACCES H24 CONEX" Then Forms![F_fond].Form![SF_H24]!coche_H24_conex.Value = True If Rst.Fields(1) = "GBIS ACCES H24 PACIFIC" Then Forms![F_fond].Form![SF_H24]!coche_H24_PAC.Value = True If Rst.Fields(1) = "GBIS ACCES H24 PERIVAL" Then Forms![F_fond].Form![SF_H24]!coche_H24_PER.Value = True Rst.MoveNext ' passe à l'enregistrement suivant Loop Forms![F_fond].Form![SF_H24]!grop_acces_H24.Value = "1" End If End Sub
bonsoir,
je viens de tester le code de vidage, il fonctionne bien en passant l'objet Form_SF_H24 en paramètre, le problème vient donc d'ailleurs.
Je n''ai pas eu la réponse pour la compilation du code VBA.
@ hyperion13: il y a 8 champs de type case à cocherEnvoyé par hyperion13
Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
ah non ? donc devant l'écran c'est la connectique ?
Bonsoir tee_grandbois,
Désolé de ne pas avoir répondu à cette question , c'est une chose que je fais systématiquement dès que je fais des créations ou modifications de code ( grâce au Forum).Je n''ai pas eu la réponse pour la compilation du code VBA.
Et je n'ai pas d'erreur
si le problème vient de la requête en question, il faudrait me donner la base complète, même avec les tables videsOui un matricule peut avoir plusieurs profils en habilitations d'où la boucle du code ci-dessous afin de balayer le ou les profils de la personnes et ce code fonctionnait avant que je supprime les cases option.
Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
ah non ? donc devant l'écran c'est la connectique ?
j'en suis à me demander si je ne devrait pas importer l'ancien formulaire SF_H24 que j'ai mis dans la database zipée
Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
ah non ? donc devant l'écran c'est la connectique ?
je vais essayer demain de faire une copie et d'anonymiser le plus possible comme je l'avais fais la première fois.
ok merci tee_grandbois je vais tester demain, ce soir je ne peut plus rester connecté.
Belle soirée 🌞
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager