halal90
Messages postés6Date d'inscriptionjeudi 7 février 2008StatutMembreDernière intervention23 juin 2008
-
18 mars 2008 à 20:50
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 2012
-
20 mars 2008 à 19:06
Bonjour,
j'ai un pbm avec :
- voici un bouton dont le code est :
Dim Qdsql As String, Client As String
Dim Qd As QueryDef
1.
Client = InputBox("Code du Client :")
Set Qd = DB.QueryDefs("Semis_Par_Date")
2.
Qdsql = "SELECT Bon_livraison.code_livraison,
Bon_livraison.code_client, Client_Coyote.Numetel_client,
Client_Coyote.Nom, Client_Coyote.Prenom, Client_Coyote.Numero_rue,
Client_Coyote.Adresse, Client_Coyote.[Code batiment],
Client_Coyote.CodePostal, Bon_livraison.code_commercial,
Bon_livraison.code_livreur, Bon_livraison.Date_commande,
Bon_livraison.Heure_commande, liste_bond_livraison.Code_Sandwich,
Code_article.Nom, liste_bond_livraison.qté, Code_article.Prix FROM
Client_Coyote INNER JOIN (Bon_livraison INNER JOIN (Code_article INNER
JOIN liste_bond_livraison ON Code_article.code_sand liste_bond_livraison.Code_Sandwich) ON Bon_livraison.code_livraison liste_bond_livraison.code_bon_livraison) ON Client_Coyote.Code_client =
Bon_livraison.code_client WHERE Bon_livraison.code_client= " + Client +
" ;"
Qd.SQL = Qdsql
3.
CrystalReport31.Action = 1
le crystalreport pointe vers une requête qui est la même sans la condition where.
lorsque je lance ce bouton, il me lance bien la partie 1 et 2 car les
variables sont bonne. en revanche quand je lance 3. il ne lance que la
requête qui est sur Access sans tenir compte de celle qui est en 2.
Le crystal report que j'utilise est le 4.5
MERCI d'avance de toute l'aide que vous pourriez m'apporter.
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 18 mars 2008 à 21:29
Salut,
laisses la clause where à crystal sous forme de :
CrystalReport31.SelectionFormula=
"{Bon_livraison.code_client}=" & Client
juste avant
CrystalReport31.Action = 1
<hr />
... Y'en a même qui disent qu'ils l'ont vu voler.
<hr />
/PRE>
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 18 mars 2008 à 23:29
Dim Client As String
Client = InputBox("Code du Client :")CrystalReport31.SelectionFormula"{ Semis_Par_Date .code_client}" & Client
CrystalReport31.Action = 1
et rien d' autre !
Si Semis_Par_Date est bien le nom de la requete qui est source de donnée pour ton etat.
D'autre part si ton champ code est numérique convertir ta vatiable code en numérique.
Si c' est une chaine:CrystalReport31.SelectionFormula"{ Semis_Par_Date .code_client}'" & Client & "'"
i <hr />
... Y'en a même qui disent qu'ils l'ont vu voler.
<hr />
/PRE>
halal90
Messages postés6Date d'inscriptionjeudi 7 février 2008StatutMembreDernière intervention23 juin 2008 19 mars 2008 à 22:56
semis_par_date n'est pas la requête, mais même avec cela ca ne marche pas.
j'ai créer une variable avec Client2 =Cint(Client)
lorsque je ne change pas semis_par date et que je met un int a Client
Dim Qdsql As String, Client2 As String
Dim Qd As QueryDef
Dim Client As Integer
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 20 mars 2008 à 19:06
Salut,
-Pour l' erreur "Un objet requis"
dans ton code je ne vois qu' un seul objet auququel peut
se rapporté l' erreur: CrystalReport31.
Est-tu sûr du nom de ton control ?.
-Pour le reste, désolé mais je ne vois pas comment tu as conçu ton etat.
Voilà comment perso je fais. Peut être que ça pourrait t' aider.
1°Je réalise mon etat en le liant à une source de données.
Ex: Table ou requete MesFactures.Et ce de façon général.Pour tous les clients.
2° Je nomme mon etat. (Factures.rpt)
3° Lorsque je veux éditer une facture pour un client déterminé,
je procède ainsi:
CrystalReport31.ReportFileName=<Chemin> + "\Factures.rpt"
CrystalReport31.DataFile(0)<CheminDelaBase>+NomDeLaBase
CrystalReport31.SelectionFormula=
"{MesFactures .code_client}=" + varClient
CrystalReport31.Action = 1