Attendre le retour d'une requête avec VB6

cs_Obi_1 Messages postés 21 Date d'inscription samedi 28 mai 2005 Statut Membre Dernière intervention 13 juin 2006 - 13 juin 2006 à 11:18
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 13 juin 2006 à 20:11
Bonjour à tous et merci pour ce site

Mon problème n'est pas très facile à expliquer, je vais essayer d'être le plus clair possible...

J'ai un petit programme qui fait des calculs avec des valeurs qui sont dans une base de données Access. Le programme utilise des requêtes vers la base de données. Les requêtes sont écrites en SQL dans mon code VB, et sont pilotées par l'utilisateur à l'aide de dropdowns (la valeur des dropdowns est reprise dans les requêtes internes au programme).
Lorsque l'utilisateur manipule les dropdowns, tout marche impeccable.

Je voudrais maintenant que l'utilisateur puisse charger des valeurs de dropdowns qu'il a sauvées. Quand ma routine de chagement peuple les dropdowns, VB ne va pas jusqu'au bout de la routine (pas de message d'erreur). Sachant que les valeurs de certains dropdowns dependent d'autres dropdowns, je pense que le problème est le suivant:
- certaines valeurs ne sont pas trouvées dans les dropdowns
- cela est peut-etre dû au fait que la requete precedente n'eest pas totalement finie.

D'où ma question: Y-a-t'il un moyen d'attendre qu'une requete soit finie avant de passer à la ligne de code suivante? Quand je lance la routine de chargement, le gestionnaire des taches montre que mon Thread Count est incrémenté de 3 ou 4 valeurs. Est-ce que ca a un rapport?

J'espère qu'un dieu de la prog pourra m'aider!

Merci,
Seb

1 réponse

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
13 juin 2006 à 20:11
Salut
Précise nous la manière avec laquelle tu soumets tes requètes (ADODB, ADODC ...)
+ quelques lignes de code.
Méfie toi aussi : Quand tu inscris des données dans tes ComboBox (je suppose que c'est ce que tu appelles les DropDown), l'évènement Change se déclenche : Fais attention de ne pas générer des requètes alors que c'est ton programme qui les écrit. Tu risquerais de boucler ou d'avoir des requètes incomplètes.
Pour éviter ça, utilise une variable du genre Public bEcritureEnCours As Boolean (dans un module) afin de sauter certaines parties de code lorsque tu fais ces écritures.
Pour les requètes faites avec un RecordSet, de mémoire, il ne redonne pas la main tant que la requète n'est pas terminée, donc il doit y avoir qqchose d'autre ...
C'est la seule idée que j'ai en attendant plus de détail.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accro
0
Rejoignez-nous