Flying Fox - Applying Visual FoxPro Reporting to Any Data, in Any Environment
Table of Contents


Chapter 1 Prepare your development environment

This short chapter gets you up and running in the VFP IDE, and tells you about installation requirements for using VFP in the book’s tutorial exercises.

Chapter 2 Bring your data into Visual FoxPro

You’re ready to get to work. This chapter shows you how to access and explore your data interactively in the VFP IDE.

Chapter 3 Create reports

In this section, you’ll use exactly the same syntax to access data that you used earlier, this time within a FoxPro report. You will learn some simple techniques for report design.

3.1 Adjust the VFP IDE
3.2 Open the VFP Report Designer
3.3 Add data instructions to the report
3.4 Save and run the report
3.5 Improve your Data Environment settings

Chapter 4 Customize your report layouts

For your first reports, you dragged a representation of your cursor data into the layout. You can also move individual columns into the layout by dragging and dropping them from the Data Environment, so you can position them more exactly.

In this section, you learn another simple way to get your data into the layout, and then start customizing the layout more completely.

4.1 Quick-start report designs
4.2 Load the Data Environment from a similar report
4.3 Test-run the report and its data-handling
4.4 Customize your report layout elements
4.5 Use Print When to print expressions selectively
4.6 Repeat, and refine, your layout customizations
4.7 Decide when to use Visual FoxPro expressions

Chapter 5 Communicate complex data

We have only skimmed the surface of what you can do, both for calculations on expressions and for formatting your results.

VFP provides a huge number of built-in functions for evaluating, calculating and displaying expressions of all types. The Report Designer surface gives you extensive abilities to size, move, and format controls of the various supported layout control types: labels, expressions, lines, shapes, and pictures. The Properties dialog, which displays tabs specific to each control type, exposes these abilities.

You’ll continue to see these options in use, throughout this tutorial. However, a full discussion of these language and design capabilities is beyond our scope. (The Visual FoxPro help file contains full details.) Now that you have the basics, this section concentrates on report design changes of types that are innately tied to your source data.

5.1 Show data groups
5.2 Handle multiple tables from your database
5.3 Relate multiple cursors in the VFP environment
5.4 Relate from the child to the parent
5.5 Use multiple cursors in a VFP report
5.6 Use multiple detail bands for multiple parent-child relationships
5.7 Use multiple detail bands without data relationships
5.8 Move on to improving the process

Chapter 6 Use objects to make the process repeatable

The first tool you need to improve your reporting process is a DataEnvironment you can create outside reports, and which you can attach to multiple reports. When the report runs, an instance of this class gives consistent behavior to all the reports. In this chapter, you learn how to create and subclass an appropriate DataEnvironment.

6.1 Introducing your first VFP class library
6.2 Adding your VFP DataEnvironment class' data-intelligence to a report
6.3 Introducing a generic VFP Class Library for Reporting
6.4 Running the report with your DataEnvironment
6.5 Moving on to a VFP reporting application

Chapter 7 Create a VFP reporting application

There are as many ways to create an application to deliver VFP reports as there are people who program in VFP. In this tutorial, my goal is not to teach you about all of them!

You have already learned to use VFP to create exciting and rich report layouts that leverage your data. Now you just want to get this layout in front of your users. My goal is to give you a simple set of steps that help you do it.

7.1 Introducing the _frxcommand object
7.2 Building a VFP reporting solution
7.3 Deploying your VFP reporting application
7.4 Understanding and preparing XML command files for _frxcommand
7.5 Providing end-user design sessions using _frxcommand and PROTECTED reports
7.6 Extending _frxcommand
7.7 Building a distributable VFP reporting solution
7.8 Some ideas and thoughts about invoking your VFP component in external applications

Go forth and get output results!