|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre du Club
![]() Yves Inscription : novembre 2006 Messages : 114 ![]() |
Bonjour,
Je suis en train d'implémenter un possibilité de rajoutter une nouvelle langue pour remplacer tous les intitulés de ma base de données. J'ai un formulaire principal qui contient une grande liste avec les différentes commandes et une combobox avec le choix des langues (il y en a 2 au départ). Aucun problème jusque là quand je switche d'une langue à l'autre ma zone de liste s'actualise. J'ai par ailleurs un btn pour que l'utilisateur puisse ajouter une langue. Après click je lui demande quelle langue il veut ajouter et je met a jour la combobox (rajouter une ligne) et la liste principale (rajouter une colonne et la mettre à 0cm). Par ailleurs, je rajoutte aussi une colone dans les 2 tables qui contiennent tous les caption, labels et autres textes de tous les controles de la DB. Quand je mets un Exit Sub à la position indiquée dans le code par '*** C'est OK, ma combo est actualisée, la liste principale aussi gagne une colonne, la table tblfrmctrl gagne un champs. je me suis appercu que je ne pouvais pas modifier la table qui sert de source à la liste car celle-ci était ouverte dans le formulaire principal. Donc je me dis, il suffit de fermer le formulaire (ou de le mettre en mode design) puis de le réouvrir. Et ce sera OK. et bien non... Ce qui ce passe c'est que les tables sont alors bien actualisées (elles gagnent chacune une colonne) MAIS la liste principale et la combobox ne sont plus du tout actualisées... C'est comme si Me.frmlng.RowSource et Me.lstMenuPrincipal.ColumnWidths ne s'effectuaient pas... alors que ca marchait précédemment. Vous avez des idées? Merci!! voici le code: Code :
|
||
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Claude LELOUPChercheur de loisirs (ayant trouvé !) Inscription : novembre 2006 Messages : 5 242 ![]() |
Bonsoir,
Que se passe-t-il si tu procèdes dans cet ordre : fermer le formulaire MenuPrincipal Modifier "tblMenuPrincipal" Modifier "tblFrmctrl" et ensuite t’occuper de la RowSource ? |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Yves Inscription : novembre 2006 Messages : 114 ![]() |
Bonjour Claude,
Je viens d'essayer ta solution. Dans l'ordre que tu suggère , les 2 tables sont mises à jour. Puis je réouvre mon formulaire principal avec un DoCmd.OpenForm... Et là un joli message d'erreur 2467 apparait quand on arrive sur la ligne qui s'occupe de remettre à jour les contrôles. Il semblerait que le formulaire soit fermé ou n'existe pas. Je pense que je ne peux pas faire de modification de contrôle sur une ouverture de formulaire. Dans l'idéal faudrait que je passe ça sur l'évènement OnLoad Mais comment faire ça dans la même procédure? Je continue ma recherche en attendant tes suggestions |
|
|
00
|
|
|
#4 | |
![]() ![]() ![]() Claude LELOUPChercheur de loisirs (ayant trouvé !) Inscription : novembre 2006 Messages : 5 242 ![]() |
Bonjour,
Citation:
Poste ton code modifié. |
|
|
|
00
|
|
|
#5 | ||
|
Membre du Club
![]() Yves Inscription : novembre 2006 Messages : 114 ![]() |
Re bonjour Claude,
Bon j'ai résolu le problème en modfiant l'ordre comme tu le suggérai, il y avait encore ce fichu message, Ce qui m'a fait pensé que peut-être la commande Me.etc.etc ne reconnaissais pas le formulaire qui venait de se réouvrir. En changeant les Me par Forms!MenuPrincipal! ... ca fonctionne. Le requery du formulaire avant les modif des rowsources n'est pas indispensable. En tout cas un grand merci pour ta solution qui m'a été utile. A une prochaine! Code :
|
||
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Yves Inscription : novembre 2006 Messages : 114 ![]() |
Bon c'est pas encore tout à fait ça.
Tout fonctionne mais quand je ferme le formulaire MenuPrincipal puis le réouvre, la combobox et la liste sont revenu à leurs paramètres initiaux.... On dirait que cela n'a pas été sauvé. Un DoCmd.Save ne résoud rien... Une idée? |
|
|
00
|
|
|
#7 |
![]() ![]() ![]() Claude LELOUPChercheur de loisirs (ayant trouvé !) Inscription : novembre 2006 Messages : 5 242 ![]() |
"Me" se réfère au formulaire dans lequel ton code se trouve, en l'occurrence :
celui qui contient le bouton cliqué. À la prochaine. |
|
|
00
|
|
|
#8 |
![]() ![]() ![]() Claude LELOUPChercheur de loisirs (ayant trouvé !) Inscription : novembre 2006 Messages : 5 242 ![]() |
Je ne vois pas le sauvetage dans le code affiché.
|
|
|
00
|
|
|
#9 | ||
|
Membre du Club
![]() Yves Inscription : novembre 2006 Messages : 114 ![]() |
Cette fois-ci c'est la bonne. En effet, il n'y a pas de save dans le code précédent car je l'avais enlevé pour d'autres essais.
En final, au lieu d'ouvrir le formulaire en mode nomral, je l'ouvre en mode design et caché. Puis j'édite les row sources et les contrôles qu'il faut. Je l'affiche. Code :
Code :
DoCmd.Close acForm, "MenuPrincipal", acSaveYes Et tout est là quand je le réouvre ![]() Encore merci Claude! |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com