jeu. 22 sept. 2005 15:12:45 Hervé DUCARNE a écrit dans le message de news
<news: :C'est parfait, ça tourne du feu de dieu !
Merci encore.
Bien.
Il ne te reste plus qu'à créer une table de synthèse et lancer une routine
qui va interroger les requêtes pour alimenter les champs.
Parceque bon, on va pas non plus lancer les requêtes à la main et noter le
résultat au stylo, hein.
--
Quand Jimmy dit what'd I say
I love you baby
C'est comme qui dirait
Toute la province qui chante en anglais
jeu. 22 sept. 2005 15:12:45 Hervé DUCARNE a écrit dans le message de news
<news:OJ3Ume3vFHA.720@TK2MSFTNGP15.phx.gbl> :
C'est parfait, ça tourne du feu de dieu !
Merci encore.
Bien.
Il ne te reste plus qu'à créer une table de synthèse et lancer une routine
qui va interroger les requêtes pour alimenter les champs.
Parceque bon, on va pas non plus lancer les requêtes à la main et noter le
résultat au stylo, hein.
--
Quand Jimmy dit what'd I say
I love you baby
C'est comme qui dirait
Toute la province qui chante en anglais
jeu. 22 sept. 2005 15:12:45 Hervé DUCARNE a écrit dans le message de news
<news: :C'est parfait, ça tourne du feu de dieu !
Merci encore.
Bien.
Il ne te reste plus qu'à créer une table de synthèse et lancer une routine
qui va interroger les requêtes pour alimenter les champs.
Parceque bon, on va pas non plus lancer les requêtes à la main et noter le
résultat au stylo, hein.
--
Quand Jimmy dit what'd I say
I love you baby
C'est comme qui dirait
Toute la province qui chante en anglais
jeu. 22 sept. 2005 15:31:14 Hervé DUCARNE a écrit dans le message de news
<news: :C'est ce à quoi j'étais à près réfléchir !
Je me posais la question suivante : soit je crée la table avant, et
ensuite je relance une boucle avec remplissage des champs des requêtes,
soit je crée la boucle dans laquelle je crée le champ et lui injecte le
résultat de la requête.
T'en penses quoi ??
Je pense que tu crées les champs de la table et affecte les valeurs dans
la
même boucle.
Pour des noms de champs personnalisés, tu peux inscrire les noms de
chaque champs dans un tableau de constantes.
--
Quand Jimmy dit what'd I say
I love you baby
C'est comme qui dirait
Toute la province qui chante en anglais
jeu. 22 sept. 2005 15:31:14 Hervé DUCARNE a écrit dans le message de news
<news:uyCUZo3vFHA.2292@TK2MSFTNGP12.phx.gbl> :
C'est ce à quoi j'étais à près réfléchir !
Je me posais la question suivante : soit je crée la table avant, et
ensuite je relance une boucle avec remplissage des champs des requêtes,
soit je crée la boucle dans laquelle je crée le champ et lui injecte le
résultat de la requête.
T'en penses quoi ??
Je pense que tu crées les champs de la table et affecte les valeurs dans
la
même boucle.
Pour des noms de champs personnalisés, tu peux inscrire les noms de
chaque champs dans un tableau de constantes.
--
Quand Jimmy dit what'd I say
I love you baby
C'est comme qui dirait
Toute la province qui chante en anglais
jeu. 22 sept. 2005 15:31:14 Hervé DUCARNE a écrit dans le message de news
<news: :C'est ce à quoi j'étais à près réfléchir !
Je me posais la question suivante : soit je crée la table avant, et
ensuite je relance une boucle avec remplissage des champs des requêtes,
soit je crée la boucle dans laquelle je crée le champ et lui injecte le
résultat de la requête.
T'en penses quoi ??
Je pense que tu crées les champs de la table et affecte les valeurs dans
la
même boucle.
Pour des noms de champs personnalisés, tu peux inscrire les noms de
chaque champs dans un tableau de constantes.
--
Quand Jimmy dit what'd I say
I love you baby
C'est comme qui dirait
Toute la province qui chante en anglais
C'est parfait, ça tourne du feu de dieu !
Merci encore.
@+
"Jimmy Limousin" a écrit dans le message de
news:jeu. 22 sept. 2005 14:16:14 Hervé DUCARNE a écrit dans le message de news
<news:uLsHi# :Tu vois pas pourquoi elle ne fais rien cette fonction please ??
Voilà ce que j'ai testé.
En dehors du fait que dans ta requête tu nommes la somme du même nom que
lechamps, c'est pas beau, j'ai mis le champ entre crochets et parenthésé.
Pourtout dire j'ai fait un copier coller de la chaine sql depuis l'assistant
pourrédiger le squelette de la première requête, après tu fais tourner le i.
Il faut aussi rafraichir la collection de requêtes avec un append.
Aussi, il faut voir si tes champs sont numérotés de 1 à 100 sans format ou
sur deux ou trois digits, auquel cas, utiliser la fonction format(), je
trouve ça plus propre de manipuler des indices formatés.
Sub CreerRequetes()
Dim dbbd As Database
Dim qdReq As QueryDef
Dim stSql As String
Dim i As Long
Set dbbd = CurrentDb
For i = 1 To 3
stSql = "SELECT Count(donnees.ci_donnees) AS CompteDeci_donnees
FROMdonnees WHERE (((donnees.[" & CStr(i) & "])=True));"
Set qdReq = dbbd.CreateQueryDef()
qdReq.SQL = stSql
qdReq.Name = "Tester_Champ_" & Format(i, "00")
dbbd.QueryDefs.Append qdReq
Next
End Sub
--
Quand Jimmy dit what'd I say
I love you baby
C'est comme qui dirait
Toute la province qui chante en anglais
C'est parfait, ça tourne du feu de dieu !
Merci encore.
@+
"Jimmy Limousin" <E7@dtc.invalid> a écrit dans le message de
news:Xns96D995CECEBB7TotoLeHaricot@217.24.82.5...
jeu. 22 sept. 2005 14:16:14 Hervé DUCARNE a écrit dans le message de news
<news:uLsHi#2vFHA.3688@tk2msftngp13.phx.gbl> :
Tu vois pas pourquoi elle ne fais rien cette fonction please ??
Voilà ce que j'ai testé.
En dehors du fait que dans ta requête tu nommes la somme du même nom que
le
champs, c'est pas beau, j'ai mis le champ entre crochets et parenthésé.
Pour
tout dire j'ai fait un copier coller de la chaine sql depuis l'assistant
pour
rédiger le squelette de la première requête, après tu fais tourner le i.
Il faut aussi rafraichir la collection de requêtes avec un append.
Aussi, il faut voir si tes champs sont numérotés de 1 à 100 sans format ou
sur deux ou trois digits, auquel cas, utiliser la fonction format(), je
trouve ça plus propre de manipuler des indices formatés.
Sub CreerRequetes()
Dim dbbd As Database
Dim qdReq As QueryDef
Dim stSql As String
Dim i As Long
Set dbbd = CurrentDb
For i = 1 To 3
stSql = "SELECT Count(donnees.ci_donnees) AS CompteDeci_donnees
FROM
donnees WHERE (((donnees.[" & CStr(i) & "])=True));"
Set qdReq = dbbd.CreateQueryDef()
qdReq.SQL = stSql
qdReq.Name = "Tester_Champ_" & Format(i, "00")
dbbd.QueryDefs.Append qdReq
Next
End Sub
--
Quand Jimmy dit what'd I say
I love you baby
C'est comme qui dirait
Toute la province qui chante en anglais
C'est parfait, ça tourne du feu de dieu !
Merci encore.
@+
"Jimmy Limousin" a écrit dans le message de
news:jeu. 22 sept. 2005 14:16:14 Hervé DUCARNE a écrit dans le message de news
<news:uLsHi# :Tu vois pas pourquoi elle ne fais rien cette fonction please ??
Voilà ce que j'ai testé.
En dehors du fait que dans ta requête tu nommes la somme du même nom que
lechamps, c'est pas beau, j'ai mis le champ entre crochets et parenthésé.
Pourtout dire j'ai fait un copier coller de la chaine sql depuis l'assistant
pourrédiger le squelette de la première requête, après tu fais tourner le i.
Il faut aussi rafraichir la collection de requêtes avec un append.
Aussi, il faut voir si tes champs sont numérotés de 1 à 100 sans format ou
sur deux ou trois digits, auquel cas, utiliser la fonction format(), je
trouve ça plus propre de manipuler des indices formatés.
Sub CreerRequetes()
Dim dbbd As Database
Dim qdReq As QueryDef
Dim stSql As String
Dim i As Long
Set dbbd = CurrentDb
For i = 1 To 3
stSql = "SELECT Count(donnees.ci_donnees) AS CompteDeci_donnees
FROMdonnees WHERE (((donnees.[" & CStr(i) & "])=True));"
Set qdReq = dbbd.CreateQueryDef()
qdReq.SQL = stSql
qdReq.Name = "Tester_Champ_" & Format(i, "00")
dbbd.QueryDefs.Append qdReq
Next
End Sub
--
Quand Jimmy dit what'd I say
I love you baby
C'est comme qui dirait
Toute la province qui chante en anglais
Ouais, c'est bien aussi. Ça a le défaut d'être plus performant.
Mais ça ne marchera pas pour les champs contenant des choix multiples dans la
suite de son traitement du questionnaire.
Je ne vais pas me laisser faire, non mais :))
Ouais, c'est bien aussi. Ça a le défaut d'être plus performant.
Mais ça ne marchera pas pour les champs contenant des choix multiples dans la
suite de son traitement du questionnaire.
Je ne vais pas me laisser faire, non mais :))
Ouais, c'est bien aussi. Ça a le défaut d'être plus performant.
Mais ça ne marchera pas pour les champs contenant des choix multiples dans la
suite de son traitement du questionnaire.
Je ne vais pas me laisser faire, non mais :))
Bonjour,
Une question simple :
J'ai une table avec une clé, et différents champs booléens.
Je voudrais connaitre, pour chaque champ, le nombre d'enregistrement à
vrai.
Dans la requête pour calculer pour un champ, no problème, j'ai mis la clé,
dans opération je mets "compte", je mets le champ, et dans opération je
mets
"où" et critère 'vrai'.
J'ai 100 champs ;-(
Il y a t'il un moyen qui puisse me permettre d'éviter de créer 100
requêtes
?
Merci.
Bonjour,
Une question simple :
J'ai une table avec une clé, et différents champs booléens.
Je voudrais connaitre, pour chaque champ, le nombre d'enregistrement à
vrai.
Dans la requête pour calculer pour un champ, no problème, j'ai mis la clé,
dans opération je mets "compte", je mets le champ, et dans opération je
mets
"où" et critère 'vrai'.
J'ai 100 champs ;-(
Il y a t'il un moyen qui puisse me permettre d'éviter de créer 100
requêtes
?
Merci.
Bonjour,
Une question simple :
J'ai une table avec une clé, et différents champs booléens.
Je voudrais connaitre, pour chaque champ, le nombre d'enregistrement à
vrai.
Dans la requête pour calculer pour un champ, no problème, j'ai mis la clé,
dans opération je mets "compte", je mets le champ, et dans opération je
mets
"où" et critère 'vrai'.
J'ai 100 champs ;-(
Il y a t'il un moyen qui puisse me permettre d'éviter de créer 100
requêtes
?
Merci.
jeu. 22 sept. 2005 16:08:43 Hervé DUCARNE a écrit dans le message de news
<news: :Je fatigue, !!!
Merci si tu vois ce qui ne va pas de me le signaler...
Il faut aussi rafraichir la collection des tables après avoir mis à jour
les
propriétés de dbtable !
bd.TableDefs.Append dbtable
Tu peux aussi créer la table avec l'assistant avec un premier champ.
--
Quand Jimmy dit what'd I say
I love you baby
C'est comme qui dirait
Toute la province qui chante en anglais
jeu. 22 sept. 2005 16:08:43 Hervé DUCARNE a écrit dans le message de news
<news:uvC1V93vFHA.3400@TK2MSFTNGP14.phx.gbl> :
Je fatigue, !!!
Merci si tu vois ce qui ne va pas de me le signaler...
Il faut aussi rafraichir la collection des tables après avoir mis à jour
les
propriétés de dbtable !
bd.TableDefs.Append dbtable
Tu peux aussi créer la table avec l'assistant avec un premier champ.
--
Quand Jimmy dit what'd I say
I love you baby
C'est comme qui dirait
Toute la province qui chante en anglais
jeu. 22 sept. 2005 16:08:43 Hervé DUCARNE a écrit dans le message de news
<news: :Je fatigue, !!!
Merci si tu vois ce qui ne va pas de me le signaler...
Il faut aussi rafraichir la collection des tables après avoir mis à jour
les
propriétés de dbtable !
bd.TableDefs.Append dbtable
Tu peux aussi créer la table avec l'assistant avec un premier champ.
--
Quand Jimmy dit what'd I say
I love you baby
C'est comme qui dirait
Toute la province qui chante en anglais
Bonjour
J'ai pas forcément tout suivi mais bon...
Tu as :
Clé 1 2 3 4 5 ...
---------------------------------------
x vrai vrai faux faux vrai
x faux vrai faux faux vrai
z vrai faux faux vrai vrai
z faux vrai vrai vrai faux
z vrai vrai faux vrai vrai
...
Et toi tu veux connaître le nombre de vrai par champs :
Clé 1 2 3 4 5
-------------------------
x 1 2 0 0 2
z 2 2 1 3 2
...
Si c'est bien ce que tu veux, il te suffit de faire :
SELECT taTable.Clé, Sum([1]*-1) AS Expr1,
Sum([2]*-1) AS Expr2, Sum([3]*-1) AS Expr3, ...
FROM taTable
GROUP BY taTable.Clé;
Biensûr vu tous les mails, je ne suis pas sûr d'avoir tout compris... ;-))
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Hervé DUCARNE" a écrit dans le message news:Bonjour,
Une question simple :
J'ai une table avec une clé, et différents champs booléens.
Je voudrais connaitre, pour chaque champ, le nombre d'enregistrement à
vrai.
Dans la requête pour calculer pour un champ, no problème, j'ai mis la
clé,
dans opération je mets "compte", je mets le champ, et dans opération je
mets"où" et critère 'vrai'.
J'ai 100 champs ;-(
Il y a t'il un moyen qui puisse me permettre d'éviter de créer 100
requêtes?
Merci.
Bonjour
J'ai pas forcément tout suivi mais bon...
Tu as :
Clé 1 2 3 4 5 ...
---------------------------------------
x vrai vrai faux faux vrai
x faux vrai faux faux vrai
z vrai faux faux vrai vrai
z faux vrai vrai vrai faux
z vrai vrai faux vrai vrai
...
Et toi tu veux connaître le nombre de vrai par champs :
Clé 1 2 3 4 5
-------------------------
x 1 2 0 0 2
z 2 2 1 3 2
...
Si c'est bien ce que tu veux, il te suffit de faire :
SELECT taTable.Clé, Sum([1]*-1) AS Expr1,
Sum([2]*-1) AS Expr2, Sum([3]*-1) AS Expr3, ...
FROM taTable
GROUP BY taTable.Clé;
Biensûr vu tous les mails, je ne suis pas sûr d'avoir tout compris... ;-))
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Hervé DUCARNE" <lepontherve@wanadou.fr> a écrit dans le message news:
esys2WsvFHA.3152@TK2MSFTNGP12.phx.gbl...
Bonjour,
Une question simple :
J'ai une table avec une clé, et différents champs booléens.
Je voudrais connaitre, pour chaque champ, le nombre d'enregistrement à
vrai.
Dans la requête pour calculer pour un champ, no problème, j'ai mis la
clé,
dans opération je mets "compte", je mets le champ, et dans opération je
mets
"où" et critère 'vrai'.
J'ai 100 champs ;-(
Il y a t'il un moyen qui puisse me permettre d'éviter de créer 100
requêtes
?
Merci.
Bonjour
J'ai pas forcément tout suivi mais bon...
Tu as :
Clé 1 2 3 4 5 ...
---------------------------------------
x vrai vrai faux faux vrai
x faux vrai faux faux vrai
z vrai faux faux vrai vrai
z faux vrai vrai vrai faux
z vrai vrai faux vrai vrai
...
Et toi tu veux connaître le nombre de vrai par champs :
Clé 1 2 3 4 5
-------------------------
x 1 2 0 0 2
z 2 2 1 3 2
...
Si c'est bien ce que tu veux, il te suffit de faire :
SELECT taTable.Clé, Sum([1]*-1) AS Expr1,
Sum([2]*-1) AS Expr2, Sum([3]*-1) AS Expr3, ...
FROM taTable
GROUP BY taTable.Clé;
Biensûr vu tous les mails, je ne suis pas sûr d'avoir tout compris... ;-))
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Hervé DUCARNE" a écrit dans le message news:Bonjour,
Une question simple :
J'ai une table avec une clé, et différents champs booléens.
Je voudrais connaitre, pour chaque champ, le nombre d'enregistrement à
vrai.
Dans la requête pour calculer pour un champ, no problème, j'ai mis la
clé,
dans opération je mets "compte", je mets le champ, et dans opération je
mets"où" et critère 'vrai'.
J'ai 100 champs ;-(
Il y a t'il un moyen qui puisse me permettre d'éviter de créer 100
requêtes?
Merci.
Bonjour,
Sous réserve d'avoir bien compris ...
Pourquoi ne pas créer une requête globale te donnant le nb de Vrai pour
pour chaque champ sans devoir créer autant de requêtes (dans ton exemple
100)
Le code ci-dessous te crée une requête donnant le nb de VRAI pour chaque
champ : Adapter le nom de la table et pour l'exemple j'ai lmité à 8
chams booléens, donc passer à 100.
Sub zz()
On Error GoTo Err_zz
Dim strsql As String, i As Integer
Dim chaine As String, qry As DAO.Querydef
strsql = "Select "
For i = 1 To 8
chaine = chaine & "-sum([" & i & "]) As Nb" & i & "VRAI, "
Next i
chaine = Left(chaine, Len(chaine) - 2)
strsql = strsql & chaine & " From LaTable Where"
chaine = ""
For i = 1 To 8
chaine = chaine & " [" & i & "] = True OR "
Next i
chaine = Left(chaine, Len(chaine) - 3) & ";"
strsql = strsql & chaine
Set qry = CurrentDb.CreateQueryDef("LaRequêteDesVrais", strsql)
RefreshDatabaseWindow
Set qry = Nothing
Exit Sub
Err_zz:
CurrentDb.QueryDefs.Delete "LaRequêteDesVrais"
Resume 0
End SubC'est parfait, ça tourne du feu de dieu !
Merci encore.
@+
"Jimmy Limousin" a écrit dans le message de
news:jeu. 22 sept. 2005 14:16:14 Hervé DUCARNE a écrit dans le message de
news
<news:uLsHi# :Tu vois pas pourquoi elle ne fais rien cette fonction please ??
Voilà ce que j'ai testé.
En dehors du fait que dans ta requête tu nommes la somme du même nom que
lechamps, c'est pas beau, j'ai mis le champ entre crochets et parenthésé.
Pourtout dire j'ai fait un copier coller de la chaine sql depuis l'assistant
pourrédiger le squelette de la première requête, après tu fais tourner le i.
Il faut aussi rafraichir la collection de requêtes avec un append.
Aussi, il faut voir si tes champs sont numérotés de 1 à 100 sans format
ou
sur deux ou trois digits, auquel cas, utiliser la fonction format(), je
trouve ça plus propre de manipuler des indices formatés.
Sub CreerRequetes()
Dim dbbd As Database
Dim qdReq As QueryDef
Dim stSql As String
Dim i As Long
Set dbbd = CurrentDb
For i = 1 To 3
stSql = "SELECT Count(donnees.ci_donnees) AS CompteDeci_donnees
FROMdonnees WHERE (((donnees.[" & CStr(i) & "])=True));"
Set qdReq = dbbd.CreateQueryDef()
qdReq.SQL = stSql
qdReq.Name = "Tester_Champ_" & Format(i, "00")
dbbd.QueryDefs.Append qdReq
Next
End Sub
--
Quand Jimmy dit what'd I say
I love you baby
C'est comme qui dirait
Toute la province qui chante en anglais
--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour,
Sous réserve d'avoir bien compris ...
Pourquoi ne pas créer une requête globale te donnant le nb de Vrai pour
pour chaque champ sans devoir créer autant de requêtes (dans ton exemple
100)
Le code ci-dessous te crée une requête donnant le nb de VRAI pour chaque
champ : Adapter le nom de la table et pour l'exemple j'ai lmité à 8
chams booléens, donc passer à 100.
Sub zz()
On Error GoTo Err_zz
Dim strsql As String, i As Integer
Dim chaine As String, qry As DAO.Querydef
strsql = "Select "
For i = 1 To 8
chaine = chaine & "-sum([" & i & "]) As Nb" & i & "VRAI, "
Next i
chaine = Left(chaine, Len(chaine) - 2)
strsql = strsql & chaine & " From LaTable Where"
chaine = ""
For i = 1 To 8
chaine = chaine & " [" & i & "] = True OR "
Next i
chaine = Left(chaine, Len(chaine) - 3) & ";"
strsql = strsql & chaine
Set qry = CurrentDb.CreateQueryDef("LaRequêteDesVrais", strsql)
RefreshDatabaseWindow
Set qry = Nothing
Exit Sub
Err_zz:
CurrentDb.QueryDefs.Delete "LaRequêteDesVrais"
Resume 0
End Sub
C'est parfait, ça tourne du feu de dieu !
Merci encore.
@+
"Jimmy Limousin" <E7@dtc.invalid> a écrit dans le message de
news:Xns96D995CECEBB7TotoLeHaricot@217.24.82.5...
jeu. 22 sept. 2005 14:16:14 Hervé DUCARNE a écrit dans le message de
news
<news:uLsHi#2vFHA.3688@tk2msftngp13.phx.gbl> :
Tu vois pas pourquoi elle ne fais rien cette fonction please ??
Voilà ce que j'ai testé.
En dehors du fait que dans ta requête tu nommes la somme du même nom que
le
champs, c'est pas beau, j'ai mis le champ entre crochets et parenthésé.
Pour
tout dire j'ai fait un copier coller de la chaine sql depuis l'assistant
pour
rédiger le squelette de la première requête, après tu fais tourner le i.
Il faut aussi rafraichir la collection de requêtes avec un append.
Aussi, il faut voir si tes champs sont numérotés de 1 à 100 sans format
ou
sur deux ou trois digits, auquel cas, utiliser la fonction format(), je
trouve ça plus propre de manipuler des indices formatés.
Sub CreerRequetes()
Dim dbbd As Database
Dim qdReq As QueryDef
Dim stSql As String
Dim i As Long
Set dbbd = CurrentDb
For i = 1 To 3
stSql = "SELECT Count(donnees.ci_donnees) AS CompteDeci_donnees
FROM
donnees WHERE (((donnees.[" & CStr(i) & "])=True));"
Set qdReq = dbbd.CreateQueryDef()
qdReq.SQL = stSql
qdReq.Name = "Tester_Champ_" & Format(i, "00")
dbbd.QueryDefs.Append qdReq
Next
End Sub
--
Quand Jimmy dit what'd I say
I love you baby
C'est comme qui dirait
Toute la province qui chante en anglais
--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour,
Sous réserve d'avoir bien compris ...
Pourquoi ne pas créer une requête globale te donnant le nb de Vrai pour
pour chaque champ sans devoir créer autant de requêtes (dans ton exemple
100)
Le code ci-dessous te crée une requête donnant le nb de VRAI pour chaque
champ : Adapter le nom de la table et pour l'exemple j'ai lmité à 8
chams booléens, donc passer à 100.
Sub zz()
On Error GoTo Err_zz
Dim strsql As String, i As Integer
Dim chaine As String, qry As DAO.Querydef
strsql = "Select "
For i = 1 To 8
chaine = chaine & "-sum([" & i & "]) As Nb" & i & "VRAI, "
Next i
chaine = Left(chaine, Len(chaine) - 2)
strsql = strsql & chaine & " From LaTable Where"
chaine = ""
For i = 1 To 8
chaine = chaine & " [" & i & "] = True OR "
Next i
chaine = Left(chaine, Len(chaine) - 3) & ";"
strsql = strsql & chaine
Set qry = CurrentDb.CreateQueryDef("LaRequêteDesVrais", strsql)
RefreshDatabaseWindow
Set qry = Nothing
Exit Sub
Err_zz:
CurrentDb.QueryDefs.Delete "LaRequêteDesVrais"
Resume 0
End SubC'est parfait, ça tourne du feu de dieu !
Merci encore.
@+
"Jimmy Limousin" a écrit dans le message de
news:jeu. 22 sept. 2005 14:16:14 Hervé DUCARNE a écrit dans le message de
news
<news:uLsHi# :Tu vois pas pourquoi elle ne fais rien cette fonction please ??
Voilà ce que j'ai testé.
En dehors du fait que dans ta requête tu nommes la somme du même nom que
lechamps, c'est pas beau, j'ai mis le champ entre crochets et parenthésé.
Pourtout dire j'ai fait un copier coller de la chaine sql depuis l'assistant
pourrédiger le squelette de la première requête, après tu fais tourner le i.
Il faut aussi rafraichir la collection de requêtes avec un append.
Aussi, il faut voir si tes champs sont numérotés de 1 à 100 sans format
ou
sur deux ou trois digits, auquel cas, utiliser la fonction format(), je
trouve ça plus propre de manipuler des indices formatés.
Sub CreerRequetes()
Dim dbbd As Database
Dim qdReq As QueryDef
Dim stSql As String
Dim i As Long
Set dbbd = CurrentDb
For i = 1 To 3
stSql = "SELECT Count(donnees.ci_donnees) AS CompteDeci_donnees
FROMdonnees WHERE (((donnees.[" & CStr(i) & "])=True));"
Set qdReq = dbbd.CreateQueryDef()
qdReq.SQL = stSql
qdReq.Name = "Tester_Champ_" & Format(i, "00")
dbbd.QueryDefs.Append qdReq
Next
End Sub
--
Quand Jimmy dit what'd I say
I love you baby
C'est comme qui dirait
Toute la province qui chante en anglais
--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Merci Jessy,
Mais je voulais avoir la somme de chaque clé...
Pas évident à suivre ce fil :-)
"Jessy Sempere [MVP]" a écrit dans le message
de
news:4332c789$Bonjour
J'ai pas forcément tout suivi mais bon...
Tu as :
Clé 1 2 3 4 5 ...
---------------------------------------
x vrai vrai faux faux vrai
x faux vrai faux faux vrai
z vrai faux faux vrai vrai
z faux vrai vrai vrai faux
z vrai vrai faux vrai vrai
...
Et toi tu veux connaître le nombre de vrai par champs :
Clé 1 2 3 4 5
-------------------------
x 1 2 0 0 2
z 2 2 1 3 2
...
Si c'est bien ce que tu veux, il te suffit de faire :
SELECT taTable.Clé, Sum([1]*-1) AS Expr1,
Sum([2]*-1) AS Expr2, Sum([3]*-1) AS Expr3, ...
FROM taTable
GROUP BY taTable.Clé;
Biensûr vu tous les mails, je ne suis pas sûr d'avoir tout compris...
;-))
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Hervé DUCARNE" a écrit dans le message news:Bonjour,
Une question simple :
J'ai une table avec une clé, et différents champs booléens.
Je voudrais connaitre, pour chaque champ, le nombre d'enregistrement à
vrai.
Dans la requête pour calculer pour un champ, no problème, j'ai mis la
clé,dans opération je mets "compte", je mets le champ, et dans opération
je
mets"où" et critère 'vrai'.
J'ai 100 champs ;-(
Il y a t'il un moyen qui puisse me permettre d'éviter de créer 100
requêtes?
Merci.
Merci Jessy,
Mais je voulais avoir la somme de chaque clé...
Pas évident à suivre ce fil :-)
"Jessy Sempere [MVP]" <jessy.sempere@prg.sncf.fr> a écrit dans le message
de
news:4332c789$1@news.sncf.fr...
Bonjour
J'ai pas forcément tout suivi mais bon...
Tu as :
Clé 1 2 3 4 5 ...
---------------------------------------
x vrai vrai faux faux vrai
x faux vrai faux faux vrai
z vrai faux faux vrai vrai
z faux vrai vrai vrai faux
z vrai vrai faux vrai vrai
...
Et toi tu veux connaître le nombre de vrai par champs :
Clé 1 2 3 4 5
-------------------------
x 1 2 0 0 2
z 2 2 1 3 2
...
Si c'est bien ce que tu veux, il te suffit de faire :
SELECT taTable.Clé, Sum([1]*-1) AS Expr1,
Sum([2]*-1) AS Expr2, Sum([3]*-1) AS Expr3, ...
FROM taTable
GROUP BY taTable.Clé;
Biensûr vu tous les mails, je ne suis pas sûr d'avoir tout compris...
;-))
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Hervé DUCARNE" <lepontherve@wanadou.fr> a écrit dans le message news:
esys2WsvFHA.3152@TK2MSFTNGP12.phx.gbl...
Bonjour,
Une question simple :
J'ai une table avec une clé, et différents champs booléens.
Je voudrais connaitre, pour chaque champ, le nombre d'enregistrement à
vrai.
Dans la requête pour calculer pour un champ, no problème, j'ai mis la
clé,
dans opération je mets "compte", je mets le champ, et dans opération
je
mets
"où" et critère 'vrai'.
J'ai 100 champs ;-(
Il y a t'il un moyen qui puisse me permettre d'éviter de créer 100
requêtes
?
Merci.
Merci Jessy,
Mais je voulais avoir la somme de chaque clé...
Pas évident à suivre ce fil :-)
"Jessy Sempere [MVP]" a écrit dans le message
de
news:4332c789$Bonjour
J'ai pas forcément tout suivi mais bon...
Tu as :
Clé 1 2 3 4 5 ...
---------------------------------------
x vrai vrai faux faux vrai
x faux vrai faux faux vrai
z vrai faux faux vrai vrai
z faux vrai vrai vrai faux
z vrai vrai faux vrai vrai
...
Et toi tu veux connaître le nombre de vrai par champs :
Clé 1 2 3 4 5
-------------------------
x 1 2 0 0 2
z 2 2 1 3 2
...
Si c'est bien ce que tu veux, il te suffit de faire :
SELECT taTable.Clé, Sum([1]*-1) AS Expr1,
Sum([2]*-1) AS Expr2, Sum([3]*-1) AS Expr3, ...
FROM taTable
GROUP BY taTable.Clé;
Biensûr vu tous les mails, je ne suis pas sûr d'avoir tout compris...
;-))
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Hervé DUCARNE" a écrit dans le message news:Bonjour,
Une question simple :
J'ai une table avec une clé, et différents champs booléens.
Je voudrais connaitre, pour chaque champ, le nombre d'enregistrement à
vrai.
Dans la requête pour calculer pour un champ, no problème, j'ai mis la
clé,dans opération je mets "compte", je mets le champ, et dans opération
je
mets"où" et critère 'vrai'.
J'ai 100 champs ;-(
Il y a t'il un moyen qui puisse me permettre d'éviter de créer 100
requêtes?
Merci.