Question

A Crystal Report in an upgraded vb.net 2008 project comes up blank

Asked by: accucom

I am trying to upgrade a vb.net project from 2003 over to 2008 and most everything seems to work fine, but when I go to a section where it displays a Crystal Report within a frame, it at least shows the header, footer, and any fixed text, but does not seem to show from the fields used from my query from an Access Database.  All this worked in vb.net 2003 but is behaving differently in 2008.  I tried installing updates and still the same thing happened.  Please advise as I am including a snippet of the code involved when I press a button to generate the report.

Imports System.Data
Imports System.Data.OleDb
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.ReportSource
Imports CrystalDecisions.Shared
Public Class frmReport
    Inherits System.Windows.Forms.Form
 
#Region " Windows Form Designer generated code "
 
    Public Sub New()
        MyBase.New()
 
        'This call is required by the Windows Form Designer.
        InitializeComponent()
 
        'Add any initialization after the InitializeComponent() call
 
    End Sub
 
    'Form overrides dispose to clean up the component list.
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub
 
    'Required by the Windows Form Designer
    Private components As System.ComponentModel.IContainer
 
    'NOTE: The following procedure is required by the Windows Form Designer
    'It can be modified using the Windows Form Designer.  
    'Do not modify it using the code editor.
    Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox
    Friend WithEvents txtFromDate As System.Windows.Forms.TextBox
    Friend WithEvents txtToDate As System.Windows.Forms.TextBox
    Friend WithEvents Label1 As System.Windows.Forms.Label
    Friend WithEvents Label2 As System.Windows.Forms.Label
    Friend WithEvents btnRetrieve As System.Windows.Forms.Button
    Friend WithEvents CrystalReportViewer1 As CrystalDecisions.Windows.Forms.CrystalReportViewer
    Friend WithEvents OleDbDataAdapter1 As System.Data.OleDb.OleDbDataAdapter
    Friend WithEvents OleDbSelectCommand1 As System.Data.OleDb.OleDbCommand
    Friend WithEvents OleDbInsertCommand1 As System.Data.OleDb.OleDbCommand
    Friend WithEvents chkFutureDates As System.Windows.Forms.CheckBox
    Friend WithEvents chkDeceasedInc As System.Windows.Forms.CheckBox
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Me.GroupBox1 = New System.Windows.Forms.GroupBox
        Me.Label2 = New System.Windows.Forms.Label
        Me.Label1 = New System.Windows.Forms.Label
        Me.txtToDate = New System.Windows.Forms.TextBox
        Me.txtFromDate = New System.Windows.Forms.TextBox
        Me.btnRetrieve = New System.Windows.Forms.Button
        Me.CrystalReportViewer1 = New CrystalDecisions.Windows.Forms.CrystalReportViewer
        Me.OleDbDataAdapter1 = New System.Data.OleDb.OleDbDataAdapter
        Me.OleDbInsertCommand1 = New System.Data.OleDb.OleDbCommand
        Me.OleDbSelectCommand1 = New System.Data.OleDb.OleDbCommand
        Me.chkFutureDates = New System.Windows.Forms.CheckBox
        Me.chkDeceasedInc = New System.Windows.Forms.CheckBox
        Me.GroupBox1.SuspendLayout()
        Me.SuspendLayout()
        '
        'GroupBox1
        '
        Me.GroupBox1.Controls.Add(Me.Label2)
        Me.GroupBox1.Controls.Add(Me.Label1)
        Me.GroupBox1.Controls.Add(Me.txtToDate)
        Me.GroupBox1.Controls.Add(Me.txtFromDate)
        Me.GroupBox1.Location = New System.Drawing.Point(8, 8)
        Me.GroupBox1.Name = "GroupBox1"
        Me.GroupBox1.Size = New System.Drawing.Size(392, 56)
        Me.GroupBox1.TabIndex = 0
        Me.GroupBox1.TabStop = False
        Me.GroupBox1.Text = "Date Parameters"
        '
        'Label2
        '
        Me.Label2.Location = New System.Drawing.Point(208, 24)
        Me.Label2.Name = "Label2"
        Me.Label2.Size = New System.Drawing.Size(40, 12)
        Me.Label2.TabIndex = 4
        Me.Label2.Text = "To:"
        '
        'Label1
        '
        Me.Label1.Location = New System.Drawing.Point(40, 24)
        Me.Label1.Name = "Label1"
        Me.Label1.Size = New System.Drawing.Size(40, 12)
        Me.Label1.TabIndex = 3
        Me.Label1.Text = "From:"
        '
        'txtToDate
        '
        Me.txtToDate.Location = New System.Drawing.Point(248, 24)
        Me.txtToDate.Name = "txtToDate"
        Me.txtToDate.TabIndex = 2
        Me.txtToDate.Text = ""
        '
        'txtFromDate
        '
        Me.txtFromDate.Location = New System.Drawing.Point(88, 24)
        Me.txtFromDate.Name = "txtFromDate"
        Me.txtFromDate.TabIndex = 1
        Me.txtFromDate.Text = ""
        '
        'btnRetrieve
        '
        Me.btnRetrieve.Location = New System.Drawing.Point(608, 16)
        Me.btnRetrieve.Name = "btnRetrieve"
        Me.btnRetrieve.Size = New System.Drawing.Size(112, 32)
        Me.btnRetrieve.TabIndex = 3
        Me.btnRetrieve.Text = "Retrieve Records"
        '
        'CrystalReportViewer1
        '
        Me.CrystalReportViewer1.ActiveViewIndex = -1
        Me.CrystalReportViewer1.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
                    Or System.Windows.Forms.AnchorStyles.Left) _
                    Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
        Me.CrystalReportViewer1.Location = New System.Drawing.Point(16, 80)
        Me.CrystalReportViewer1.Name = "CrystalReportViewer1"
        Me.CrystalReportViewer1.ReportSource = Nothing
        Me.CrystalReportViewer1.Size = New System.Drawing.Size(696, 360)
        Me.CrystalReportViewer1.TabIndex = 0
        '
        'OleDbDataAdapter1
        '
        Me.OleDbDataAdapter1.InsertCommand = Me.OleDbInsertCommand1
        Me.OleDbDataAdapter1.SelectCommand = Me.OleDbSelectCommand1
        Me.OleDbDataAdapter1.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "NED", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("DOE", "DOE"), New System.Data.Common.DataColumnMapping("Event", "Event"), New System.Data.Common.DataColumnMapping("Name", "Name")})})
        '
        'OleDbInsertCommand1
        '
        Me.OleDbInsertCommand1.CommandText = "INSERT INTO NED(DOE, Event, Name) VALUES (?, ?, ?)"
        Me.OleDbInsertCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("DOE", System.Data.OleDb.OleDbType.DBDate, 0, "DOE"))
        Me.OleDbInsertCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Event", System.Data.OleDb.OleDbType.VarWChar, 255, "Event"))
        Me.OleDbInsertCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Name", System.Data.OleDb.OleDbType.VarWChar, 255, "Name"))
        '
        'OleDbSelectCommand1
        '
        Me.OleDbSelectCommand1.CommandText = "SELECT DOE, Event, Name FROM NED"
        '
        'chkFutureDates
        '
        Me.chkFutureDates.Checked = True
        Me.chkFutureDates.CheckState = System.Windows.Forms.CheckState.Checked
        Me.chkFutureDates.Location = New System.Drawing.Point(408, 16)
        Me.chkFutureDates.Name = "chkFutureDates"
        Me.chkFutureDates.Size = New System.Drawing.Size(192, 16)
        Me.chkFutureDates.TabIndex = 1
        Me.chkFutureDates.Text = "Exclude Names with Future Dates"
        '
        'chkDeceasedInc
        '
        Me.chkDeceasedInc.Location = New System.Drawing.Point(408, 40)
        Me.chkDeceasedInc.Name = "chkDeceasedInc"
        Me.chkDeceasedInc.Size = New System.Drawing.Size(200, 24)
        Me.chkDeceasedInc.TabIndex = 2
        Me.chkDeceasedInc.Text = "Include Deceased Clients"
        '
        'frmReport
        '
        Me.AcceptButton = Me.btnRetrieve
        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
        Me.ClientSize = New System.Drawing.Size(728, 454)
        Me.Controls.Add(Me.chkDeceasedInc)
        Me.Controls.Add(Me.chkFutureDates)
        Me.Controls.Add(Me.CrystalReportViewer1)
        Me.Controls.Add(Me.btnRetrieve)
        Me.Controls.Add(Me.GroupBox1)
        Me.Name = "frmReport"
        Me.Text = "Reports"
        Me.GroupBox1.ResumeLayout(False)
        Me.ResumeLayout(False)
 
    End Sub
 
