How to save crystal report result in VB App?

Posted on 2002-07-01
Medium Priority
Last Modified: 2010-05-02

I have a vb app that uses crystal report 8.0 to display database data in "table report" and images(*.bmp) files in "image report". I can print them but how can I save them into a file. Is there anyway I can save the table report as a word doc and the image report as any image file? I've seen something like the following with Crystal report 8.5:
 crystalReport1.PrintFileName = "C:tmp\myReport.??"

I am not sure if that is the way crystal report 8.5 save to file. But I can't even find the ".PrintFileName" function in 8.0. Can anyone help? Thanks in advance!

Question by:ahpui

Expert Comment

ID: 7122886
I can answer a part about saving Crystal report as a file (not sure about image file). You'll need to change settings of Crystal control properties (in VB project) destination to "To File" in general properties, then in PrintToFile properties - choose file format. Then write a code to give a path to the control, give it a title and so on. In my example I used RTF file.
CrRepExp.ReportFileName = App.Path & "\CoverPage.rpt"
CrRepExp.SelectionFormula = strSelect
CrRepExp.DiscardSavedData = True
Screen.MousePointer = vbHourglass
CrRepExp.PrintFileName = "file path\cov" & Dtm & ".rtf"
To save graphics you might need to use different file format. About image file - it doesn't have default settings for any. Try to experiment with different formats.
Hope that helps.

Author Comment

ID: 7123007
hi Allas,

in my vb app, I added crystal report as designer and  linked the designer to a database and create table with some of the database data fields. Then I use CRViewer control to show the resulting table as a report. My problem is I don't know how to save what I see from the CRViewer (the report) to a word doc or, if it's an image display, to an image file. Does my approach in creating the report conflict with what you proposed? if it does, is there other ways to create the report? How do I change the setting of the crystal control? I can't find the "PrintToFile" property.

Expert Comment

ID: 7123088
I used Crystal Report as control to call existing Crystal Report from VB. To get to the properties - put CR control on the form, right click your mouse and choose properties. In my case I was creating Crystal Report based on queries/tables from Access database and in VB I was attaching report to the control and in the code - set up report name, title, selection criteria and so on. This sample I sent you in previous answer works just fine but like I said you will loose some graphics when printing to file. PrintToFile is setting for Crystal Report control, not the viewer. I never tried CRViewer myself - not sure how do it this way. Alla
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.


Author Comment

ID: 7123163
hi Alla,

can you give me an example on creating report using CR control. Any links for sample code? Thanks!


Accepted Solution

Allas earned 800 total points
ID: 7124459
Good morning
To create report - open Crystal Report software. You can create report using report expert or from scratch. Through wizard it's pretty self explanatory. There is an option there to choose tables/queries from database as a base for the report. It'll build auto-report for you and then you can modify it. Save it.
In VB - put Crystal Report control on your form. Name control (in my example it's CrRepDebts). You could setup all properties by right clicking the mouse and choosing necessary options or set it up in the code - I prefer the code - gives you more flexibility (like setting date range for ex.). Put a commandButton control on the form and attach following code (modify it first) on Click event for this button. Sample of the code is:

strSelect = "{QryCensusDate_1A.FacCode}= '" & strFacil & "' and {QryCensusDate_1A.Date} in #" & mtStart & "# to #" & mtEnd & "# "
CrRepDebts.ReportFileName = App.Path & "\Sec1AMonthCens.rpt"
CrRepDebts.SelectionFormula = strSelect
CrRepDebts.DiscardSavedData = True
CrRepDebts.ReportTitle = "Section I.A. - Monthly Census for " & facName & "  for " & Format(mtEnd, "mmmm") & " - " & Year(mtEnd) & ""
Screen.MousePointer = vbHourglass
Screen.MousePointer = vbDefault

In this sample I filter table records to get specified by user month only and give it custom title. The end result is printing the report. You could setup CrystalReport control to print preview, print to printer, print to file.
To print to file - see sample in my first answer. Of course don't forget to substitute your report name and you might not need selection fomula.
Good Luck
LVL 101

Expert Comment

ID: 7134002

Expert Comment

ID: 7522831
Dear Allas
I've rejected your proposed answer as Experts Exchange holds an experiment to work without the answer button.

See: <http://www.experts-exchange.com/jsp/communityNews.jsp>
Paragraph: Site Update for Wednesday, November 06, 2002

By this rejection the Asker will be notified by mail and hopefully he will take his responsibility to finalize the question or post an additional comment.
The Asker sees a button beside every post which says "Accept This Comment As Answer" (including rejected answers) -- so if he/she thinks yours is the best, you'll be awarded the points and the grade.

EXPERTS: I will return in seven days to close this question.
Please leave your thoughts and recommendations here


Thanks !

Experts Exchange Moderator
LVL 49

Expert Comment

ID: 7970994
Hi ahpui,
It appears that you have forgotten this question. I will ask Community Support to close it unless you finalize it within 7 days. I will ask a Community Support Moderator to:

    Accept Allas's comment(s) as an answer.

ahpui, if you think your question was not answered at all or if you need help, just post a new comment here; Community Support will help you.  DO NOT accept this comment as an answer.

EXPERTS: If you disagree with that recommendation, please post an explanatory comment.
DanRollins -- EE database cleanup volunteer

Expert Comment

ID: 8018639
per recommendation

Community Support Moderator @Experts Exchange

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The debugging module of the VB 6 IDE can be accessed by way of the Debug menu item. That menu item can normally be found in the IDE's main menu line as shown in this picture.   There is also a companion Debug Toolbar that looks like the followin…
This article describes some techniques which will make your VBA or Visual Basic Classic code easier to understand and maintain, whether by you, your replacement, or another Experts-Exchange expert.
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Suggested Courses

829 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question