nardmoseley
Comments
-
------------------------------------------------------
Tech Tip: Calculating a Summary based on Group Totals
------------------------------------------------------
Question: I am using a Variable in the Group Footer to con… -
Check the Help | About box of the report designer to determine the exact RB
version that you are using.
When I test using RB 9.03, RAP recognizes the TdaSQLBuilder.ApplyUpdates
method. This is method was not exposed to R… -
I tested here using RB 9.03 and was able to get it working.
RB 9.03 recognizes the TdaSQLBuilder. ApplyUpdates method in RAP.
The call to ApplyUpdates is necessary to force the SQL to regenerate (I
tested with and w… -
The available DataPipelines are shown in the RAP Code Toolbox. The name
displayed for each pipeline is the value of the DataPipeline.UserName. RAP
supports a special syntax in which you can use the UserName directly in your
c… -
ReportBuilder 9 includes adds a new TdaSQLBuilder class that can be used to
modify the SQL associated with a datapipeline. There is a new
Report.BeforeOpenDataPipelines event that can be used to modify the SQL
prior to the da… -
My thought was that you could use the OnGetAutoSearchValues event to open
the first pipeline:
myPipelineA.Open; // open first pipeline
{ add more code here..}
-
Try using the Report.OnGetAutoSearchValues event. It fires after the user
has entered the autosearch value and before the datapipelines have been
opened.
-
There were no major changes made for RB 9.03. Perhaps you have a corrupt
installation. See article below.
Try the following test:
1. Test at Delphi design-time
2. Test at run-time (.exe)
3. Tes… -
I would try using the AddByIndex method. Once you add the Calc field I think
it will become the last field in the available list.
liCalcField := lSQLBuilder.OrderByFields.AvailableCount-1;
lSQLBuilder.OrderByFields.… -
Try setting Report.CachePages to True and in your event-handler code check
if Report.FirstPass then
begin
end;
-
1. Try removing the 'var' from the RAP function signature for DrawLineCMD.
2. Modify the Delphi library path to include RBuilder\Source and trace in
the debugger
3. If you still have an issue, create a simple exampl… -
Its going to simpler to code a few RAP pass-thru functions.
However, if you want to extend the RTTI you need to add support for any
public properties that you wish to access (only published properties are
supported by de… -
By default, not all of the properties and methods are exposed to RAP. You
can easily extend RAP, see the following article.
--------------------------------------------------
Article: Extending RAP
-----------------… -
For the Delphi IDE a new component is added by installing a package. For the
runtime designer, a new component is added by adding a reference to the
'uses' clause. (see article below).
Open the form upon which the TppDes… -
Sorry, there is no built-in feature to skip records. You can modify the SQL
to select the records that are applicable. Another solution is to use the
detailband.BeforePrint event to toggle the DetailBand.Visible property.
There is no way to control the detail SQL for each master record, that is
not how the Data workspace linking is implemented. The Data workspace linkes
the datapipelines and generates special linking SQL for the detail dataview.
Make sure that Transparent is set to False, When Transparent is set to True
(the default), the Color will never be used to render the element.
Try this...
- exit out of Delphi
- delete RBuilder.ini from the Windows directory
- restart Delphi
Internally variants are used. Perhaps there is limitation on the length of
variant strings. I tied to search for information about this but did not
find anything.
RAP supports TStringList. One solution might be to pass a…
Pagination is determined during the first pass, therefore a two pass report
will not provide a solution.
One option might be create a summary query that performs the calcs using SQL
Another option is to pre-process …
For simplicity I recommend that you test this report in a non-server
environment (that should provide the same calc resutls).
I checked back at bug fixes and there is a fix to TppVariable that was made
for RB 9.03 and is…
The global variable is likely the cause of the problem. Accumlations need to
done by TppVariabl components.
The TppVariable components have the ability to save/restore intermediate
results between pages. A global variabl…
It is hard to diagnose the issue from the description alone. Is this a
simple report, or a report that includes subreports? Is the variable in the
main report or a subreport?
If possible, please create a simple exa…
This is a bug in RB 10, please send an email to
support@digital-metaphors.com and request the patch.
a. One option is to use TraProgram.BodyText to read and write the constant
declarations. For the global constant program, that BodayText string will
return the entire declaration as a single string.
const
myFirstC…
1. For a group, try placing a line at the top of the group footer.
2. For the last detail line on a page, try the following example. The
example is in Delphi code, you will need to convert it to RAP code (see
article bel…
RAP has no way to check for this type of error. This an example of a
run-time error, it is not a syntax error.r.
The syntax, myPipeline['xxx'], is correct. At run-time the statement
executes and resolves to Null. Which …
1. If the field 'xxx' does not exist then a statement such as
myPipeLine['xxx']
will return null. Thus when used in a boolean expression it is evaluating
to false, but when used in an arithmetic expression is resul…
- use the Chr function
Example:
Memo1.Lines.Text := 'Hello' + Chr(13) + Chr(10) + 'World';
- I think they are still needed.
- HasParams and IsFunction both default to True. HasParams is overriden in a
few descendants that do not require parameters.. for example the CurrentDate
function. Same with IsFunction.