#End Region
    Dim sSQL As String
    Dim strFrom As String
    Dim strTo As String
    Dim strNlkupSQL As String
    Dim blnNlkup As Boolean
 
    Private Sub btnRetrieve_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRetrieve.Click
        Dim intCnt As Integer
        Dim strMsg As String
        Dim dsAllWill1 As New dsAllWill
 
        'build SQL statement
        sSQL = "SELECT RecID, Name, Event, DOE FROM AllWill"
 
        Try
            strFrom = Date.Parse(txtFromDate.Text).ToShortDateString.ToString
        Catch ex As Exception
            strFrom = ""
        End Try
        Try
            strTo = Date.Parse(txtToDate.Text).ToShortDateString.ToString
        Catch ex As Exception
            strTo = ""
        End Try
        sSQL = sSQL & " WHERE "
        If ((strFrom.Trim.Length + strTo.Trim.Length) > 0) Then
            If (strFrom.Trim.Length > 0) Then
                sSQL = sSQL & " DOE >= #" & strFrom.Trim & "# AND "
            End If
            If (strTo.Trim.Length > 0) Then
                sSQL = sSQL & " DOE <= #" & strTo.Trim & "# AND "
                If (chkFutureDates.Checked) Then
                    sSQL = sSQL & " NAME IN (SELECT NAME FROM NameLkup where not(blnReport)) AND "
                End If
            End If
        End If
        strNlkupSQL = " NAME IN (SELECT NAME FROM NameLkup where "
        blnNlkup = False
        If (strTo.Trim.Length > 0 And chkFutureDates.Checked) Then
            strNlkupSQL = strNlkupSQL & " not(blnReport) AND "
            blnNlkup = True
        End If
        If Not (chkDeceasedInc.Checked) Then
            strNlkupSQL = strNlkupSQL & " not(blnRemoved) AND "
            blnNlkup = True
        End If
        strNlkupSQL = strNlkupSQL + "true) AND "
        If blnNlkup Then
            sSQL = sSQL & strNlkupSQL
        End If
        sSQL = sSQL & " true "
 
        sSQL = sSQL & " ORDER BY Name, DOE, Event"
        If (chkFutureDates.Checked And strTo.Trim.Length > 0) Then
            Dim tSQL As String
            tSQL = "Update NameLkup Set blnReport=false"
            OleCn = New OleDbConnection(gstrConnectionString)
            OleCn.Open()
            OleDbDataAdapter1.UpdateCommand = New OleDbCommand(tSQL)
            OleDbDataAdapter1.UpdateCommand.Connection = OleCn
            OleDbDataAdapter1.UpdateCommand.ExecuteNonQuery()
            OleCn.Close()
 
            tSQL = "Update NameLkup Set blnReport = true where name in " & _
                   "(select name from AllWill where DOE > #" & strTo.Trim & "#)"
            OleCn = New OleDbConnection(gstrConnectionString)
            OleCn.Open()
            OleDbDataAdapter1.UpdateCommand = New OleDbCommand(tSQL)
            OleDbDataAdapter1.UpdateCommand.Connection = OleCn
            OleDbDataAdapter1.UpdateCommand.ExecuteNonQuery()
            OleCn.Close()
        End If
 
        OleCn = New OleDbConnection(gstrConnectionString)
        OleCn.Open()
        Try
            OleDbDataAdapter1.SelectCommand.CommandText = sSQL
            OleDbDataAdapter1.SelectCommand.Connection = OleCn
            OleDbDataAdapter1.Fill(dsAllWill1, "AllWill")
        Catch ex As Exception
            dsAllWill1.Clear()
        End Try
        OleCn.Close()
        intCnt = dsAllWill1.Tables("AllWill").Rows.Count
        If intCnt = 0 Then
            strMsg = "Nothing qualified"
            If ((strFrom.Trim.Length + strTo.Trim.Length) > 0) Then
                strMsg = strMsg & " from " & strFrom.Trim & " to " & strTo.Trim & "."
            End If
            MessageBox.Show(strMsg, "Date Parameters", MessageBoxButtons.OK, MessageBoxIcon.Information)
        Else
            'Perform report
            Dim rpt As New AllCustomers
            rpt = New AllCustomers
            rpt.SetDataSource(dsAllWill1)
            Me.CrystalReportViewer1.ReportSource = rpt
        End If
        dsAllWill1.Clear()
    End Sub
 
