VBA Access - Zone de liste non liee en vue feuille de donnees

Résolu
DannyDude Messages postés 6 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 5 mai 2008 - 8 avril 2008 à 11:42
DannyDude Messages postés 6 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 5 mai 2008 - 5 mai 2008 à 14:22
Bonjour a tous,

J'ai une zone de liste non liee (unbound) que je remplis via du code:
- une procedure 1 remplit la liste en fonction de la valeur affichee dans un autre controle.
- une procedure 2 va ensuite faire une boucle et selectionner/mettre en surbrillance (propriete "selected") la valeur de la liste qui correspond a l'enregistrement en cours dans la table appropriee (synchronisation), sinon il selectionne la premiere valeur de la liste si c'est un nouvel enregistrement.

En vue formulaire mon code fonctionne parfaitement. Par contre, quand je passe en vue feuille de donnees ca ne marche plus. La procedure 1 fonctionne toujours et remplie correctement la liste pour l'enregistrement en cours mais la valeur selectionnee via la procedure 2 n'apparait pas?

De plus, je comprends bien qu'en mode formulaire on ne voit les enregistrements qu'un par un et qu'en mode feuille de donnees ils sont tous visibles en meme temps mais comment faire pour que les valeurs selectionnees via la procedure 2 apparaissent toutes pour les enregistrements deja existants? Est-ce que le changement de vue implique des modifications de code?

Merci d'avance pour votre aide!

3 réponses

DannyDude Messages postés 6 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 5 mai 2008
5 mai 2008 à 14:22
Bon, eh bien je me reponds a moi meme alors!
Apres maintes recherches, il se trouve qu'en Datasheet/Continuous Form view, seuls les controles qui sont lies au record source de la form via leur propriete control source peuvent prendre differentes valeurs.
Au lieu d'utiliser une listbox non liee qui etait exclusivement alimentee et mise a jour par du code, je l'ai remplacee par un combobox qui est lie a un champ de ma table via la propriete control source.
Ainsi, le controle etant directement lie a ma table, les valeurs enregistrees pour ce champ s'affichent automatiquement, les modifications de ce champ ne necessitent aucune synchronisation avec ma table et la seule chose qui necessite encore du code est le remplissage du combo en fonction de la valeur selectionnee dans mon autre controle.
 Voila, j'espere que ca pourra en aider d'autres parce que je me suis bien pris la tete la dessus alors que la solution etait bien moins compliquee qu'elle en avait l'air!
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
8 avril 2008 à 16:59
topic déplacé de VB6 vers VBA....

<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
DannyDude Messages postés 6 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 5 mai 2008
9 avril 2008 à 10:16
Rebonjour,

Je vois que pas mal de personnes ont jete un coup d'oeil a ma question sans laisser de reponse.

Est-ce que l'un d'entre vous aurait l'amabilite de me faire savoir si l'explication du probleme que je rencontre est comprehensible ou si je dois y ajouter des precisions.

Merci a vous!
0
Rejoignez-nous