Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal é o seguinte, estou utilizando o crystal do VS2005 para gera os relatorios do site.
Os relatórios possuem o mesmo layout (os campos exibidos são semrpe os mesmos), o que muda é apenas o filtro do select, então para eu não ter que fazer um relatorio pra cada filtro eu queria usar o mesmo e nele utilizar o parameter field para receber o nome do relatório(Título) e o filtro usado(exemplo data de inicio e fim que é o filtro).
Alguém pode em ajudar como passar o parametro?
Tentei o seguinte codigo:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim oper As String
Dim inicial As String
Dim final As String
Dim texto As String
texto = "Com Vencimento entre:"
Dim sql As String
Dim parametro As String
parametro = Request.QueryString("parametro1")
If parametro.Length < 24 Then
parametro = "aaaaaaaa" + parametro
oper = parametro.Substring(1, 8)
inicial = parametro.Substring(9, 8)
final = parametro.Substring(17, 8)
sql = "SELECT tbscc_conta.pkey, tbscc_conta.fk_operadora, tbscc_conta.nr_fatura, tbscc_conta.nr_nota_fiscal, tbscc_conta.nr_linha, tbscc_conta.dt_recebimento,tbscc_conta.dt_emissao, tbscc_conta.vl_fatura, tbscc_conta.dt_vencimento, tbscc_conta.dt_pagamento, tbscc_conta.vl_pagamento,tbscc_conta.tp_servico, tbscc_conta.st_aprovacao_pagamento, tbscc_conta.dt_aprovacao, tbscc_conta.dc_usuario_aprovacao,tbscc_conta.dc_contestacao, tbscc_conta.vl_contestacao, tbscc_conta.dc_path_arquivo_digital, tbscc_conta.dc_path_arquivo_contestacao,tbscc_conta.dc_barcode_header, tbscc_conta.dc_barcode_pagto, tbscc_conta.id_status_conta, tbscc_conta.id_revisar, tbscc_conta.dt_contestacao,tbscc_conta.dc_usuario_contestacao, tbscc_conta.dt_confirmacao_pagamento, tbscc_conta.dc_usuario_confirmacao_pagamento,tbscc_conta.dc_historico, tbscc_conta.cd_cliente_conta, tbscc_conta.dt_pagamento_real, tbscc_conta.vl_pagamento_real,tbscc_conta.dc_historico_pagamento, tbscc_conta.nr_contrato_sap, tbscc_conta.dt_renegociada, tbscc_conta.nr_conta, tbscc_operadora.dc_fornecedor, tbscc_operadora.dc_fantasia, tbscc_status_conta.dc_status_conta FROM tbscc_conta LEFT OUTER JOIN tbscc_operadora ON tbscc_operadora.pkey = tbscc_conta.fk_operadora LEFT OUTER JOIN tbscc_status_conta ON tbscc_status_conta.pkey = tbscc_conta.id_status_conta WHERE (tbscc_conta.dt_vencimento BETWEEN '" & inicial & "' AND '" & final & "')"
Else
oper = parametro.Substring(1, 8)
inicial = parametro.Substring(9, 8)
final = parametro.Substring(17, 8)
sql = "SELECT tbscc_conta.pkey, tbscc_conta.fk_operadora, tbscc_conta.nr_fatura, tbscc_conta.nr_nota_fiscal, tbscc_conta.nr_linha, tbscc_conta.dt_recebimento,tbscc_conta.dt_emissao, tbscc_conta.vl_fatura, tbscc_conta.dt_vencimento, tbscc_conta.dt_pagamento, tbscc_conta.vl_pagamento,tbscc_conta.tp_servico, tbscc_conta.st_aprovacao_pagamento, tbscc_conta.dt_aprovacao, tbscc_conta.dc_usuario_aprovacao,tbscc_conta.dc_contestacao, tbscc_conta.vl_contestacao, tbscc_conta.dc_path_arquivo_digital, tbscc_conta.dc_path_arquivo_contestacao,tbscc_conta.dc_barcode_header, tbscc_conta.dc_barcode_pagto, tbscc_conta.id_status_conta, tbscc_conta.id_revisar, tbscc_conta.dt_contestacao,tbscc_conta.dc_usuario_contestacao, tbscc_conta.dt_confirmacao_pagamento, tbscc_conta.dc_usuario_confirmacao_pagamento,tbscc_conta.dc_historico, tbscc_conta.cd_cliente_conta, tbscc_conta.dt_pagamento_real, tbscc_conta.vl_pagamento_real,tbscc_conta.dc_historico_pagamento, tbscc_conta.nr_contrato_sap, tbscc_conta.dt_renegociada, tbscc_conta.nr_conta, tbscc_operadora.dc_fornecedor, tbscc_operadora.dc_fantasia, tbscc_status_conta.dc_status_conta FROM tbscc_conta LEFT OUTER JOIN tbscc_operadora ON tbscc_operadora.pkey = tbscc_conta.fk_operadora LEFT OUTER JOIN tbscc_status_conta ON tbscc_status_conta.pkey = tbscc_conta.id_status_conta WHERE (tbscc_conta.fk_operadora = '" & oper & "') AND (tbscc_conta.dt_vencimento BETWEEN '" & inicial & "' AND '" & final & "')"
End If
Dim sqlcmd As SqlCommand
sqlcmd = New SqlCommand()
sqlcmd.Connection = conn
sqlcmd.CommandText = sql
Dim daOperadora As New SqlDataAdapter()
daOperadora.SelectCommand = sqlcmd
Dim CamposParametros As New ParameterFields
Dim VctoIni As New ParameterField
Dim DiscretoIni As New ParameterDiscreteValue
Dim VctoFim As New ParameterField
Dim DiscretoFim As New ParameterDiscreteValue
Dim ltexto As New ParameterField
Dim DiscretoTexto As New ParameterDiscreteValue
VctoIni.ParameterFieldName = "inicio"
DiscretoIni.Value = inicial
VctoIni.CurrentValues.Add(DiscretoIni)
VctoFim.ParameterFieldName = "fim"
DiscretoFim.Value = final
VctoFim.CurrentValues.Add(DiscretoFim)
ltexto.ParameterFieldName = "texto"
DiscretoTexto.Value = texto
ltexto.CurrentValues.Add(DiscretoTexto)
CamposParametros.Add(ltexto)
CamposParametros.Add(VctoIni)
CamposParametros.Add(VctoFim)
Dim dsRelatorio As New dsContAOper()
conn.Close()
conn.Open()
daOperadora.Fill(dsRelatorio.sp_contaoper)
conn.Close()
Dim a As String
a = Session("nomereport")
Dim crs As New CrystalReportSource()
crs.Report.FileName = a
crs.ReportDocument.SetDataSource(dsRelatorio)
crv.ParameterFieldInfo = CamposParametros
crv.ReportSource = crs
crv.DataBind()
End SubSendo q no report criei os campos no formato e tipo certo.
Se alguém puder me ajudar eu agradeço.
Carregando comentários...