End Class

                                  
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
269:
270:
271:
272:
273:
274:
275:
276:
277:
278:
279:
280:
281:

Select allOpen in new window

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2009-10-15 at 12:37:55ID24816136
Tags

vb.net 2008

,

Crystal Reports

,

Visual Studio 2008

Topics

Crystal Reports Software

,

Visual Studio

,

Microsoft Visual Basic.Net

Participating Experts
1
Points
500
Comments
17

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. VB.Net: Open a Crystal Report
    I need to know how to open a crystal report in a server side web app using VB.net when clicking on a button Private Sub cmdReports_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdReports.Click End Sub Say the report is called "Repo...
  2. Formatting Crystal Reports in VB.NET
    Using Crystal report 8.5 and VB.NET, how do I format the data in a crystal report using CSS kind of functionality ?
  3. vb.net crystal Reports group Footer
    I have created a report using Crystal that is bundled with VS.n2t 2005. Im using VB.net . The report is populated by a single datasettable created by a sql select statement. The sqlStatement generated all the data I require for the report however( always a however) I need a f...
  4. how to group in a crystal report based on formula using vb…
    how to group in a crystal report based on formula using vb.net

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: TheLearnedOnePosted on 2009-10-16 at 05:26:41ID: 25588821

Is the report pretty complicated, or can it be recreated in the new version?  Crystal Reports has a lot of quirky edges, that are difficult to smooth out, and sometimes it is just better to start over again.

 

