j'execute plusieurs fonctions effectuant des calculs dans=20
une requ=EAte. les r=E9sultats de cette requ=EAte sont ensuite=20
utilis=E9s pour =EAtre transf=E9r=E9s via une table dans un=20
fichier texte dans un format pr=E9d=E9fini. Il s'av=E8re que=20
c'est un peu lourd surtout au niveau des calculs.
=20
la m=E9thode qui semblerait la plus simple, =E0 savoir faire=20
une requ=EAte mise =E0 jour qui viendrait mettre les=20
enregistrements de la requ=EAte de calcul dans la table en=20
question ne fonctionne pas =E0 cause du volume de calcul.
il me semble que le plus judicieux serait d'executer du=20
code qui me permettra d'=E9viter la requ=EAte en allant=20
inscrire directement le r=E9sultat des calculs ou des=20
donn=E9es dans la table.
sauf qu'il doit me manquer des lignes de code...
suis-je sur la bonne piste et quelles sont dans les=20
grandes lignes la proc=E9dure ou les m=E9thodes =E0 employer?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Ilan
Bonsoir, D'apres ce que je comprends tu veux transferer en VBA le contenu d'une requete vers une table . Tu as besoin de 2 DAO.RecordSet , 1 pour la requete + 1 pour la table Exemple : L'exemple rajoute tous les enregistements de la requete dans la table.
Function SetCalCul () Dim QCalcul As DAO.Recordset Dim TResutat As DAO.Recordset
Set Qcalcul=CurrentDb.OpenRecorset("nomdelarequete") Set TResultat=CurrentDb.OpenRecordset("Nomdelatable")
While NOT QCalcul.EOF 'Faire tant que la fin de la requete n'est pas atteinte TResultat.AddNew 'Ajoute un nouvel enregistrement dans la table TResultat!Nomduchamp1=Qcalcul!NomduChamp1 .. TResultat!NomduchampN=Qcalcul!NomduChampN TResultat.Update 'Met a jour la table QCalcul.MoveNext 'Pointer sur l'enregistrement suivant de la requete Wend Qcalcul.Close TResultat.Close End Function
Bien sur tu remplaceras NomduChamp1 et NomduChampN pour les vrais noms de champ.
J'ai un second problème à vous soummettre:
j'execute plusieurs fonctions effectuant des calculs dans une requête. les résultats de cette requête sont ensuite utilisés pour être transférés via une table dans un fichier texte dans un format prédéfini. Il s'avère que c'est un peu lourd surtout au niveau des calculs.
la méthode qui semblerait la plus simple, à savoir faire une requête mise à jour qui viendrait mettre les enregistrements de la requête de calcul dans la table en question ne fonctionne pas à cause du volume de calcul.
il me semble que le plus judicieux serait d'executer du code qui me permettra d'éviter la requête en allant inscrire directement le résultat des calculs ou des données dans la table.
sauf qu'il doit me manquer des lignes de code... suis-je sur la bonne piste et quelles sont dans les grandes lignes la procédure ou les méthodes à employer?
Merci d'avance.
Bonsoir,
D'apres ce que je comprends tu veux transferer en VBA le contenu d'une requete
vers une table .
Tu as besoin de 2 DAO.RecordSet , 1 pour la requete + 1 pour la table
Exemple : L'exemple rajoute tous les enregistements de la requete dans la
table.
Function SetCalCul ()
Dim QCalcul As DAO.Recordset
Dim TResutat As DAO.Recordset
Set Qcalcul=CurrentDb.OpenRecorset("nomdelarequete")
Set TResultat=CurrentDb.OpenRecordset("Nomdelatable")
While NOT QCalcul.EOF 'Faire tant que la fin de la requete n'est pas atteinte
TResultat.AddNew 'Ajoute un nouvel enregistrement dans la table
TResultat!Nomduchamp1=Qcalcul!NomduChamp1
..
TResultat!NomduchampN=Qcalcul!NomduChampN
TResultat.Update 'Met a jour la table
QCalcul.MoveNext 'Pointer sur l'enregistrement suivant de la requete
Wend
Qcalcul.Close
TResultat.Close
End Function
Bien sur tu remplaceras NomduChamp1 et NomduChampN pour les vrais
noms de champ.
J'ai un second problème à vous soummettre:
j'execute plusieurs fonctions effectuant des calculs dans
une requête. les résultats de cette requête sont ensuite
utilisés pour être transférés via une table dans un
fichier texte dans un format prédéfini. Il s'avère que
c'est un peu lourd surtout au niveau des calculs.
la méthode qui semblerait la plus simple, à savoir faire
une requête mise à jour qui viendrait mettre les
enregistrements de la requête de calcul dans la table en
question ne fonctionne pas à cause du volume de calcul.
il me semble que le plus judicieux serait d'executer du
code qui me permettra d'éviter la requête en allant
inscrire directement le résultat des calculs ou des
données dans la table.
sauf qu'il doit me manquer des lignes de code...
suis-je sur la bonne piste et quelles sont dans les
grandes lignes la procédure ou les méthodes à employer?
Bonsoir, D'apres ce que je comprends tu veux transferer en VBA le contenu d'une requete vers une table . Tu as besoin de 2 DAO.RecordSet , 1 pour la requete + 1 pour la table Exemple : L'exemple rajoute tous les enregistements de la requete dans la table.
Function SetCalCul () Dim QCalcul As DAO.Recordset Dim TResutat As DAO.Recordset
Set Qcalcul=CurrentDb.OpenRecorset("nomdelarequete") Set TResultat=CurrentDb.OpenRecordset("Nomdelatable")
While NOT QCalcul.EOF 'Faire tant que la fin de la requete n'est pas atteinte TResultat.AddNew 'Ajoute un nouvel enregistrement dans la table TResultat!Nomduchamp1=Qcalcul!NomduChamp1 .. TResultat!NomduchampN=Qcalcul!NomduChampN TResultat.Update 'Met a jour la table QCalcul.MoveNext 'Pointer sur l'enregistrement suivant de la requete Wend Qcalcul.Close TResultat.Close End Function
Bien sur tu remplaceras NomduChamp1 et NomduChampN pour les vrais noms de champ.
J'ai un second problème à vous soummettre:
j'execute plusieurs fonctions effectuant des calculs dans une requête. les résultats de cette requête sont ensuite utilisés pour être transférés via une table dans un fichier texte dans un format prédéfini. Il s'avère que c'est un peu lourd surtout au niveau des calculs.
la méthode qui semblerait la plus simple, à savoir faire une requête mise à jour qui viendrait mettre les enregistrements de la requête de calcul dans la table en question ne fonctionne pas à cause du volume de calcul.
il me semble que le plus judicieux serait d'executer du code qui me permettra d'éviter la requête en allant inscrire directement le résultat des calculs ou des données dans la table.
sauf qu'il doit me manquer des lignes de code... suis-je sur la bonne piste et quelles sont dans les grandes lignes la procédure ou les méthodes à employer?
Merci d'avance.
ju04
merci pour la procédure cela fonctionne parfaitement et m'aide beaucoup. Ju
merci pour la procédure cela fonctionne parfaitement et
m'aide beaucoup.
Ju