Showing posts with label related. Show all posts
Showing posts with label related. Show all posts

Thursday, March 29, 2012

Date range parameters don't work in reportviewer?

Hi, I've got this ssrs 2005 report that works great passing a few
security related parameters from asp.net codebehind. However, there
are two date related parameters that won't be coming from my web form,
but rather from the report form itself. When I test the report's date
parameters from visual studio it work fine, but when I attempt the
same report from a reportviewer no matter what input I place on the
report's date fields or even if I select the date picker, the report
simply resets to default and reloads. And actually the date picker
from the reportviewer does not not even pop up.
Here's my aspx code:
<%@. Page Language="VB" AutoEventWireup="false"
Inherits="_ReportViewer" MasterPageFile="~/Main/MasterPage.master"
CodeFile="~/Reports/CashSales.aspx.vb" Title="Cash Sales" %>
<%@. Register Assembly="Microsoft.ReportViewer.WebForms,
Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>
<asp:Content ID="Content1" ContentPlaceHolderID="Content1"
runat="Server">
<rsweb:ReportViewer BackColor="Transparent" ZoomMode="PageWidth"
Width="100%" ProcessingMode="Remote" ID="ReportViewer1"
runat="server">
<ServerReport ReportPath="/Retailer/CashSales"
ReportServerUrl="http://myserver/reportserver" />
</rsweb:ReportViewer>
</asp:Content>
the code behind:
Imports system.web.security.membership
Imports system.web.security.Roles
Imports Microsoft.Reporting.Webforms
Note: I'm only passing the parameters that are not coming from the
reportviewer form.
Partial Class _ReportViewer
Inherits System.Web.UI.Page
Private Users As New Retailer.Core()
Protected Overrides Sub OnLoad(ByVal e As EventArgs)
Dim Roles() As String = GetRolesForUser(Page.User.Identity.Name.ToString)
Dim cred As New Retailer.ReportServerCredentials("myuser",
"mypassword", "mydomain")
ReportViewer1.ServerReport.ReportServerCredentials = cred
Dim param As New ReportParameter("r_user",
Page.User.Identity.Name.ToString)
Dim param2 As New ReportParameter("r_role", Roles(0))
Dim p() As ReportParameter = {param, param2}
ReportViewer1.ServerReport.SetParameters(p)
ReportViewer1.ServerReport.Refresh()
End Sub
End Class
on my reportviewer form, at the top I have parameters for startdate
and end date, they are not set to internal or hidden.
thanks for any help or information.update on this. I see I am getting a javascript error, but it then
loading the report. How can I troubleshoot this? I've got disable i.e
script debugging turned off on i.e 7.0, but where would i place this
javascript to trap the error.
debugger; // execution will break here
to see the errors in VS.NET.
my report viewer in on a contentpage.
I see others have had a similar problem.
thanks for any help or information!|||More on this..
I noticed I get a javascript error when click on the calendar select:
Line: 606
Object Required
When I attempt to debug I get a Just-In-time failed : Unspecified
error. Check the documentation index for 'Just-in-time debugging,
errors' for more information.
and if I enter anything in the date fields, it disregards them and
loads with the defaults.
Could it be that I'm not sending security information when these built
in javascript functions are called?
thanks again.

Sunday, March 25, 2012

Date Picker RS2005SP2 useless

I read a lot of posts in this forum, but none of them provide a solution.

Probably it is related to SP2 as many report, I have SP2 as well...

A funny situation:
I have a report parameter @.date, datatype datetime, so I can use the datepicker control.