by: accucomPosted on 2009-10-16 at 10:29:10ID: 25591516

It's a very simple report that references a dataset to get the data fields.  I tried to update the datasource location and it still came up with blank detail.  I notice when I preview the report, it shows generic data with a group header of "Monday" and few other days of the week along with details such as "Fuchsia", "Yellow" and other colors, and a date field each to the right of the colors.  I'm not sure if there's a way to debug a Crystal Report while in visual studio 2008 to see what's going on.

 

by: TheLearnedOnePosted on 2009-10-16 at 10:40:53ID: 25591601

1) There isn't any way to debug a report (ooh, I wish!!)

2) Previewing a report does show sample data.

3) I know that if you don't have the table elements with the right name in your data source then the report can show blank values.

4) Are you using the "push" method, or the "pull" method (i.e. are you called Report.SetDataSource)?

 

by: accucomPosted on 2009-10-16 at 10:52:34ID: 25591692

Hmmm, I'm not sure which is push or pull.  Here's the code from lines 272-276 above which calls the Crystal Report.

            'Perform report
            Dim rpt As New AllCustomers
            rpt = New AllCustomers
            rpt.SetDataSource(dsAllWill1)
            Me.CrystalReportViewer1.ReportSource = rpt

 

by: TheLearnedOnePosted on 2009-10-16 at 10:55:43ID: 25591720

Calling SetDataSource is, by its very nature, a "push" operation.  Your application would be responsible for getting the data, and not the Crystal Report (which "pulls" data from the source).  The "pull" method is frought with problems, and it is easier for you to get your own data, and push it to the report.

One problem with DataSets, is the default table names (Table, Table1, Table2, Table3).  How are you building the DataSet, and are you mapping table names that match the report definition table names?

 

by: accucomPosted on 2009-10-16 at 11:14:32ID: 25591914

