Hi Steve,
I've got Daniel's class working. Now I'm reading this article and I downloaded files too. I guess, instead of create report function I may use Doug's classes.
The first thing, I noticed, is where is a property for Page Layout (Normal or Landscape) ?
>Nadya,
>
>He has a class library that allows you to create a report programmatically, and then save the report as a report file. And it doesn't require Excel. *grin*
>
>Here is a little sample of some code that adds a field to a report:
>
>
>loObject = loDetail.AddItem('Text')
>loObject.cExpression = 'Country:'
>loObject.nVPosition = 1
>loObject.lFontBold = .T.
>loObject = loDetail.AddItem('Field')
>loObject.cExpression = 'CUSTOMER.COUNTRY'
>loObject.nWidth = fsize('COUNTRY', 'CUSTOMER')
>loObject.nVPosition = 1
>loObject.nHPosition = 10
>loObject.lFontBold = .T.
>
>You could create a generic function that loops through aFields() (or a list of fields in a mover box by the end user) and add the fields to the report. I think he has a sample that loops through fields in the download, but I think it needed a little more generalization.
>
>So, basically you would be using his class to create a report on the fly and print it.
>
>
>
>>>Hi Nadya,
>>>
>>>Have you looked at Doug's article on Report Objects at
www.stonefield.com? It has an example (and a download) that could probably be generalized for these types of listings.
>>
>>No, not yet. I like Daniel's solution, though. Could you please give me brief info about what's Doug code is about?
If it's not broken, fix it until it is.
My Blog