OVH Cloud OVH Cloud

svp...

4 réponses
Avatar
Ben
Bonjour,
J'ai posé une question resté sans réponse vendredi, et bien qu'ayant cherché
tout le week-end, je ne suis toujours pas parvenu à trouver.
Dans le cadre d'un publipostage, j'ai un formulaire indépendant "select"
dans lequel je sélectionne des critères de sélection pour une requête « pub ».
Dans ma requête, j’ai donc 7 critères qui font référence à mon formulaire de
la manière suivante par exemple : >=[Formulaires]![selection]![datedébut] .
Ma requête fonctionne très bien quand je la lance.
Mon publipostage aussi, si et seulement si, pour tester, je supprime les
critères de sélection de la requête.
Mais si je laisse les critères de sélection, j’ai le message suivant :
« Trop peu de paramètres. 7 attendu. (Erreur 3061) »
Merci de votre aide car je suis complètement bloqué,
Ben.

4 réponses

Avatar
Jessy Sempere [MVP]
Bonjour

Peux-tu nous donner ta requête SQL, visiblement ça vient de là...

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Ben" a écrit dans le message news:

Bonjour,
J'ai posé une question resté sans réponse vendredi, et bien qu'ayant
cherché

tout le week-end, je ne suis toujours pas parvenu à trouver.
Dans le cadre d'un publipostage, j'ai un formulaire indépendant "select"
dans lequel je sélectionne des critères de sélection pour une requête
pub ».

Dans ma requête, j'ai donc 7 critères qui font référence à mon formulaire
de

la manière suivante par exemple : >=[Formulaires]![selection]![datedébut]
.

Ma requête fonctionne très bien quand je la lance.
Mon publipostage aussi, si et seulement si, pour tester, je supprime les
critères de sélection de la requête.
Mais si je laisse les critères de sélection, j'ai le message suivant :
« Trop peu de paramètres. 7 attendu. (Erreur 3061) »
Merci de votre aide car je suis complètement bloqué,
Ben.




Avatar
Ben
Merci de votre réponse.
Voici la requête sql :