my datasource in dsAllWill.xsd has 4 fields:  RecID (Int64), Name (String), Event (String), & DOE (DateTime) as I believe the table name is called AllWill based on DataTable Name.

I also have in a Microsoft Access Database a table called "AllWill" with the same field structure only the datasource is a subset based on what I have the user enter on the form for the reporting.

 

by: TheLearnedOnePosted on 2009-10-16 at 11:16:49ID: 25591936

That is all well and good in theory, but in practice that can be a different story.

Example:
Use an OleDbDataAdapter to fill a DataSet with the Fill method, and the default table name will be "Table", and not "AllWill".

 

by: accucomPosted on 2009-10-16 at 11:55:49ID: 25592287

Through the debugger I see it executing the following 3 commands:

            OleDbDataAdapter1.SelectCommand.CommandText = sSQL
            OleDbDataAdapter1.SelectCommand.Connection = OleCn
            OleDbDataAdapter1.Fill(dsAllWill1, "AllWill")

I also am able to get a count value with dsAllWill1.Tables("AllWill").Rows.Count and an SQL command with:
"SELECT RecID, Name, Event, DOE FROM AllWill WHERE  NAME IN (SELECT NAME FROM NameLkup where  not(blnRemoved) AND true) AND  true  ORDER BY Name, DOE, Event"

While I can see the design and apparently make changes to the existing crystal report, I wish I could create a new rpt from scratch while in visual studio if that's all it takes but I can't seem to find an option for that.  I feel like I'm so close yet not quite.

 

by: TheLearnedOnePosted on 2009-10-16 at 12:05:02ID: 25592360

That Fill method signature uses table mapping, which is what I was asking about earlier.  

I would like to check the Database Expert, and make sure that the table names match (Crystal Reports | Database | Database Expert menu).

Example shown in snapshot:





 

by: accucomPosted on 2009-10-16 at 12:27:19ID: 25592508

In this printscreen from my database expert.  I notice I don't have the table in my current connections as I wonder if that's what I'm missing.  Strange that it all worked when in VB.net 2003.

 

by: TheLearnedOnePosted on 2009-10-19 at 05:47:35ID: 25604632

Since I never used Crystal Reports with 2003, I can't comment on why it would have worked before, but doesn't now.  Crystal is full of all kinds of a little traps like that.

 

by: accucomPosted on 2009-10-19 at 06:17:13ID: 25604850

I wonder if it has anything to do with my running Visual Studio 2008 on an XP instead of Vista or Windows 7 if that matters any.

 

by: TheLearnedOnePosted on 2009-10-19 at 06:24:48ID: 25604909

I doubt that what you are seeing is an operating system problem, but more of a new version of Crystal Reports, that you are not used to.

 

by: accucomPosted on 2009-10-22 at 09:03:03ID: 25635760

Here's an update with where I am with my crystal report as I reinstalled visual studio 2008 along with Crystal Reports 2008 on a Windows 7 operating system.  I was able to at least get the report to work in my vb.net project by writing out the datasource to an XML file and setting the database location in my crystal report to that XML file.  The part I don't understand is how can I now dynamically change the location of where the XML file gets created so that when I deploy it I won't have to deal with fixed or hard-coded file location drives that don't exist on client workstations.  Here's the code as I have it now:

            'Perform report
            Dim rpt As New AllCustomers
            dsAllWill1.WriteXml("dmwill_report.xml", XmlWriteMode.WriteSchema)
            'rpt.SetDataSource(dsAllWill_Report)
            Me.CrystalReportViewer1.ReportSource = rpt

 

by: accucomPosted on 2009-10-22 at 09:21:38ID: 25635962

I think I finally found what my problem was, and it seemed to work when I changed
            rpt.SetDataSource(dsAllWill1)
to
            rpt.SetDataSource(dsAllWill1.Tables("AllWill"))

Perhaps vs.2003 was more forgiving on not specifying tables.  Thanks for your patience with this.

 

by: TheLearnedOnePosted on 2009-10-22 at 10:12:12ID: 25636502

Here is what I do with a Crystal Report:

 

by: accucomPosted on 2009-10-22 at 10:51:22ID: 31641835

It took awhile to finally understand the problem but finally glad it's done.

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...