Salut,
"Jac"j'ai besoin de créer dans une requête 3 x 36 formules de calcul afin de
pouvoir répartir des valeurs selon 3 groupes d'années pour 36
spécifications.
Les formules ressemblent à :
101A: VraiFaux([N°Tech]1;[2009_2012];0)
101B: VraiFaux([N°Tech]1;[2013_2015];0)
101C: VraiFaux([N°Tech]1;[2016_2018];0)
et je recommance pour 102 et 103 et 104 et les autres...
Donc dans XL, je suis capable de générer toutes ces formules, et je
pensais les transposer, les copier et les coller dans Access, comme
quand je copie puis colle quelques champs pour les dupliquer.
Mais le collage n'a pas fonctionné... Est-ce possible ?
Lorsque l'on utilise Access, il faut oublier un peu (beaucoup ;) Excel...
et, une requête avec une charretée de iif() n'est pas ce qu'il y a de mieux
pour la maintenance de la base...
La solution est donc une fonction VBA qui te renvoie gentiment le résultat.
La fonction sera lisible et la requête tout autant ;-)
Salut,
"Jac"
j'ai besoin de créer dans une requête 3 x 36 formules de calcul afin de
pouvoir répartir des valeurs selon 3 groupes d'années pour 36
spécifications.
Les formules ressemblent à :
101A: VraiFaux([N°Tech]1;[2009_2012];0)
101B: VraiFaux([N°Tech]1;[2013_2015];0)
101C: VraiFaux([N°Tech]1;[2016_2018];0)
et je recommance pour 102 et 103 et 104 et les autres...
Donc dans XL, je suis capable de générer toutes ces formules, et je
pensais les transposer, les copier et les coller dans Access, comme
quand je copie puis colle quelques champs pour les dupliquer.
Mais le collage n'a pas fonctionné... Est-ce possible ?
Lorsque l'on utilise Access, il faut oublier un peu (beaucoup ;) Excel...
et, une requête avec une charretée de iif() n'est pas ce qu'il y a de mieux
pour la maintenance de la base...
La solution est donc une fonction VBA qui te renvoie gentiment le résultat.
La fonction sera lisible et la requête tout autant ;-)
Salut,
"Jac"j'ai besoin de créer dans une requête 3 x 36 formules de calcul afin de
pouvoir répartir des valeurs selon 3 groupes d'années pour 36
spécifications.
Les formules ressemblent à :
101A: VraiFaux([N°Tech]1;[2009_2012];0)
101B: VraiFaux([N°Tech]1;[2013_2015];0)
101C: VraiFaux([N°Tech]1;[2016_2018];0)
et je recommance pour 102 et 103 et 104 et les autres...
Donc dans XL, je suis capable de générer toutes ces formules, et je
pensais les transposer, les copier et les coller dans Access, comme
quand je copie puis colle quelques champs pour les dupliquer.
Mais le collage n'a pas fonctionné... Est-ce possible ?
Lorsque l'on utilise Access, il faut oublier un peu (beaucoup ;) Excel...
et, une requête avec une charretée de iif() n'est pas ce qu'il y a de mieux
pour la maintenance de la base...
La solution est donc une fonction VBA qui te renvoie gentiment le résultat.
La fonction sera lisible et la requête tout autant ;-)
Eh ben, je n'avais rien compris à ta question... ;-(
En fait, tu fait de l'Excel dans ta requête, et effectivement, on ne peut
pas remplacer cela par une fonction.
Ici, tu ajoutes des colonnes sur un raisonnement obscur pour moi...
déjà que je ne suis pas ce que l'on appelle un matheux :o))
Salut,
"Jac"Alors voilà :
pour chaque N°Tech, j'ai besoin de faire apparaître, selon l'année, de
2009 à 2012 ou de 2013 à 2015 ou de 2016 à 2018 le montant en Euros
correspondant.
Donc le N°Tech 101 est "éclaté" en 3 colonnes 101A + 101B + 101C.
Et il y a 36 N°Tech...
A la fin, je remplis un rapport en cumulant les résultats pour chaque
"ProTrEns" afin de donner les montants pour les trois périodes.
CJoint un exemple avec la table "REPARTITION" et ma requête actuelle
"ValeursFicheTechnique" avec les calculs repris 108 fois !!!
http://cjoint.com/?grbsyIqWhE
Si c'est possible à simplifier avec une fonction (?) ou tout autre ruse
car je sens que je vais avoir encore quelques autres répartitions du
même genre à calculer.
Eh ben, je n'avais rien compris à ta question... ;-(
En fait, tu fait de l'Excel dans ta requête, et effectivement, on ne peut
pas remplacer cela par une fonction.
Ici, tu ajoutes des colonnes sur un raisonnement obscur pour moi...
déjà que je ne suis pas ce que l'on appelle un matheux :o))
Et, une fonction traite des colonnes, mais n'en crée pas ;-)
Alors, remplacer tous les iff() par une autre fonction n'apportera rien.
Par contre, créer une fonction qui ramène dans une seule colonne
les valeurs "101A" ou "101B" ou "101C" et la somme, ce serait réaliste...
Eh ben, je n'avais rien compris à ta question... ;-(
En fait, tu fait de l'Excel dans ta requête, et effectivement, on ne peut
pas remplacer cela par une fonction.
Ici, tu ajoutes des colonnes sur un raisonnement obscur pour moi...
déjà que je ne suis pas ce que l'on appelle un matheux :o))
Salut,
"Jac"
Alors voilà :
pour chaque N°Tech, j'ai besoin de faire apparaître, selon l'année, de
2009 à 2012 ou de 2013 à 2015 ou de 2016 à 2018 le montant en Euros
correspondant.
Donc le N°Tech 101 est "éclaté" en 3 colonnes 101A + 101B + 101C.
Et il y a 36 N°Tech...
A la fin, je remplis un rapport en cumulant les résultats pour chaque
"ProTrEns" afin de donner les montants pour les trois périodes.
CJoint un exemple avec la table "REPARTITION" et ma requête actuelle
"ValeursFicheTechnique" avec les calculs repris 108 fois !!!
http://cjoint.com/?grbsyIqWhE
Si c'est possible à simplifier avec une fonction (?) ou tout autre ruse
car je sens que je vais avoir encore quelques autres répartitions du
même genre à calculer.
Eh ben, je n'avais rien compris à ta question... ;-(
En fait, tu fait de l'Excel dans ta requête, et effectivement, on ne peut
pas remplacer cela par une fonction.
Ici, tu ajoutes des colonnes sur un raisonnement obscur pour moi...
déjà que je ne suis pas ce que l'on appelle un matheux :o))
Et, une fonction traite des colonnes, mais n'en crée pas ;-)
Alors, remplacer tous les iff() par une autre fonction n'apportera rien.
Par contre, créer une fonction qui ramène dans une seule colonne
les valeurs "101A" ou "101B" ou "101C" et la somme, ce serait réaliste...
Eh ben, je n'avais rien compris à ta question... ;-(
En fait, tu fait de l'Excel dans ta requête, et effectivement, on ne peut
pas remplacer cela par une fonction.
Ici, tu ajoutes des colonnes sur un raisonnement obscur pour moi...
déjà que je ne suis pas ce que l'on appelle un matheux :o))
Salut,
"Jac"Alors voilà :
pour chaque N°Tech, j'ai besoin de faire apparaître, selon l'année, de
2009 à 2012 ou de 2013 à 2015 ou de 2016 à 2018 le montant en Euros
correspondant.
Donc le N°Tech 101 est "éclaté" en 3 colonnes 101A + 101B + 101C.
Et il y a 36 N°Tech...
A la fin, je remplis un rapport en cumulant les résultats pour chaque
"ProTrEns" afin de donner les montants pour les trois périodes.
CJoint un exemple avec la table "REPARTITION" et ma requête actuelle
"ValeursFicheTechnique" avec les calculs repris 108 fois !!!
http://cjoint.com/?grbsyIqWhE
Si c'est possible à simplifier avec une fonction (?) ou tout autre ruse
car je sens que je vais avoir encore quelques autres répartitions du
même genre à calculer.
Eh ben, je n'avais rien compris à ta question... ;-(
En fait, tu fait de l'Excel dans ta requête, et effectivement, on ne peut
pas remplacer cela par une fonction.
Ici, tu ajoutes des colonnes sur un raisonnement obscur pour moi...
déjà que je ne suis pas ce que l'on appelle un matheux :o))
Et, une fonction traite des colonnes, mais n'en crée pas ;-)
Alors, remplacer tous les iff() par une autre fonction n'apportera rien.
Par contre, créer une fonction qui ramène dans une seule colonne
les valeurs "101A" ou "101B" ou "101C" et la somme, ce serait réaliste...
> Salut,
"Jac"
[...]Mais en y réfléchissant, si je remonte tous la syntaxe de mes calculs
dans le champ texte d'une table, serait-il possible d'imaginer de
peupler une requête par vba ?
Acquisition des valeurs de la table, ouverture de la requête déjà
préparée (table + champs "de base") et affectation des variables à de
nouveaux champs.
Est-ce faisable en vba ? Dans Excel, je saurais faire quelque chose de
ressemblant, mais dans Access, il me manque encore un peu de
vocabulaire... vu que l'enregistreur de vba n'est pas encore né dans
Access...
Si tu arrive à mettre ce qu'il faut dans une table...
dans ce cas, tu peut créer de toute pièce une requête avec la méthode
CreateQueryDef en concaténant "les bouts" que tu récupères dans ta table.
Mais je n'ai rien sous la main pour illuster...
> Salut,
"Jac"
[...]
Mais en y réfléchissant, si je remonte tous la syntaxe de mes calculs
dans le champ texte d'une table, serait-il possible d'imaginer de
peupler une requête par vba ?
Acquisition des valeurs de la table, ouverture de la requête déjà
préparée (table + champs "de base") et affectation des variables à de
nouveaux champs.
Est-ce faisable en vba ? Dans Excel, je saurais faire quelque chose de
ressemblant, mais dans Access, il me manque encore un peu de
vocabulaire... vu que l'enregistreur de vba n'est pas encore né dans
Access...
Si tu arrive à mettre ce qu'il faut dans une table...
dans ce cas, tu peut créer de toute pièce une requête avec la méthode
CreateQueryDef en concaténant "les bouts" que tu récupères dans ta table.
Mais je n'ai rien sous la main pour illuster...
> Salut,
"Jac"
[...]Mais en y réfléchissant, si je remonte tous la syntaxe de mes calculs
dans le champ texte d'une table, serait-il possible d'imaginer de
peupler une requête par vba ?
Acquisition des valeurs de la table, ouverture de la requête déjà
préparée (table + champs "de base") et affectation des variables à de
nouveaux champs.
Est-ce faisable en vba ? Dans Excel, je saurais faire quelque chose de
ressemblant, mais dans Access, il me manque encore un peu de
vocabulaire... vu que l'enregistreur de vba n'est pas encore né dans
Access...
Si tu arrive à mettre ce qu'il faut dans une table...
dans ce cas, tu peut créer de toute pièce une requête avec la méthode
CreateQueryDef en concaténant "les bouts" que tu récupères dans ta table.
Mais je n'ai rien sous la main pour illuster...
Salut,
"Jac"
[...]Si tu arrive à mettre ce qu'il faut dans une table...
dans ce cas, tu peut créer de toute pièce une requête avec la méthode
CreateQueryDef en concaténant "les bouts" que tu récupères dans ta table.
Mais je n'ai rien sous la main pour illuster...
Et avec ceci :
http://cjoint.com/?gsvRzgFngW
ça irait ?
Je vais regarder - dès que j'ai un peu de temps, mais je suppose que ce sont
des données...
Lorsque je disais "sous la main", je pensais à un exemple de code ;-)
Salut,
"Jac"
[...]
Si tu arrive à mettre ce qu'il faut dans une table...
dans ce cas, tu peut créer de toute pièce une requête avec la méthode
CreateQueryDef en concaténant "les bouts" que tu récupères dans ta table.
Mais je n'ai rien sous la main pour illuster...
Et avec ceci :
http://cjoint.com/?gsvRzgFngW
ça irait ?
Je vais regarder - dès que j'ai un peu de temps, mais je suppose que ce sont
des données...
Lorsque je disais "sous la main", je pensais à un exemple de code ;-)
Salut,
"Jac"
[...]Si tu arrive à mettre ce qu'il faut dans une table...
dans ce cas, tu peut créer de toute pièce une requête avec la méthode
CreateQueryDef en concaténant "les bouts" que tu récupères dans ta table.
Mais je n'ai rien sous la main pour illuster...
Et avec ceci :
http://cjoint.com/?gsvRzgFngW
ça irait ?
Je vais regarder - dès que j'ai un peu de temps, mais je suppose que ce sont
des données...
Lorsque je disais "sous la main", je pensais à un exemple de code ;-)