Click to See Complete Forum and Search --> : how do i get started using crystal reports?
Garn
Aug 31st, 2004, 08:16 AM
i want to make a report from VB6 where i use crystal reports.. but i got no idea what so ever how to do it and how to get started...
the report will have to use more then 1 recordset and 4 or 5 SQL statements any help would be great
best regards
Garn
RobDog888
Aug 31st, 2004, 11:33 PM
The requirement of more than one recordset and multiple sql
statements sound like it should be optimized first. I think if you
could get the recordset down to one that would help the most.
What is the requirement of having multiple sql statements?
Filtering? Could be done through supressing or selection expert.
Either way, create the report and use ADO recordset like below.
Option Explicit
'Add reference to Crystal Reports x.x ActiveX Designer RunTime Library
'Add component Crystal Reports Viewer Control
'Add reference to Microsoft ActiveX Data Objects 2.x Library
'oCnn = current open ADO connection object
Private Sub Command1_Click()
Dim oApp As CRAXDRT.Application
Dim oReport As CRAXDRT.Report
Dim oRs As ADODB.Recordset
Dim sSQL As String
sSQL = "SELECT * FROM Table1"
Set oRs = New ADODB.Recordset
Set oRs = oCnn.Execute(sSQL)
Set oApp = New CRAXDRT.Application
Set oReport = oApp.OpenReport(App.Path & "\MyReport.rpt", 1)
oReport.Database.SetDataSource oRs, 3, 1
crvMyCRViewer.ReportSource = oReport
crvMyCRViewer.ViewReport
End Sub:)
Garn
Sep 2nd, 2004, 03:35 AM
hey rob thanks for your reply.
the reason that i use mroe then 1 RS is that if the value is 1 then it has to get the name from another table and if its 2 from a 3th one.
something like this.
if ID1 = 100 then
get from table1
else
if ID1 = 200
get from table2
else
get from table3
end if's
the diffent contacts have alot of functions to the company and therefor they are damn hard to work with, and there is no way of getting them in 1 sql statement (i wise thoe).
just an idea.... can i send a RS to the report from another VB function... cuz then i should create a RS and fill it with the right info..
Garn
ps. i have never used the report thingies in VB before so im just guessing :)
RobDog888
Sep 2nd, 2004, 12:45 PM
In my previous post code example that is exactly what I am doing.
oRs is a recordset. Modify the sSQL statement to create yours.
VB/Outlook Guru
billcoupe
Sep 3rd, 2004, 10:22 AM
RobDog -
I know your example was for VB6, but could you illustrate a similar code segment in VB.Net? I've been having trouble instantiating reports that are not part of the compiled app and being able to link in the correct dataset.
This alone could save me a ton of code to handle selections.
Thanks!
-Bill
vbforums.com
Copyright Internet.com Inc., All Rights Reserved.