Bonjour
Je travaille sur Base. Pour l’exemple, j’ai une table avec un champ ID (int), un champ CASE (string), et un champ PREVIOUS_CASE (int). Ce dernier champ peut être vide ou faire référence à un cas déjà existant, indiquant alors l’ID du cas existant auquel il est lié. Par ex :
ID; CASE; PREVIOUS_CASE
0; cas_1
2; cas_2; 0
3; cas_3
Dans une boîte de dialogue, je veux mettre une boîte de liste, qui liste l’ensemble des entrées de ma table, en affichant uniquement le champ CASE, par ex “cas_1”, “cas_2”, cas_3", etc.
Je ne sais pas comment alimenter cette boîte de liste. Il y a bien une ligne “Entrées de liste” lors de la configuration de la boîte de liste, mais j’ai l’impression qu’il faille rentrer les entrées à la main.
N’existe-t-il pas un moyen, par ex, de rentrer une commande SQL ?
Si non, quelle pourrait être une alternative …?
En plus, dans ma macro d’enregistrement de la boîte de dialogue, j’aimerais pouvoir conserver non pas la valeur renseignée CASE, mais la valeur ID du même enregistrement dans la table.
Par ex, je rentre un nouveau case (“cas_4”). Ce cas est lié au “cas_1”. Dans la liste de la boîte de dialogue, je veux que s’affiche “cas_1”, “cas_2”, cas_3", mais à l’enregistrement de mon cas_4, je veux que la valeur attribuée à PREVIOUS_CASE indique “0” (correspondant à l’ID du cas_1).
Cela est-il envisageable ?
D’avance merci pour votre aide !
Benjamin
[EDIT]
Précisions de la demande en réponse aux questions de @PYS ci-dessous :
- une table “relation” pourrait être effectivement une solution, je n’y avais pas pensé, merci !
- je me trompe peut-être, mais j’ai trouvé plus “ergonomique” pour l’utilisateur final de fonctionner comme ça. En fait, j’ai un formulaire “principal”, qui fait appel à plusieurs autres tables (via des boîtes de liste). Depuis ce formulaire principal, on doit pouvoir intégrer de nouvelles données dans ces tables “annexes” (ex un nouveau cas, une nouvelle localité, une nouvelle image, etc.), pour être disponibles dans les listes du formulaire principal. Pour ne pas naviguer de formulaire en formulaire, ou ne pas avoir une page très longue avec beaucoup de sous-formulaires, la solution que j’ai envisagée est les boîtes de dialogue, accessibles via des boutons (actuellement, j’en ai 7 + un bouton “Refresh” du formulaire principal), évitant de “perdre” l’utilisateur dans de trop nombreux formulaires, mais plutôt en le “fixant” sur le formulaire principal.
- par rapport à me demande ci-dessus, je veux effectivement afficher une valeur dans la liste, et enregistrer une autre (mais complètement associée) car la valeur à enregistrer est un identifiant, donc indigeste pour l’utilisateur final. La valeur affichée, au contraire, correspond à la référence du cas (un peu comme un label), format que l’utilisateur final maîtrise complètement.