We help IT Professionals succeed at work.

Check out our new AWS podcast with Certified Expert, Phil Phillips! Listen to "How to Execute a Seamless AWS Migration" on EE or on your favorite podcast platform. Listen Now

x

csv files

Amanda080598
Amanda080598 asked
on
Medium Priority
541 Views
Last Modified: 2008-01-16
I am working on a VB program that needs to use  a Crystal Report to print out a .CSV file.  Can this be done?  If so, how?
Comment
Watch Question

Commented:
I don't know about using CR to do it, but the following code is the way I've always created .csv files:

lfreefile = FreeFile
Open "outfile.txt" For Output As #lfreefile
Write #lfreefile, val1, val2, val3, val4,.....
Close #lfreefile


Commented:
By CSV can I assume you mean comma seperated values?
If so, yes Crystal Reports can export to that.

As I'm not 100% sure this is what you mean, I am submitting this as a comment.  If it solves your problem, let me know and I'll resubmit it as an answer.

Commented:
Oops, forgot the how part.

  CrystalReport1.PrintFileName = "TestFile.csv"
  CrystalReport1.PrintFileType = 4
  CrystalReport1.Action = 1

Author

Commented:
clifABB,

I tried your code, but I am getting a debug message which points to CrystalReport1.Action = 1 with an error message "Invalid report file name."  Please help me locate the problem.  Thank you!

Author

Commented:
clifABB,

Please explain why you used 4 after PrintFileType and 1 after Action.

Thank you!

Commented:
You need to specify the crystal report you want to export.  Do you have that file (rpt file) already created?  If so, you need to add the following code before the three lines above:

CrystalReport1.ReportFileName = "MyReport.rpt" 'This is the name of the report file you created with Crystal Reports
CrystalReport1.Destination = 2 ' File


Author

Commented:
clifABB,


I am new to all this.

I have a file (.csv) that has to be printed as a report.  When I try to create a report in CR, it doesn't recognize a .csv file as a valid database/source.

How do I create a report from a .csv file and print it?

Thank you!

Commented:
Create the report in Crystal.  When you save it, it will be saved as an rpt file.  You will use this file within VB as noted above.
Crystal doesn't actually create csv files, however, using the code above, you can export to a csv file.

Author

Commented:
The .csv file has already been created in the VB application.  What I need to do is use the CR to print the .csv file while the application is running.  I used a CR control with your code.  The application will have a print button which will print the .csv file in a CR report format.   How would I do this ?  

Commented:
Oh, I see.  Excuse me for not understanding before.

You must first create an ODBC connection to your csv file.

To do this, you must start your ODBC administrator.  This can be found in the control panel.
To add a new connection, Click "Add" And then select "Microsoft Text Driver" from the list.  Then click Finish.

Type the Data Source name (which is what you want to appear in the ODBC list)
Uncheck "Use Current Directory" then click the "Select Directory" button and select the directory where your csv file exists.
Click Ok, and click Ok.

Now, start your Crystal Report Designer.  Select the type of report you want.  Now the select database screen appears.  Select SQL/ODBC which will display a list of the ODBC drivers available.  Select ODBC - Text Files from the list.  Click Ok and you're on your way.

Author

Commented:
clifABB,

Thank you for the information above.  I completed entering all the information, but when I run the program the CrystalReport1.Action = 1 debugs with an error message <property is write-only>.  Also, error 20514 keeps popping up.

CrystalReport1.ReportFileName = "File001.rpt"
CrystalReport1.Destination = 2 ' File
   
CrystalReport1.PrintFileName = "File001.csv"
   
CrystalReport1.PrintFileType = crptCSV
   
CrystalReport1.Action = 1

Please let me know, if this is correct.

Thank you so much for your help.

Commented:
The original setting I had given you were when I thought you wanted CR to write out a csv.  You should now change those lines to this:
CrystalReport1.ReportFileName = "File001.rpt" 'Or whatever you call the report file you created

CrystalReport1.Destination = 0 'This will allow a print preview.  Or 1 to go to the printer    

CrystalReport1.Action = 1

Author

Commented:
clifABB,

It worked.  Thank you for all your help!

Please send  your comment as an answer, so  I may grade you.
Commented:
Unlock this solution and get a sample of our free trial.
(No credit card required)
UNLOCK SOLUTION

Author

Commented:
Adjusted points to 100
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a sample view!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.