Click here to Skip to main content
15,887,477 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Hi,

I am facing a problem with report generation.
Problem with logon parameters.
I can gneerate 1 report easily.Unable to get data in to the other report.
Need to generate both reports separately on single click event.
Call genFunction.statistics_PaperWork(txtPWdate.Text, txtPWdate.Text)

        rptSource = "\Report\MYSQL-REPORT\DOTS2_DailyPaperWork.rpt"
        rsRptDt = sqlHelper.ExecuteDataTable(CommandType.Text, SqlStr)
        SetReport(rptSource, rsRptDt)
 Call genFunction.Employee_Process_EmpRecap(txtPWdate.Text, "", "")

 SqlStr = genFunction.Find_Time_Diff_EmpRecap(txtPWdate.Text, txtPWdate.Text, "")  
        rptSource = "\Report\MYSQL-REPORT\DOTS2-Employee_Recap.rpt"
        rsRptDt = sqlHelper.ExecuteDataTable(CommandType.Text, SqlStr)
        SetReport(rptSource, rsRptDt)

   End Sub



 
 Private Sub SetReport(ByVal strPath As String, ByVal rptDt As DataTable)
        Dim myTable As CrystalDecisions.CrystalReports.Engine.Table
        Dim myLogin As CrystalDecisions.Shared.TableLogOnInfo

       If strPath = "\Report\MYSQL-REPORT\DOTS2_DailyPaperWork.rpt" Then
            objRpt = New ReportDocument
            objRpt.Load(Server.MapPath("~/") & strPath)
            For Each myTable In objRpt.Database.Tables
          myLogin = myTable.LogOnInfo
          myLogin.ConnectionInfo.ServerName = ConfigurationManager.AppSettings("Server")
                myLogin.ConnectionInfo.DatabaseName = ConfigurationManager.AppSettings("DataBase")
                myLogin.ConnectionInfo.Password = ConfigurationManager.AppSettings("Password")
                myLogin.ConnectionInfo.UserID = ConfigurationManager.AppSettings("UserID")
                myLogin.ConnectionInfo.IntegratedSecurity = "True"
                myTable.ApplyLogOnInfo(myLogin)
            Next
            objRpt.SetDataSource(rptDt)
            objRpt.DataDefinition.FormulaFields.Item("rptGenBy").Text = "totext('This report is generated by DOTS2.')"
            objRpt.DataDefinition.FormulaFields.Item("rptPrintDate").Text = "'" & "Date : " & Format(Now(), "dd/MM/yyyy") & "'"
            objRpt.DataDefinition.FormulaFields.Item("rptPrintedBy").Text = "'" & "Printed By : " & ConnectionInfo.LoggedInUser.UserID & "'"
            objRpt.DataDefinition.FormulaFields.Item("rptPrintTime").Text = "'" & "Time : " & Format(Now(), "HH:mm:ss") & "'"
            objRpt.DataDefinition.FormulaFields.Item("storeid").Text = "'" & "Store #:" & glob_Storeid & "'"
            objRpt.DataDefinition.FormulaFields.Item("reportdate").Text = "'" & "Date : " & Format(Now(), "DD/MM/YYYY") & "'"
            objRpt.DataDefinition.FormulaFields.Item("reporttime").Text = "'" & "Time : " & Format(Now(), "HH:MM:SS AM/PM") & "'"
            objRpt.DataDefinition.FormulaFields.Item("FromDate").Text = "'" & modGlobal.RetFormatDate(txtPWdate.Text, "dd/MM/yyyy") & "'"
            If strenddate <> "" Then
                objRpt.DataDefinition.FormulaFields.Item("ToDate").Text = "'" & modGlobal.RetFormatDate(txtPWdate.Text, "dd/MM/yyyy") & "'"
            Else
                objRpt.DataDefinition.FormulaFields.Item("ToDate").Text = "'" & modGlobal.RetFormatDate(txtPWdate.Text, "dd/MM/yyyy") & "'"
            End If

            If Glob_Rpt_Final = True Then

                objRpt.DataDefinition.FormulaFields.Item("rpttitle").Text = "totext('DAILY PAPERWORK (FINAL)')"
            Else
                objRpt.DataDefinition.FormulaFields.Item("rpttitle").Text = "totext('DAILY(PaperWork)')"
            End If
            crptTemplate.ReportSource = objRpt
            objRpt.PrintToPrinter(1, True, 0, 0)
        End If

        If strPath = "\Report\MYSQL-REPORT\DOTS2-Employee_Recap.rpt" Then
            objRpt1 = New ReportDocument
            objRpt1.Load(Server.MapPath("~/") & strPath)

            For Each myTable In objRpt.Database.Tables
                myLogin = myTable.LogOnInfo
                myLogin.ConnectionInfo.ServerName = ConfigurationManager.AppSettings("Server")
                myLogin.ConnectionInfo.DatabaseName = ConfigurationManager.AppSettings("DataBase")
                myLogin.ConnectionInfo.Password = ConfigurationManager.AppSettings("Password")
                myLogin.ConnectionInfo.UserID = ConfigurationManager.AppSettings("UserID")
                myLogin.ConnectionInfo.IntegratedSecurity = "True"
                myTable.ApplyLogOnInfo(myLogin)
            Next
            objRpt1.SetDataSource(rptDt)
            objRpt1.DataDefinition.FormulaFields.Item("rptGenBy").Text = "totext('This report is generated by DOTS2.')"
            objRpt1.DataDefinition.FormulaFields.Item("rptPrintDate").Text = "'" & "Date : " & Format(Now(), "dd/MM/yyyy") & "'"
            objRpt1.DataDefinition.FormulaFields.Item("rptPrintedBy").Text = "'" & "Printed By : " & ConnectionInfo.LoggedInUser.UserID & "'"
            objRpt1.DataDefinition.FormulaFields.Item("rptPrintTime").Text = "'" & "Time : " & Format(Now(), "HH:mm:ss") & "'"
            objRpt1.DataDefinition.FormulaFields.Item("storeid").Text = "'" & "Code: " & glob_Storeid & "'"
            objRpt1.DataDefinition.FormulaFields.Item("FromDate").Text = "'" & modGlobal.RetFormatDate(txtPWdate.Text, "dd/MM/yyyy") & "'"

            If strenddate <> "" Then
                objRpt1.DataDefinition.FormulaFields.Item("ToDate").Text = "'" & modGlobal.RetFormatDate(txtPWdate.Text, "dd/MM/yyyy") & "'"
            Else
                objRpt1.DataDefinition.FormulaFields.Item("ToDate").Text = "'" & modGlobal.RetFormatDate(txtPWdate.Text, "dd/MM/yyyy") & "'"
            End If
            If Glob_Rpt_Final = True Then
                objRpt1.DataDefinition.FormulaFields.Item("rpttitle").Text = "totext('EMPLOYEE RECAP (FINAL)')"
            Else
                objRpt1.DataDefinition.FormulaFields.Item("rpttitle").Text = "totext('EMPLOYEE RECAP')"
            End If
            crptTemplate.ReportSource = objRpt1
            objRpt1.PrintToPrinter(1, True, 0, 0)
        End If

    End Sub
Posted

1 solution

Probably you are not setting your login parameters probably.

Try:
C#
myCrystalReprot.SetDatabaseLogon("myUsername", "myPassword");

Further, see if these help:
C# Crystal Reports Dynamic Logon parameters [^]
Crystal Reports asks for Username and Password while loading[^]
Troubleshooting Database Login Errors using Crystal Reports with .NET[^]
 
Share this answer
 
Comments
narendrag999 2-Oct-12 3:22am    
Hi sir thanks i am able to get the reports, but data inside the report is missing for one report.
And also both are generating in single window.Need to generate separately.
Hope u got me..
thanks,
Nareeen
Sandeep Mewara 2-Oct-12 3:23am    
No.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900