Click here to Skip to main content
15,895,667 members
Home / Discussions / Visual Basic
   

Visual Basic

 
QuestionStructure in listbox Pin
Chandrasekharan P23-Jul-09 19:18
Chandrasekharan P23-Jul-09 19:18 
AnswerRe: Structure in listbox Pin
Christian Graus23-Jul-09 19:35
protectorChristian Graus23-Jul-09 19:35 
GeneralRe: Structure in listbox [modified][RESOLVED] Pin
Chandrasekharan P23-Jul-09 19:49
Chandrasekharan P23-Jul-09 19:49 
GeneralRe: Structure in listbox [modified][RESOLVED] Pin
Christian Graus23-Jul-09 21:46
protectorChristian Graus23-Jul-09 21:46 
QuestionOutlook Share Add-In setup Working On Vista but not in Window XP Pin
dcdhingra23-Jul-09 16:37
dcdhingra23-Jul-09 16:37 
QuestionVB.NET Reports on web service Pin
Rick_Mutimer23-Jul-09 14:04
Rick_Mutimer23-Jul-09 14:04 
QuestionCharSet issue with CDOSys Pin
Manas Bhardwaj23-Jul-09 10:58
professionalManas Bhardwaj23-Jul-09 10:58 
QuestionCrystal reports [modified] Pin
Ghost_80723-Jul-09 10:24
Ghost_80723-Jul-09 10:24 
I am receiving an error from crystal reports that says i am missing parameters when i tell a report to print directly to a printer.

Here is the calling code.
Dim rdReport As CrystalDecisions.CrystalReports.Engine.ReportDocument
rdReport = PrintDocuments("Xbox Ticket")

'Main Report
rdReport.SetParameterValue("CustomerName", frm.cboCustomerName.Text.ToUpper)
rdReport.SetParameterValue("CustomerPhoneNumber", frm.lblPhoneNumber.Text.ToUpper)

'Details Subreport
rdReport.SetParameterValue("CashierName", Cashier, "Details")
rdReport.SetParameterValue("CustomerName", frm.cboCustomerName.Text.ToUpper, "Details")
rdReport.SetParameterValue("CustomerPhoneNumber", frm.lblPhoneNumber.Text.ToUpper, "Details")
rdReport.SetParameterValue("CopyField", "", "Details")

'Details2 Subreport
rdReport.SetParameterValue("CashierName", Cashier, "Details2")
rdReport.SetParameterValue("CustomerName", frm.cboCustomerName.Text.ToUpper, "Details2")
rdReport.SetParameterValue("CustomerPhoneNumber", frm.lblPhoneNumber.Text.ToUpper, "Details2")
rdReport.SetParameterValue("CopyField", "", "Details2")

rdReport.PrintOptions.PrinterName = My.Settings.ReportPrinter
rdReport.PrintToPrinter(1, True, 0, 0)



PrintDocuments is supposed to create a crystal report, prepopulate some parameter fields and then
return the report to the calling function to be displayed, printed, etc.

Here is the code for that.

