OVH Cloud OVH Cloud

Ouvrir Rapport avec differentes requetes

3 réponses
Avatar
Daniel
Salut

J'essaie d'ouvrir un rapport avec différentes requetes d'apres différentes
conditions.
Toutefois, le rapport se charge toujours avec la requete par défaut du
rapport.
Il n'utlise jamais marequete1 ou 2.

if condition =1 then
doCmd.OpenReport "MonRapport", acViewPreview, "MaRequete1"
else
doCmd.OpenReport "MonRapport", acViewPreview, "MaRequete2"
endif

Merci

3 réponses

Avatar
Alain
Bonjour,

doCmd.OpenReport "MonRapport", acViewPreview, "MaRequete1"
Ce code ne fait que filtrer le rapport.


Pour changer la requette, il faudrait mettre le nom de la requete dans
l'option openargs de docmd.openreport.
Ensuite on recupere le nom de la requete dans l'evenement open du rapport et
on l'utilise comme recordsource.

Private Sub Report_Open(Cancel As Integer)
if me.openargs ="" then
else
me.recordsource = me.openargs
end if
end sub

Voir l'aide en ligne pour infos

Bon courage

"Daniel" a écrit dans le message de news:

Salut

J'essaie d'ouvrir un rapport avec différentes requetes d'apres différentes
conditions.
Toutefois, le rapport se charge toujours avec la requete par défaut du
rapport.
Il n'utlise jamais marequete1 ou 2.

if condition =1 then
doCmd.OpenReport "MonRapport", acViewPreview, "MaRequete1"
else
doCmd.OpenReport "MonRapport", acViewPreview, "MaRequete2"
endif

Merci




Avatar
Daniel
J'ai access 97 et openargs n'est pas supporté par les rapports, seulement
les formulaires.
Sinon ca aurait été une solution efficace

"Alain" a écrit dans le message de
news:Oj%
Bonjour,

doCmd.OpenReport "MonRapport", acViewPreview, "MaRequete1"
Ce code ne fait que filtrer le rapport.


Pour changer la requette, il faudrait mettre le nom de la requete dans
l'option openargs de docmd.openreport.
Ensuite on recupere le nom de la requete dans l'evenement open du rapport
et

on l'utilise comme recordsource.

Private Sub Report_Open(Cancel As Integer)
if me.openargs ="" then
else
me.recordsource = me.openargs
end if
end sub

Voir l'aide en ligne pour infos

Bon courage

"Daniel" a écrit dans le message de news:

Salut

J'essaie d'ouvrir un rapport avec différentes requetes d'apres
différentes


conditions.
Toutefois, le rapport se charge toujours avec la requete par défaut du
rapport.
Il n'utlise jamais marequete1 ou 2.

if condition =1 then
doCmd.OpenReport "MonRapport", acViewPreview, "MaRequete1"
else
doCmd.OpenReport "MonRapport", acViewPreview, "MaRequete2"
endif

Merci








Avatar
ze Titi
Bonjour Daniel

Dans ce cas, passe par une table intermédiaire. Avant l'ouverture de
ton report, tu alimentes cette table avec l'argument que tu aurais dû
passer en argument. De cette façon, à l'ouverture de ton report, tu vas
chercher la valeur dans cette table intermédiaire.

C'est une piste (enfin je pense...)

Dans ton message du lundi
J'ai access 97 et openargs n'est pas supporté par les rapports, seulement
les formulaires.
Sinon ca aurait été une solution efficace

"Alain" a écrit dans le message de
news:Oj%
Bonjour,

doCmd.OpenReport "MonRapport", acViewPreview, "MaRequete1"
Ce code ne fait que filtrer le rapport.


Pour changer la requette, il faudrait mettre le nom de la requete dans
l'option openargs de docmd.openreport.
Ensuite on recupere le nom de la requete dans l'evenement open du rapport et
on l'utilise comme recordsource.

Private Sub Report_Open(Cancel As Integer)
if me.openargs ="" then
else
me.recordsource = me.openargs
end if
end sub

Voir l'aide en ligne pour infos

Bon courage

"Daniel" a écrit dans le message de news:

Salut

J'essaie d'ouvrir un rapport avec différentes requetes d'apres différentes
conditions.
Toutefois, le rapport se charge toujours avec la requete par défaut du
rapport.
Il n'utlise jamais marequete1 ou 2.

if condition =1 then
doCmd.OpenReport "MonRapport", acViewPreview, "MaRequete1"
else
doCmd.OpenReport "MonRapport", acViewPreview, "MaRequete2"
endif

Merci




--
Voilou !
Bon code
Cordialement,

Ze Titi