2011-12-19 3 views
0

Я хочу отобразить некоторые записи в отчете о кристалле. для этого мне нужно рассчитать суммы сумм. Мне нужно вычислить сумму поля в таблице sql, и мне нужно использовать предложение where. в fomula разделе отчета кристалла я пишурасчет суммы в отчете кристалла в textobject

{open}+{{#RTotal1}- {#RTotal0}} 

, который дает ошибку. открытый - текстовый объект. где я ошибаюсь в этом.

значение открытого Itextobject передается из текстового поля формы Vb с помощью этого

DirectCast(GL2.Section2.ReportObjects("open"), CrystalDecisions.CrystalReports.Engine.TextObject).Text = TextBox8.Text 

я считаю, что проблема формула между textobject и fieldobject. где я ошибаюсь и что мне делать.

ответ

0

Я предполагаю, что {open} используется как текстовое поле, а не числовое. Crystal Reports имеет функцию, называемую ToNumber, которая преобразует числовой текст в число.

Вы должны были бы изменить формулу:

ToNumber({open})+{{#RTotal1}- {#RTotal0}} 

Как и все на кристалле; его лучше всего безопасно защищать от ошибок; Я бы использовал:

if NumericText({open}) and not isnull({open}) then 
    ToNumber({open})+{#RTotal1}- {#RTotal0} // text is numeric - use it. 
else 
    ({#RTotal1}- {#RTotal0}) // test is not a number, ignore it. 
Смежные вопросы