SELECT DISTINCTROW Locataire.RéfLocataire, Bail.[DateValidité Attestation
Assurance], Bail.TypeBail2, Acquisition.RéfAcquisition, Bail.Archivé,
Bail.ModeRéglement, Bail.FréquenceLoyer, Locataire.Personnalité,
Locataire.StructureJuridique, Locataire.Dénomination, Locataire.CivilitéLOC,
Locataire.NomLOC, Locataire.PrénomLOC, Locataire.CivilitéCO, Locataire.NomCO,
Locataire.PrénomCO, Locataire.AdresseLOCAV, Locataire.CodePostalLOCAV,
Locataire.VilleLOCAV, Location.RéférenceInterne, Location.EnvoiCourrier,
Copropriété.Adressec, Copropriété.Villec, Copropriété.CodePostalc,
Propriétaire.Prénom, Propriétaire.Adresse, Propriétaire.Ville,
Propriétaire.CodePostal, Propriétaire.Nom, Propriétaire.TélPersonnel,
Propriétaire.TéléphoneMobile, Propriétaire.Télsurdoc,
Propriétaire.Mobilesurdoc, Propriétaire.NumTélécopie,
Propriétaire.NomCourrierÉlec, Propriétaire.SiteInternet, Bail.RéfBail,
Bail.RéfLocataire, Bail.RéfLocation, Acquisition.RéfStructure,
Acquisition.RaisonSociale, Bail.[Date de Prise d'effet Bail], Bail.[Date fin
bail]
FROM Copropriété INNER JOIN (((((Locataire INNER JOIN Bail ON
(Locataire.RéfLocataire = Bail.RéfLocataire) AND (Locataire.RéfLocataire =
Bail.RéfLocataire)) INNER JOIN Location ON Bail.RéfLocation =
Location.RéfLocation) INNER JOIN Propriétaire ON Location.RéfPropriétaire =
Propriétaire.RéfPropriétaire) INNER JOIN Acquisition ON
Location.RéfAcquisition = Acquisition.RéfAcquisition) INNER JOIN Insee ON
Bail.RéfINSEE = Insee.RéfInsee) ON Copropriété.RéfCopropriété =
Acquisition.RéfCopropriété
WHERE
(((Acquisition.RéfAcquisition)=IIf([Formulaires]![Publipostage]![Modifiable35]>-1,[Formulaires]![Publipostage]![Modifiable35],[acquisition].[réfacquisition]))
AND ((Bail.[Date de Prise d'effet
Bail])<=[Formulaires]![Publipostage]![datedébut]) AND ((Bail.[Date fin
bail])>=[Formulaires]![Publipostage]![datedébut] Or (Bail.[Date fin bail]) Is
Null) AND
((IIf([Formulaires]![Publipostage]![texte28]=0,0,[bail].[archivé]))=[Formulaires]![Publipostage]![texte28])
AND ((IIf([Formulaires]![Publipostage]![cadre45]=1,1,IIf([DateValidité
Attestation Assurance] Is Null,3,2)))=[Formulaires]![Publipostage]![cadre45])
AND
((IIf([Formulaires]![Publipostage]![Modifiable32]=1,1,IIf([typebail2]="Habitation",2,IIf([typebail2]="Local
commercial",3,IIf([typebail2]="Local d'activité",4,IIf([typebail2]="Local de
de
stockage",5,IIf([typebail2]="Stationnement",6)))))))=[Formulaires]![Publipostage]![Modifiable32])
AND
((IIf([Formulaires]![Publipostage]![Modifiable37]=1,1,IIf([ModeRéglement]="chèque",2,IIf([ModeRéglement]="virement",3,IIf([ModeRéglement]="mandat",4)))))=[Formulaires]![Publipostage]![Modifiable37])
AND
((IIf([Formulaires]![Publipostage]![Modifiable39]=1,1,IIf([FréquenceLoyer]="mois",2,IIf([FréquenceLoyer]="trimestre",3,IIf([FréquenceLoyer]="semestre",4,IIf([FréquenceLoyer]="année",5))))))=[Formulaires]![Publipostage]![Modifiable39]));
Avatar
Jessy Sempere [MVP]
Re,

Si j'avais su qu'elle était aussi longue, je ne l'aurais pas demandée...;-))

Bon à première vue, tu as des erreurs dans ta conditions Where.

Lorsque tu as fait tes critères, tu as utiliser des Iif() imbriqués mais tu
ne spécifis pas dans
ces cas là pour chacun des derniers iif imbriqué ce qu'il se passe si même
la dernière condition
n'est pas respecté...

Exemple pour un de tes IIf :

IIf([Formulaires]![Publipostage]![Modifiable32]=1,1,IIf([typebail2]="Habitat
ion",2,IIf([typebail2]="Local commercial",3,IIf([typebail2]="Local
d'activité",4,IIf([typebail2]="Local de de
stockage",5,IIf([typebail2]="Stationnement",6))))))=[Formulaires]![Publipost
age]![Modifiable32]

En fait dans le dernier, il te manque un argument :
IIf([typebail2]="Stationnement",6",MANQUE ARGUMENT")

Et c'est pareil pour chacun de tes IIf imbriqué.

Je ne sais pas mais c'est pas impossible que ça vienne de là.

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Ben" a écrit dans le message news:

Merci de votre réponse.
Voici la requête sql :

SELECT DISTINCTROW Locataire.RéfLocataire, Bail.[DateValidité Attestation
Assurance], Bail.TypeBail2, Acquisition.RéfAcquisition, Bail.Archivé,
Bail.ModeRéglement, Bail.FréquenceLoyer, Locataire.Personnalité,
Locataire.StructureJuridique, Locataire.Dénomination,
Locataire.CivilitéLOC,

Locataire.NomLOC, Locataire.PrénomLOC, Locataire.CivilitéCO,
Locataire.NomCO,

Locataire.PrénomCO, Locataire.AdresseLOCAV, Locataire.CodePostalLOCAV,
Locataire.VilleLOCAV, Location.RéférenceInterne, Location.EnvoiCourrier,
Copropriété.Adressec, Copropriété.Villec, Copropriété.CodePostalc,
Propriétaire.Prénom, Propriétaire.Adresse, Propriétaire.Ville,
Propriétaire.CodePostal, Propriétaire.Nom, Propriétaire.TélPersonnel,
Propriétaire.TéléphoneMobile, Propriétaire.Télsurdoc,
Propriétaire.Mobilesurdoc, Propriétaire.NumTélécopie,
Propriétaire.NomCourrierÉlec, Propriétaire.SiteInternet, Bail.RéfBail,
Bail.RéfLocataire, Bail.RéfLocation, Acquisition.RéfStructure,
Acquisition.RaisonSociale, Bail.[Date de Prise d'effet Bail], Bail.[Date
fin

bail]
FROM Copropriété INNER JOIN (((((Locataire INNER JOIN Bail ON
(Locataire.RéfLocataire = Bail.RéfLocataire) AND (Locataire.RéfLocataire > Bail.RéfLocataire)) INNER JOIN Location ON Bail.RéfLocation > Location.RéfLocation) INNER JOIN Propriétaire ON Location.RéfPropriétaire
Propriétaire.RéfPropriétaire) INNER JOIN Acquisition ON
Location.RéfAcquisition = Acquisition.RéfAcquisition) INNER JOIN Insee ON
Bail.RéfINSEE = Insee.RéfInsee) ON Copropriété.RéfCopropriété > Acquisition.RéfCopropriété
WHERE

(((Acquisition.RéfAcquisition)=IIf([Formulaires]![Publipostage]![Modifiable3

5]>-1,[Formulaires]![Publipostage]![Modifiable35],[acquisition].[réfacquisit
ion]))
AND ((Bail.[Date de Prise d'effet
Bail])<=[Formulaires]![Publipostage]![datedébut]) AND ((Bail.[Date fin
bail])>=[Formulaires]![Publipostage]![datedébut] Or (Bail.[Date fin bail])
Is

Null) AND

((IIf([Formulaires]![Publipostage]![texte28]=0,0,[bail].[archivé]))=[Formula

ires]![Publipostage]![texte28])
AND ((IIf([Formulaires]![Publipostage]![cadre45]=1,1,IIf([DateValidité
Attestation Assurance] Is
Null,3,2)))=[Formulaires]![Publipostage]![cadre45])

AND

((IIf([Formulaires]![Publipostage]![Modifiable32]=1,1,IIf([typebail2]="Habit

ation",2,IIf([typebail2]="Local
commercial",3,IIf([typebail2]="Local d'activité",4,IIf([typebail2]="Local
de

de

stockage",5,IIf([typebail2]="Stationnement",6)))))))=[Formulaires]![Publipos

tage]![Modifiable32])
AND

((IIf([Formulaires]![Publipostage]![Modifiable37]=1,1,IIf([ModeRéglement]="c

hèque",2,IIf([ModeRéglement]="virement",3,IIf([ModeRéglement]="mandat",4))))
)=[Formulaires]![Publipostage]![Modifiable37])
AND

((IIf([Formulaires]![Publipostage]![Modifiable39]=1,1,IIf([FréquenceLoyer]="

mois",2,IIf([FréquenceLoyer]="trimestre",3,IIf([FréquenceLoyer]="semestre",4
,IIf([FréquenceLoyer]="année",5))))))=[Formulaires]![Publipostage]![Modifiab
le39]));



Avatar
Ben
Cela ne fonctionne pas mieux.
Mais puisque mon publipostage fonctionne avec la requête sans les critères,
ne puis-je pas essayer de garder la requête sans critère, est les affecter
par code vba lors du lancement du publipostage ? Mais bon je ne sais pas
comment cela s'écrit...
Ben



Re,

Si j'avais su qu'elle était aussi longue, je ne l'aurais pas demandée...;-))

Bon à première vue, tu as des erreurs dans ta conditions Where.

Lorsque tu as fait tes critères, tu as utiliser des Iif() imbriqués mais tu
ne spécifis pas dans
ces cas là pour chacun des derniers iif imbriqué ce qu'il se passe si même
la dernière condition
n'est pas respecté...

Exemple pour un de tes IIf :

IIf([Formulaires]![Publipostage]![Modifiable32]=1,1,IIf([typebail2]="Habitat
ion",2,IIf([typebail2]="Local commercial",3,IIf([typebail2]="Local
d'activité",4,IIf([typebail2]="Local de de
stockage",5,IIf([typebail2]="Stationnement",6))))))=[Formulaires]![Publipost
age]![Modifiable32]

En fait dans le dernier, il te manque un argument :
IIf([typebail2]="Stationnement",6",MANQUE ARGUMENT")

Et c'est pareil pour chacun de tes IIf imbriqué.

Je ne sais pas mais c'est pas impossible que ça vienne de là.

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Ben" a écrit dans le message news:

Merci de votre réponse.
Voici la requête sql :

SELECT DISTINCTROW Locataire.RéfLocataire, Bail.[DateValidité Attestation
Assurance], Bail.TypeBail2, Acquisition.RéfAcquisition, Bail.Archivé,
Bail.ModeRéglement, Bail.FréquenceLoyer, Locataire.Personnalité,
Locataire.StructureJuridique, Locataire.Dénomination,
Locataire.CivilitéLOC,

Locataire.NomLOC, Locataire.PrénomLOC, Locataire.CivilitéCO,
Locataire.NomCO,

Locataire.PrénomCO, Locataire.AdresseLOCAV, Locataire.CodePostalLOCAV,
Locataire.VilleLOCAV, Location.RéférenceInterne, Location.EnvoiCourrier,
Copropriété.Adressec, Copropriété.Villec, Copropriété.CodePostalc,
Propriétaire.Prénom, Propriétaire.Adresse, Propriétaire.Ville,
Propriétaire.CodePostal, Propriétaire.Nom, Propriétaire.TélPersonnel,
Propriétaire.TéléphoneMobile, Propriétaire.Télsurdoc,
Propriétaire.Mobilesurdoc, Propriétaire.NumTélécopie,
Propriétaire.NomCourrierÉlec, Propriétaire.SiteInternet, Bail.RéfBail,
Bail.RéfLocataire, Bail.RéfLocation, Acquisition.RéfStructure,
Acquisition.RaisonSociale, Bail.[Date de Prise d'effet Bail], Bail.[Date
fin

bail]
FROM Copropriété INNER JOIN (((((Locataire INNER JOIN Bail ON
(Locataire.RéfLocataire = Bail.RéfLocataire) AND (Locataire.RéfLocataire > > Bail.RéfLocataire)) INNER JOIN Location ON Bail.RéfLocation > > Location.RéfLocation) INNER JOIN Propriétaire ON Location.RéfPropriétaire
Propriétaire.RéfPropriétaire) INNER JOIN Acquisition ON
Location.RéfAcquisition = Acquisition.RéfAcquisition) INNER JOIN Insee ON

Bail.RéfINSEE = Insee.RéfInsee) ON Copropriété.RéfCopropriété > > Acquisition.RéfCopropriété
WHERE

(((Acquisition.RéfAcquisition)=IIf([Formulaires]![Publipostage]![Modifiable3

5]>-1,[Formulaires]![Publipostage]![Modifiable35],[acquisition].[réfacquisit
ion]))
AND ((Bail.[Date de Prise d'effet
Bail])<=[Formulaires]![Publipostage]![datedébut]) AND ((Bail.[Date fin
bail])>=[Formulaires]![Publipostage]![datedébut] Or (Bail.[Date fin bail])
Is

Null) AND

((IIf([Formulaires]![Publipostage]![texte28]=0,0,[bail].[archivé]))=[Formula

ires]![Publipostage]![texte28])
AND ((IIf([Formulaires]![Publipostage]![cadre45]=1,1,IIf([DateValidité
Attestation Assurance] Is
Null,3,2)))=[Formulaires]![Publipostage]![cadre45])

AND

((IIf([Formulaires]![Publipostage]![Modifiable32]=1,1,IIf([typebail2]="Habit

ation",2,IIf([typebail2]="Local
commercial",3,IIf([typebail2]="Local d'activité",4,IIf([typebail2]="Local
de

de

stockage",5,IIf([typebail2]="Stationnement",6)))))))=[Formulaires]![Publipos

tage]![Modifiable32])
AND

((IIf([Formulaires]![Publipostage]![Modifiable37]=1,1,IIf([ModeRéglement]="c

hèque",2,IIf([ModeRéglement]="virement",3,IIf([ModeRéglement]="mandat",4))))
)=[Formulaires]![Publipostage]![Modifiable37])
AND

((IIf([Formulaires]![Publipostage]![Modifiable39]=1,1,IIf([FréquenceLoyer]="

mois",2,IIf([FréquenceLoyer]="trimestre",3,IIf([FréquenceLoyer]="semestre",4
,IIf([FréquenceLoyer]="année",5))))))=[Formulaires]![Publipostage]![Modifiab
le39]));