SQL vs VB avec ACCESS

adrisep Messages postés 6 Date d'inscription lundi 24 mai 2004 Statut Membre Dernière intervention 17 juin 2004 - 15 juin 2004 à 13:42
cs_hasen Messages postés 246 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 29 décembre 2008 - 15 juin 2004 à 17:52
Bonjour,
je suis en train de faire du traitement de données avec ACCESS et j'ai un petit soucis.
l'utilisateur doit pouvoir grace a un formulaire choisir des critères genre date, lieu,... et pour cela g créé pas mal de requetes.

le truc c qu après je dois faire des calculs une fois que la dernière requete a fini de s'executer et les requetes sont imbriquées les unes dans les autres et la première a besoin des critères remplis dans le formulaire.

Ma question est donc :
comment dois je faire pour lancer mes requetes les unes après les autres en VB lorsque je clique sur un bouton de mon formulaire sachant qu'elles utilisent la requete qui vient de se finir comme base?
Merci d'avance

Adrisep

3 réponses

cs_hasen Messages postés 246 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 29 décembre 2008 2
15 juin 2004 à 16:26
je peux peut etre t'aider, mais il va falloir que tu sois un peu plus clair. Tu pourrais donner un exemple assez simple pour comprendre plus facilement?
0
adrisep Messages postés 6 Date d'inscription lundi 24 mai 2004 Statut Membre Dernière intervention 17 juin 2004
15 juin 2004 à 17:07
bonjour,

g un formulaire qui me permet de selectionner les enregistrements selon plusieurs criteres : date, lieu, modele...
le truc c que je veux faire des calculs une fois que mes requetes ont fini de faire la selection.

Dim Selection As String
Dim Sup_date As String
Dim Temps_ap_sup_date As String
Dim enr As Recordset

Selection = "SELECT BDD.* FROM BDD WHERE (BDD.truc) Like [Formulaires]![General]![Choix truc]) AND ..."

Sup_date = "SELECT Selection.truc, Selection.machin... FROM [Selection] WHERE ([Selection].Date)<[Formulaires]![General]![Choix_sup_date1] ..."

Temps_ap_sup_date = "SELECT Sup_date.Operateur, Avg(Sup_date.Parcours) AS [Parcours] FROM Sup_date GROUP BY Sup_date.truc, Sup_date.Machin, ..."

'acquisition des tables pour en faire des tableaux Set enr CurrentDb.OpenRecordset("Temps_ap_sup_date")> ca plante ici

j'ai l'impression que le recordset tente de lancer la requete alors qu elle vient d etre effectuee plus haut. faut il que je fasse mes requetes apres le recordset?

Merci
0
cs_hasen Messages postés 246 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 29 décembre 2008 2
15 juin 2004 à 17:52
Tu peux passer par plusieurs recordset, chacune de tes requete tu les execute dans un recordset et tu mais chaque résultat qui t'interesse dans une variable, puis a la toute fin tu met tes variables dans tes conditions.
Cela donnerait qq chose comme ca :

Dim Selection As String
Dim Sup_date As String
Dim Temps_ap_sup_date As String
Dim enr As Recordset, rs_temp as recordset
dim db as database

set db = currentdb()

set rs_temp = db.openrecordset("SELECT BDD.* FROM BDD WHERE (BDD.truc) Like [Formulaires]![General]![Choix truc]) AND ...;", dbopendynaset)

var1 = rs_temp("Champs_Qui_Tinteresse")

set rs_temp = db.openrecordset("SELECT Selection.truc, Selection.machin... FROM [Selection] WHERE ([Selection].Date)<[Formulaires]![General]![Choix_sup_date1] ...";", dbopendynaset)

var2 = rs_temp("Autre_Champs_Qui_Tinteresse")

etc...

puis tu peux lancer ta derniere requete!
0
Rejoignez-nous