0 votes

Code ou les propriétés de contrôle, quel est le mieux dans MS-ACCESS ?

J'ai parfois du mal à choisir lequel utiliser, par exemple :

Je veux remplir les données dans une liste déroulante, vous pouvez le faire en sélectionnant des données et en créant une requête, ou en créant un code VBA et en le mettant sous l'événement de contrôle.

Alors, lequel est le meilleur, ou disons, si nous avons le choix, lequel est le meilleur?

Merci

2voto

Smandoli Points 3792

La question peut être posée ainsi: Quel est le meilleur moyen de définir la source de contrôle d'une liste déroulante?

La meilleure question à poser ensuite: Est-ce que je veux que la source de contrôle soit déclarée avec une méthode statique ou une méthode dynamique?

Le statique serait ce que votre expert VBA génère pour une nouvelle liste déroulante. Le statique est simple, et simple est toujours préférable sauf si vos besoins disent le contraire. Les besoins habituels sont (comme l'a dit Birger) résoudre un problème avec un formulaire qui se charge lentement OU l'automatisation de formulaires sophistiqués.

Si vous utilisez une méthode dynamique alors vous utilisez VBA. Si le besoin que vous souhaitez répondre est la rapidité, vous pouvez définir votre source de contrôle lorsque le formulaire se charge. Si le besoin est l'automatisation, vous pouvez ou non prendre des mesures lorsque le formulaire se charge et vous utiliserez des déclencheurs comme Après mise à jour ou sélections de boutons de commande.

1voto

PowerUser Points 5668

Je m'efforce de ne pas rendre un code plus compliqué qu'il ne doit l'être. Si je lie simplement l'intégralité du contenu d'une table d'une colonne à une liste, j'utiliserai les propriétés de contrôle. Si c'est plus compliqué que cela, une requête serait la solution.

(Vous devez également vous rappeler que plus vous créez de code, plus vous avez de code à entretenir, donc plus n'est pas nécessairement mieux.)

1voto

onedaywhen Points 24594

Gardez tout le code SQL au même endroit et aussi proche des données que possible. Pour moi, cela signifie des VUES et des PROCÉDURES dans le « back end » appelé en utilisant la technologie d'accès aux données dans le « front end ». Imaginez si l'un des noms des colonnes de vos tables changeait et que vous deviez rechercher tous les contrôles sur toutes les propriétés sur tous les formulaires dans chaque application frontale qui utilise le « back end », puis tout le code VBA dans chaque objet de chaque application frontale, etc.

0voto

Epaga Points 439

J'ai toujours utilisé des requêtes et je pense rarement à une raison de ne pas le faire. Sauf peut-être si vous voulez ajouter des éléments personnalisés (comme 'vide') à la liste déroulante ou lorsque la vitesse est un problème. Après tout, il n'y a absolument pas besoin d'avoir une liste déroulante avec plus de 10 000 éléments. Des événements personnalisés pour remplir la liste déroulante sont meilleurs dans ce cas.

0voto

Tony Toews Points 6387

Interrogez si possible, car c'est beaucoup moins de temps de développement que d'utiliser une fonction de rappel. Mais parfois, vous devez le faire, comme par exemple si vous affichez une liste de lecteurs, fichiers ou d'autres données déterminées à l'aide d'appels API ou similaires.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X