But, even when not using this @.date parameter in my dataset, I still get the error:

  • The value provided for the report parameter 'date' is not valid for its type. (rsReportParameterTypeMismatch)

    Of course it has to do with regional settings and languages etc... But at my international client's site, workstations are in any regional setting and servers are in en-US, nothing I can do about that.

    Come'on Microsoft, don't tell us this datePicker is only for the US market?

    Thank You MS!

    Apparently it is now solved in the Cumulative update package 2 for SQL Server 2005 Service Pack 2

    See http://support.microsoft.com/kb/936305, bug n_ 50001284

  • Thursday, March 8, 2012

    Date format problem

    I am using a view which brings purchase related data from my OLTP.

    I am using the same view for the source of my production system (which has a mm/dd/yy format) and for my test machine (which has a dd-Mmm-yy format).

    By formats I mean theformatsdefinedvia theRegional settings.

    The problem is that on the test machine, the dates are giving problems and a date such as today's (i.e. 10, March, 2005) is coming in as 03-October, 2005) - notice that this is due to the data format difference i.e. 03/10/05 versus 10-Mar-05 (or 10/03/05).

    Any ideas how I can use the same view but for my test machine I do some sort of conversion to correctly change the format.

    Many TIAHi all

    I've faced the same issue here, our company uses DD/MM/YYYY date format and one of the computers we had uses MM/DD/YYYY.
    to come around this problem we had to think like MS-SQL server. our application must use YYYY-MM-DD so we wrote a function in VB to read the current user date format and change the dates to SQL server format.

    to use this function just pass the date and the result will be YYYY-MM-DD.
    you can use this function before inserting, updateting or deleting data in VB.


    please have fun.:D



    Public Function fDate(ByVal xDateIn As String) As String
    Dim xReg As New Registry
    Dim xRegDateFormat As String
    Dim xRegDateSeperator As String
    Dim xDay, xMonth, xYear As String
    Dim xTmp As Integer
    Dim xTmpStr As String


    If xDateIn = "" Then Exit Function

    xReg.GetKeyValue HKEY_CURRENT_USER, "Control Panel\INTERNATIONAL", "SSHORTDATE", xRegDateFormat
    xReg.GetKeyValue HKEY_CURRENT_USER, "Control Panel\INTERNATIONAL", "SDATE", xRegDateSeperator

    xDateIn = Trim(Str(CDate(xDateIn)))

    xRegDateFormat = UCase(xRegDateFormat)

    If InStr(1, xRegDateFormat, "DD") <> 0 Then
    Else
    xTmp = InStr(1, xRegDateFormat, "D")
    xRegDateFormat = Left(xRegDateFormat, xTmp) + "D" + Right(xRegDateFormat, Len(xRegDateFormat) - xTmp)
    End If

    If InStr(1, xRegDateFormat, "MM") <> 0 Then
    Else
    xTmp = InStr(1, xRegDateFormat, "M")
    xRegDateFormat = Left(xRegDateFormat, xTmp) + "M" + Right(xRegDateFormat, Len(xRegDateFormat) - xTmp)
    End If

    If InStr(1, xRegDateFormat, "YYYY") <> 0 Then
    Else
    xTmp = InStr(1, xRegDateFormat, "YY")
    xRegDateFormat = Left(xRegDateFormat, xTmp) + "YY" + Right(xRegDateFormat, Len(xRegDateFormat) - xTmp)
    End If

    'step 01
    Select Case Left(xRegDateFormat, 1)
    Case "D"
    xTmp = InStr(1, xDateIn, xRegDateSeperator)
    xDay = Left(xDateIn, xTmp - 1)
    If xDay < 10 And Len(xDay) = 1 Then
    xDay = "0" & xDay
    xDateIn = "0" & xDateIn
    xTmp = xTmp + 1
    End If
    Case "M"
    xTmp = InStr(1, xDateIn, xRegDateSeperator)
    xMonth = Left(xDateIn, xTmp - 1)
    If xMonth < 10 And Len(xMonth) = 1 Then
    xMonth = "0" & xMonth
    xDateIn = "0" & xDateIn
    xTmp = xTmp + 1
    End If
    Case "Y"
    xTmp = InStr(1, xDateIn, xRegDateSeperator)
    xYear = Left(xDateIn, xTmp - 1)
    If xYear < 100 Then
    xYear = "20" & xYear
    xDateIn = "20" & xDateIn
    xTmp = xTmp + 1
    End If
    End Select
    xDateIn = Mid(xDateIn, xTmp + 1)
    xRegDateFormat = Mid(xRegDateFormat, xTmp + 1)

    'step 02
    Select Case Left(xRegDateFormat, 1)
    Case "D"
    xTmp = InStr(1, xDateIn, xRegDateSeperator)
    xDay = Left(xDateIn, xTmp - 1)
    If xDay < 10 And Len(xDay) = 1 Then
    xDay = "0" & xDay
    xDateIn = "0" & xDateIn
    xTmp = xTmp + 1
    End If
    Case "M"
    xTmp = InStr(1, xDateIn, xRegDateSeperator)
    xMonth = Left(xDateIn, xTmp - 1)
    If xMonth < 10 And Len(xMonth) = 1 Then
    xMonth = "0" & xMonth
    xDateIn = "0" & xDateIn
    xTmp = xTmp + 1
    End If
    Case "Y"
    xTmp = InStr(1, xDateIn, xRegDateSeperator)
    xYear = Left(xDateIn, xTmp - 1)
    If xYear < 100 Then
    xYear = "20" & xYear
    xDateIn = "20" & xDateIn
    xTmp = xTmp + 1
    End If
    End Select
    xDateIn = Mid(xDateIn, xTmp + 1)
    xRegDateFormat = Mid(xRegDateFormat, xTmp + 1)

    'step 03
    Select Case UCase(Left(xRegDateFormat, 1))
    Case "D"
    xTmp = InStr(1, xDateIn, xRegDateSeperator)
    xDay = xDateIn
    If xDay < "10" And Len(xDay) = 1 Then xDay = "0" & xDay
    Case "M"
    xTmp = InStr(1, xDateIn, xRegDateSeperator)
    xMonth = xDateIn
    If xMonth < "10" And Len(xMonth) = 1 Then xMonth = "0" & xMonth
    Case "Y"
    xTmp = InStr(1, xDateIn, xRegDateSeperator)
    xYear = xDateIn
    If xYear < "100" Then xYear = "20" & xYear
    End Select

    'fDate = xDay + "/" + xMonth + "/" + xYear
    fDate = xYear + "/" + xMonth + "/" + xDay

    End Function|||Thanks but there's got to be a simpler solution that this :(|||yes, the simple solution is to use the CONVERT function|||The other simple solution is just to format the date when it is sent through initially.|||yes, the simple solution is to use the CONVERT function

    Wish I got paid by the line...