Friend Function PrintDocuments(ByVal DocumentName As String) As CrystalDecisions.CrystalReports.Engine.ReportDocument
        Dim rdReport As New CrystalDecisions.CrystalReports.Engine.ReportDocument
        rdReport.Load(frmMain.ProgramDefault.ReportPath & "\" & DocumentName & ".rpt")

        'Set report Logon Info
        Dim LogInfo As CrystalDecisions.Shared.TableLogOnInfo
        Dim crConnectionInfo As New CrystalDecisions.Shared.ConnectionInfo()
        With crConnectionInfo
            .ServerName = DataServer.Server
            .DatabaseName = DataServer.Database
            If DataServer.Security Then
                .IntegratedSecurity = DataServer.Security
            Else
                .IntegratedSecurity = DataServer.Security
                .UserID = DataServer.UserName
                .Password = DataServer.Password
            End If
        End With
        LogInfo = New CrystalDecisions.Shared.TableLogOnInfo
        LogInfo.ConnectionInfo = crConnectionInfo
        Dim crTable As Table
        For i As Integer = 0 To rdReport.Subreports.Count - 1
            For Each crTable In rdReport.Subreports(i).Database.Tables
                crTable.ApplyLogOnInfo(LogInfo)
            Next crTable
        Next
        For Each crTable In rdReport.Database.Tables
            crTable.ApplyLogOnInfo(LogInfo)
        Next
        
        'Look at parameter fields and fill in if found
        Try
            'Sub reports if found
            For i As Integer = 0 To rdReport.Subreports.Count - 1
                'if subreport does not have parameter fields don't worry about it
                If rdReport.Subreports(i).ParameterFields Is Nothing Then Exit For
                For l As Integer = 0 To rdReport.Subreports(i).ParameterFields.Count - 1
                    Select Case rdReport.Subreports(i).ParameterFields(l).Name
                        Case "CompanyName"
                            rdReport.Subreports(i).SetParameterValue("CompanyName", frmMain.ProgramDefault.CompanyName)
                        Case "CompanyStreet"
                            rdReport.Subreports(i).SetParameterValue("CompanyStreet", frmMain.ProgramDefault.CompanyStreet)
                        Case "CompanyCity"
                            rdReport.Subreports(i).SetParameterValue("CompanyCity", frmMain.ProgramDefault.CompanyCity)
                        Case "CompanyState"
                            rdReport.Subreports(i).SetParameterValue("CompanyState", frmMain.ProgramDefault.CompanyState)
                        Case "CompanyZip"
                            rdReport.Subreports(i).SetParameterValue("CompanyZip", frmMain.ProgramDefault.CompanyZip)
                        Case "CompanyPhone"
                            rdReport.Subreports(i).SetParameterValue("CompanyPhone", frmMain.ProgramDefault.CompanyPhone)
                        Case "CompanyFax"
                            rdReport.Subreports(i).SetParameterValue("CompanyFax", frmMain.ProgramDefault.CompanyFax)
                        Case "CompanyWeb"
                            rdReport.Subreports(i).SetParameterValue("CompanyWeb", frmMain.ProgramDefault.CompanyWeb)
                        Case "CashierName"
                            rdReport.Subreports(i).SetParameterValue("CashierName", Cashier)
                    End Select
                Next
            Next
        Catch ex As Exception

        End Try

        'Main reports
        For i As Integer = 0 To rdReport.ParameterFields.Count - 1
            Select Case rdReport.ParameterFields(i).Name
                Case "CompanyName"
                    rdReport.SetParameterValue("CompanyName", frmMain.ProgramDefault.CompanyName)
                Case "CompanyStreet"
                    rdReport.SetParameterValue("CompanyStreet", frmMain.ProgramDefault.CompanyStreet)
                Case "CompanyCity"
                    rdReport.SetParameterValue("CompanyCity", frmMain.ProgramDefault.CompanyCity)
                Case "CompanyState"
                    rdReport.SetParameterValue("CompanyState", frmMain.ProgramDefault.CompanyState)
                Case "CompanyZip"
                    rdReport.SetParameterValue("CompanyZip", frmMain.ProgramDefault.CompanyZip)
                Case "CompanyPhone"
                    rdReport.SetParameterValue("CompanyPhone", frmMain.ProgramDefault.CompanyPhone)
                Case "CompanyFax"
                    rdReport.SetParameterValue("CompanyFax", frmMain.ProgramDefault.CompanyFax)
                Case "CompanyWeb"
                    rdReport.SetParameterValue("CompanyWeb", frmMain.ProgramDefault.CompanyWeb)
                Case "CashierName"
                    rdReport.SetParameterValue("CashierName", Cashier)
            End Select
        Next
        LogInfo = Nothing
        crTable = Nothing
        crConnectionInfo = Nothing

        Return rdReport
    End Function

i'm not sure but it seems that the parameters being set by the calling code are not being set properly.
Here is the original code, i modified it to be reusable in multiple different places but now i am running into this problem
Private Function PrintGameReceipt() As PrintingErrors
     If Not frmMain.ProgramDefault.AllowPrinter Then Return PrintingErrors.OK
     frmMain.Cursor = Cursors.WaitCursor
     Try
         Dim rdReport As New CrystalDecisions.CrystalReports.Engine.ReportDocument
         'rdReport = PrintDocuments("Xbox Ticket")
         'Dim rpath As String = RepPath
         rdReport.Load(frmMain.ProgramDefault.ReportPath & "\" & "Xbox Ticket.rpt")
         Dim LogInfo As CrystalDecisions.Shared.TableLogOnInfo
         Dim crConnectionInfo As New CrystalDecisions.Shared.ConnectionInfo()
         With crConnectionInfo
             .ServerName = DataServer.Server
             .DatabaseName = DataServer.Database
             If DataServer.Security Then
                 .IntegratedSecurity = DataServer.Security
             Else
                 .IntegratedSecurity = DataServer.Security
                 .UserID = DataServer.UserName
                 .Password = DataServer.Password
             End If
         End With

         LogInfo = New CrystalDecisions.Shared.TableLogOnInfo
         LogInfo.ConnectionInfo = crConnectionInfo
         Dim crTable As Table
         For i As Integer = 0 To rdReport.Subreports.Count - 1
             For Each crTable In rdReport.Subreports(i).Database.Tables
                 crTable.ApplyLogOnInfo(LogInfo)
             Next crTable
         Next
         For Each crTable In rdReport.Database.Tables
             crTable.ApplyLogOnInfo(LogInfo)
         Next



         rdReport.SetParameterValue("CompanyName", frmMain.ProgramDefault.CompanyName)
         rdReport.SetParameterValue("CompanyStreet", frmMain.ProgramDefault.CompanyStreet)
         rdReport.SetParameterValue("CompanyCity", frmMain.ProgramDefault.CompanyCity)
         rdReport.SetParameterValue("CompanyState", frmMain.ProgramDefault.CompanyState)
         rdReport.SetParameterValue("CompanyZip", frmMain.ProgramDefault.CompanyZip)
         rdReport.SetParameterValue("CompanyPhone", frmMain.ProgramDefault.CompanyPhone)
         rdReport.SetParameterValue("CompanyFax", frmMain.ProgramDefault.CompanyFax)
         rdReport.SetParameterValue("CompanyWeb", frmMain.ProgramDefault.CompanyWeb)
         rdReport.SetParameterValue("CashierName", Cashier)
         rdReport.SetParameterValue("CustomerName", frm.cboCustomerName.Text.ToUpper)
         rdReport.SetParameterValue("CustomerPhoneNumber", frm.lblPhoneNumber.Text.ToUpper)

         'Details Section
         rdReport.SetParameterValue("CompanyName", frmMain.ProgramDefault.CompanyName, "Details")
         rdReport.SetParameterValue("CompanyStreet", frmMain.ProgramDefault.CompanyStreet, "Details")
         rdReport.SetParameterValue("CompanyCity", frmMain.ProgramDefault.CompanyCity, "Details")
         rdReport.SetParameterValue("CompanyState", frmMain.ProgramDefault.CompanyState, "Details")
         rdReport.SetParameterValue("CompanyZip", frmMain.ProgramDefault.CompanyZip, "Details")
         rdReport.SetParameterValue("CompanyPhone", frmMain.ProgramDefault.CompanyPhone, "Details")
         rdReport.SetParameterValue("CompanyFax", frmMain.ProgramDefault.CompanyFax, "Details")
         rdReport.SetParameterValue("CompanyWeb", frmMain.ProgramDefault.CompanyWeb, "Details")
         rdReport.SetParameterValue("CashierName", Cashier, "Details")
         rdReport.SetParameterValue("CustomerName", frm.cboCustomerName.Text.ToUpper, "Details")
         rdReport.SetParameterValue("CustomerPhoneNumber", frm.lblPhoneNumber.Text.ToUpper, "Details")
         rdReport.SetParameterValue("CopyField", "", "Details")
         'Details2 Section
         rdReport.SetParameterValue("CompanyName", frmMain.ProgramDefault.CompanyName, "Details2")
         rdReport.SetParameterValue("CompanyStreet", frmMain.ProgramDefault.CompanyStreet, "Details2")
         rdReport.SetParameterValue("CompanyCity", frmMain.ProgramDefault.CompanyCity, "Details2")
         rdReport.SetParameterValue("CompanyState", frmMain.ProgramDefault.CompanyState, "Details2")
         rdReport.SetParameterValue("CompanyZip", frmMain.ProgramDefault.CompanyZip, "Details2")
         rdReport.SetParameterValue("CompanyPhone", frmMain.ProgramDefault.CompanyPhone, "Details2")
         rdReport.SetParameterValue("CompanyFax", frmMain.ProgramDefault.CompanyFax, "Details2")
         rdReport.SetParameterValue("CompanyWeb", frmMain.ProgramDefault.CompanyWeb, "Details2")
         rdReport.SetParameterValue("CashierName", Cashier, "Details2")
         rdReport.SetParameterValue("CustomerName", frm.cboCustomerName.Text.ToUpper, "Details2")
         rdReport.SetParameterValue("CustomerPhoneNumber", frm.lblPhoneNumber.Text.ToUpper, "Details2")
         rdReport.SetParameterValue("CopyField", "", "Details2")
         rdReport.PrintOptions.PrinterName = My.Settings.ReportPrinter

         rdReport.PrintToPrinter(1, True, 0, 0)

     Catch ex As Exception
         frmMain.Cursor = Cursors.Default
         Dim vd As New VDialog()
         With vd

             .Buttons = New VDialogButton() {New VDialogButton(VDialogResult.OK)}
             .WindowTitle = "Print Error"
             .MainInstruction = "Print Error"
             .MainIcon = VDialogIcon.Error
             .Content = "Error Printing Receipts"
             .FooterIcon = VDialogIcon.Error
             .FooterText = "Print Error"
             .ExpandedControlText = "Hide Info    "
             .CollapsedControlText = "Show Info    "
             .ExpandedInformation = "Extra Information" & vbCrLf & ControlChars.CrLf & ex.Message
             .ExpandFooterArea = True
             .ExpandedByDefault = False
             .Show()
         End With
         WriteToEventLog("Error Printing Receipts (Game Form Class): " & vbCrLf & ex.Message, , EventLogEntryType.Error, , 227)
         Return PrintingErrors.BadData
     End Try
     frmMain.Cursor = Cursors.Default
     Return PrintingErrors.OK
 End Function

Any help would be greatly appreciated.

modified on Friday, July 24, 2009 9:43 AM

QuestionHow to access the textbox data embedded in a datalist Pin
MacIntyre23-Jul-09 9:01
MacIntyre23-Jul-09 9:01 
QuestionHi there. Looking for help on a vb project. Pin
malcomhfc23-Jul-09 3:27
malcomhfc23-Jul-09 3:27 
AnswerRe: Hi there. Looking for help on a vb project. Pin
David Mujica23-Jul-09 3:38
David Mujica23-Jul-09 3:38 
GeneralRe: Hi there. Looking for help on a vb project. Pin
DoctorMick23-Jul-09 5:36
DoctorMick23-Jul-09 5:36 
AnswerRe: Hi there. Looking for help on a vb project. Pin
Jabbar_espania2-Aug-09 11:03
Jabbar_espania2-Aug-09 11:03 
GeneralRe: Hi there. Looking for help on a vb project. Pin
malcomhfc8-Aug-09 8:12
malcomhfc8-Aug-09 8:12 
QuestionMicrosoft Outlook: VBA Syntax Errors in Trying to Search for Recipients in E-Mail Message Body Pin
axla22-Jul-09 19:59
axla22-Jul-09 19:59 
Questioncode for automatic select value from ms-excel column Pin
muhammadataulhaqsultani22-Jul-09 17:57
muhammadataulhaqsultani22-Jul-09 17:57 
AnswerRe: code for automatic select value from ms-excel column Pin
Sumit Prakash Sharma22-Jul-09 21:26
professionalSumit Prakash Sharma22-Jul-09 21:26 
GeneralRe: code for automatic select value from ms-excel column Pin
muhammadataulhaqsultani23-Jul-09 16:08
muhammadataulhaqsultani23-Jul-09 16:08 
QuestionMulti-D Array comparisons Pin
Member 437454222-Jul-09 15:18
Member 437454222-Jul-09 15:18 
AnswerRe: Multi-D Array comparisons Pin
Luc Pattyn22-Jul-09 15:47
sitebuilderLuc Pattyn22-Jul-09 15:47 
GeneralRe: Multi-D Array comparisons Pin
Member 437454222-Jul-09 16:09
Member 437454222-Jul-09 16:09 
GeneralRe: Multi-D Array comparisons Pin
Luc Pattyn22-Jul-09 16:10
sitebuilderLuc Pattyn22-Jul-09 16:10 
QuestionHow do I modify a class so you can convert a String to it? Pin
i_kant_spel22-Jul-09 9:48
i_kant_spel22-Jul-09 9:48 
AnswerRe: How do I modify a class so you can convert a String to it? Pin
Luc Pattyn22-Jul-09 10:36
sitebuilderLuc Pattyn22-Jul-09 10:36 
GeneralRe: How do I modify a class so you can convert a String to it? Pin
Gideon Engelberth22-Jul-09 12:36
Gideon Engelberth22-Jul-09 12:36 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.