Voici un problème étrange que j'ai rencontré.
Ma formule de sélection d'enregistrement est la suivante, je les ai muté à des fins de cette erreur: p> Si je copie cette instruction de sélection exacte à Crystal, il aperçu de l'amende, mais lorsqu'il est exécuté de .net, je reçois p> 'Ce nom de champ n'est pas connu'. p>
blockQquote> Le problème est survenant au champ code> @ClientName code> formule. p>
@ClientName code> contient simplement: p>
reportDocument.RecordSelectionFormula = " {aw_illust.CL1LNAM} = 'Smith' "
5 Réponses :
Quelle syntaxe a la formule? S'il s'agit de la syntaxe de cristal, changez-la en syntaxe de base. Ou modifier le contenu de la formule en syntaxe en cristal (sans "formule =") p>
Vous pouvez créer un paramètre comme {? nom de client} code> et réglez-le à partir de .NET, puis mettez une formule sélectionnée dans Crystal comme
{@? Nom de client} code>. p>
Pouvez-vous enregistrer le rapport avec les critères de sélection que vous souhaitez alors afficher ce que la classe Cela confirmerait que votre La syntaxe est correcte. p> p> Reportdocument code> en utilisant quelque chose comme:
Très probablement, vous n'utilisez pas votre formule {@ClientName} n'importe où sur le rapport; Les rapports de cristal ont tendance à ignorer les champs inutilisés, les formules, etc. Placez {@ClientName} Champ quelque part dans le rapport (en-tête ou à une partie similaire) et en supprimant - de cette façon, vous ne gâchez pas la conception du rapport, mais CR devrait savoir sur cette formule après . p>
Même s'est passé avec moi lorsque j'ai copié le rapport existant pour être utilisé comme nouveau, vous pouvez d'abord ouvrir le rapport dans la visionneuse de rapports, dans mon cas p>
Mais la requête selon laquelle le rapport de chargement n'a pas de sélection avec le nom Datelocal transaction forte> J'ai donc eu cette erreur, la résolution est de simplement utiliser uniquement celles qui sont nécessaires (les extras n'ont rien à voir avec l'erreur) ou renommer la valeur de sélection dans la requête. P>
Vous dites que cela fonctionne ailleurs - posteriez-vous un exemple illustrant ce que vous voulez dire?