2010-04-20 19 views
1

J'ai une application VB6 utilisant Crystal Reports XI.Pourquoi RecordSelectionFormula rejette-t-il soudainement ma formule?

Après presque deux ans, je ne peux plus définir RecordSelectionFormula plus. Le message d'erreur indique que la syntaxe de base n'est pas autorisée dans la formule de sélection d'enregistrements.

La formule est {article.id} = 1234.

J'ai triplé cette formule. Cela fonctionne très bien dans le concepteur de Crystal Reports, mais même si j'enregistre cette formule et la change au moment de l'exécution en {article.id} = 1235, j'obtiens le même message d'erreur. De plus, il n'y a aucune raison pour que cela fonctionne tout le temps et soudainement non. Après googling, je trouve que quelques utilisateurs ont le même problème, mais depuis Crystal Reports 11 et VB6 sont un peu désuets, personne ne semble avoir de solution, sauf la mise à jour vers une version plus récente de Crystal Reports ou Visual Basic.

+0

Ceci est juste un tir dans l'obscurité, mais avez-vous essayé de passer l'argument en tant que chaîne? – PowerUser

Répondre

3

Courez-vous maintenant sur Vista? Crystal XI a connu des problèmes et il n'y a pas de patch. Cependant, Crystal XI Release 2 est un téléchargement gratuit pour les utilisateurs de Crystal Reports XI et combiné avec les packs de services suivants devrait résoudre certains problèmes:

http://resources.businessobjects.com/support/additional_downloads/service_packs/crxir2.asp

Il y a aussi cela, extrait d'un cache google d'un ancienne entrée de la base de connaissances CR:

KBase Numéro d'article: c2018734

article fait référence à: Crystal Reports XI Symptôme

Lorsqu'un Report Designer Component (RDC) Web XI ou application Windows passe une formule de sélection d'enregistrements à un rapport au moment de l'exécution, l'erreur suivante message apparaît:

« La syntaxe de base est pas pris en charge dans groupe/Formule de sélection d'enregistrement "

Pourquoi ce message d'erreur apparaît-il et comment le résolvez-vous? La résolution

Le message d'erreur s'affiche après qu'une application RDC a été mise à niveau à partir d'une version précédente . Par conséquent, la formule de sélection d'enregistrements est interprétée en tant que syntaxe de base, même si ce n'est pas la syntaxe de base.

Pour résoudre le message d'erreur, ajoutez ces lignes de code à votre application afin que leur exécution avant la sélection d'enregistrements formule est passé au rapport:

« rapport est le nom de la » rapport « objet

» définit la formule de sélection d'enregistrements à être interprété comme la syntaxe Crystal

rapport.FormulaSyntax = 0 'Utiliser crCrystalSyntaxFormula valeur

+0

Je n'ai pas effectué cette mise à niveau, mais définir 'FormulaSyntax' sur' crCrystalSyntaxFormula 'a fait l'affaire. Je vous remercie. –