2010-01-25 35 views
7

Aquí hay un extraño problema que me he encontrado.Error 'No se conoce este nombre de campo' (Crystal Reports)

Mi récord fórmula de selección es el siguiente, he dumbed hacia abajo para fines de este error:

reportDocument.RecordSelectionFormula = " {@ClientName} = 'Smith' " 

Si copio esta declaración de selección exacta en Crystal preve bien, pero cuando se ejecuta desde .NET I obtener

'This field name is not known'.

el problema se produce en el campo @ClientName fórmula.

@ClientName simplemente contiene:

formula = {aw_illust.CL1LNAM} 

también puedo configurarlo para que sólo una cadena en blanco (fórmula = "") y todavía da

'This field name is not known.'

Aquí es la parte extraña, si omitir la fórmula y poner el texto de la fórmula directamente en .NET todo funciona bien.

reportDocument.RecordSelectionFormula = " {aw_illust.CL1LNAM} = 'Smith' " 

que es el mismo de selección de registros, excepto con el '@ClientName' fórmula reemplazado con '{aw_illust.CL1LNAM}'. Simplemente sucede en este informe, tengo muchos otros Crystal Reports trabajando con las fórmulas a las que se hace referencia en .NET. ¿Algunas ideas?

+0

Usted dice que está funcionando en otro lugar. ¿Publicaría una muestra que ilustre lo que quiere decir? – paulmelnikow

Respuesta

0

¿Qué sintaxis tiene la fórmula? Si es sintaxis de cristal, cámbielo a sintaxis básica. O cambie el contenido de la fórmula a sintaxis cristal (sin "fórmula =")

0

Puede crear un parámetro como {?ClientName} y configurarlo desde .NET, y luego poner una fórmula de selección en Crystal como {@ClientName} = {?ClientName}.

0

¿Se puede guardar el informe con los criterios de selección que le gustaría a continuación, mostrar lo que la clase reportDocument ve usando algo como:

TextBox1.text = reportDocument.RecordSelectionFormula 

Esto confirmaría que su sintaxis es correcta.

2

Lo más probable es que no esté utilizando su fórmula {@ClientName} en ningún lugar del informe; Crystal Reports tiende a ignorar campos, fórmulas, etc. sin usar. Coloque el campo {@ClientName} en algún lugar del informe (encabezado o alguna sección similar) y suprímalo. De esta forma, no se estropeará el diseño del informe, pero CR debería conocer esa fórmula posteriormente. .

Cuestiones relacionadas