ERRO AO GERAR RELATORIO REPORTVIWER APLICAÇÃO .NET SQL datetimepicker falha ao converter valor do parametro de string em datetime
02/05/2019
0
Boa tarde amigos,, tudo bem ?
estou com um probleminha que não estou conseguindo solução, seguinte:
tenho um aplicação em .NEt com banco SQL, e nela estou criando vários relatórios no REPORTVIWER. o primeiro relatório é esse
nome= "Vendas por periodo" basicamente ele pela os dados da tabela de venda e filtra por Data.
segue o select usado no dataset para puxar os resultados
e no codigo do FORM eu uso isso:
ATÉ AI TUDO OK .. ESSE RELATORIO FUNCIONA NORMALMENTE
AI VEM O PROBLEMA ,, O SEGUNDO RELATÓRIO
nome = " Movimentação de produto"
Esse relatorio teria que funcionar por 2 parâmetros = "ID_produto" e "data_mov"
segue o select usado no dataset para puxar os resultados
e no codigo do FORM eu uso isso:
quando executo esse segundo relatório da o seguinte erro "falha ao converter valor do parametro de string em datetime"
já não sei mais oque fazer !
estou com um probleminha que não estou conseguindo solução, seguinte:
tenho um aplicação em .NEt com banco SQL, e nela estou criando vários relatórios no REPORTVIWER. o primeiro relatório é esse
nome= "Vendas por periodo" basicamente ele pela os dados da tabela de venda e filtra por Data.
segue o select usado no dataset para puxar os resultados
SELECT clientes.Id_cliente, clientes.nome, emitente.fantasia, emitente.endereco, emitente.fone1, emitente.fone2, produtos.Nome AS Expr1, venda_finalizada.Data_venda, itens_venda.Vlr_unit, itens_venda.Quantidade, venda_finalizada.Id_venda, itens_venda.id_produto FROM clientes INNER JOIN venda_finalizada ON clientes.Id_cliente = venda_finalizada.Id_Cliente INNER JOIN itens_venda ON venda_finalizada.Id_venda = itens_venda.id_venda INNER JOIN produtos ON itens_venda.id_produto = produtos.Id_produto CROSS JOIN emitente WHERE (venda_finalizada.Data_venda = @data)
e no codigo do FORM eu uso isso:
Public Class Vendas_Por_Periodo Private Sub Vendas_Por_Periodo_Load(sender As Object, e As EventArgs) Handles MyBase.Load dtdata.Value = Now.Date Me.VendasPperiodotableadapterTableAdapter.Fill(Me.vendaPperiododataset.VendasPperiodotableadapter, dtdata.Text) Me.ReportViewer1.RefreshReport() End Sub Private Sub dtdata_ValueChanged(sender As Object, e As EventArgs) Handles dtdata.ValueChanged Me.VendasPperiodotableadapterTableAdapter.Fill(Me.vendaPperiododataset.VendasPperiodotableadapter, dtdata.Text) Me.ReportViewer1.RefreshReport() End Sub End Class
ATÉ AI TUDO OK .. ESSE RELATORIO FUNCIONA NORMALMENTE
AI VEM O PROBLEMA ,, O SEGUNDO RELATÓRIO
nome = " Movimentação de produto"
Esse relatorio teria que funcionar por 2 parâmetros = "ID_produto" e "data_mov"
segue o select usado no dataset para puxar os resultados
SELECT emitente.fantasia, emitente.endereco, emitente.fone1, emitente.fone2, movimentacao_produto.id_produto, produtos.Nome, movimentacao_produto.Funcionario, movimentacao_produto.Id_mecanico, mecanicos.nome AS Expr1, movimentacao_produto.Id_cliente, clientes.nome AS Expr2, movimentacao_produto.id_venda, movimentacao_produto.quantidade, movimentacao_produto.movimentacao, movimentacao_produto.Data_mov, movimentacao_produto.hora_mov FROM movimentacao_produto INNER JOIN produtos ON movimentacao_produto.id_produto = produtos.Id_produto INNER JOIN mecanicos ON movimentacao_produto.Id_mecanico = mecanicos.Id_mecanico CROSS JOIN clientes CROSS JOIN emitente WHERE (movimentacao_produto.id_produto = @id_produto) AND (movimentacao_produto.Data_mov = @Data_mov)
e no codigo do FORM eu uso isso:
Public Class Movimentação_de_produto Private Sub Movimentação_de_produto_Load(sender As Object, e As EventArgs) Handles MyBase.Load dtdata.Value = Now.Date 'TODO: esta linha de código carrega dados na tabela 'MovimentacaoDoProdutoDataSet1.MovimentacaoDataAdapter'. Você pode movê-la ou removê-la conforme necessário. Me.MovimentacaoDataAdapterTableAdapter.Fill(Me.MovimentacaoDoProdutoDataSet1.MovimentacaoDataAdapter, txt_id_produto.Text, dtdata.Text) Me.ReportViewer1.RefreshReport() End Sub Private Sub txt_id_produto_TextChanged(sender As Object, e As EventArgs) Handles txt_id_produto.TextChanged Me.MovimentacaoDataAdapterTableAdapter.Fill(Me.MovimentacaoDoProdutoDataSet1.MovimentacaoDataAdapter, txt_id_produto.Text, dtdata.Text) Me.ReportViewer1.RefreshReport() End Sub Private Sub btn_clientes_indica_Click(sender As Object, e As EventArgs) Handles btn_clientes_indica.Click Dim form = New Busca_produtos_relatorios(Me) form.ShowDialog() End Sub Private Sub dtdata_ValueChanged(sender As Object, e As EventArgs) Handles dtdata.ValueChanged Me.MovimentacaoDataAdapterTableAdapter.Fill(Me.MovimentacaoDoProdutoDataSet1.MovimentacaoDataAdapter, txt_id_produto.Text, dtdata.Text) Me.ReportViewer1.RefreshReport() End Sub End Class
quando executo esse segundo relatório da o seguinte erro "falha ao converter valor do parametro de string em datetime"
já não sei mais oque fazer !
Wictor
Curtir tópico
+ 0
Responder
Posts
02/05/2019
Wictor
Boa tarde amigos,, tudo bem ?
estou com um probleminha que não estou conseguindo solução, seguinte:
tenho um aplicação em .NEt com banco SQL, e nela estou criando vários relatórios no REPORTVIWER. o primeiro relatório é esse
nome= "Vendas por periodo" basicamente ele pela os dados da tabela de venda e filtra por Data.
segue o select usado no dataset para puxar os resultados
e no codigo do FORM eu uso isso:
ATÉ AI TUDO OK .. ESSE RELATORIO FUNCIONA NORMALMENTE
AI VEM O PROBLEMA ,, O SEGUNDO RELATÓRIO
nome = " Movimentação de produto"
Esse relatorio teria que funcionar por 2 parâmetros = "ID_produto" e "data_mov"
segue o select usado no dataset para puxar os resultados
e no codigo do FORM eu uso isso:
quando executo esse segundo relatório da o seguinte erro "falha ao converter valor do parametro de string em datetime"
já não sei mais oque fazer !
estou com um probleminha que não estou conseguindo solução, seguinte:
tenho um aplicação em .NEt com banco SQL, e nela estou criando vários relatórios no REPORTVIWER. o primeiro relatório é esse
nome= "Vendas por periodo" basicamente ele pela os dados da tabela de venda e filtra por Data.
segue o select usado no dataset para puxar os resultados
SELECT clientes.Id_cliente, clientes.nome, emitente.fantasia, emitente.endereco, emitente.fone1, emitente.fone2, produtos.Nome AS Expr1, venda_finalizada.Data_venda, itens_venda.Vlr_unit, itens_venda.Quantidade, venda_finalizada.Id_venda, itens_venda.id_produto FROM clientes INNER JOIN venda_finalizada ON clientes.Id_cliente = venda_finalizada.Id_Cliente INNER JOIN itens_venda ON venda_finalizada.Id_venda = itens_venda.id_venda INNER JOIN produtos ON itens_venda.id_produto = produtos.Id_produto CROSS JOIN emitente WHERE (venda_finalizada.Data_venda = @data)
e no codigo do FORM eu uso isso:
Public Class Vendas_Por_Periodo Private Sub Vendas_Por_Periodo_Load(sender As Object, e As EventArgs) Handles MyBase.Load dtdata.Value = Now.Date Me.VendasPperiodotableadapterTableAdapter.Fill(Me.vendaPperiododataset.VendasPperiodotableadapter, dtdata.Text) Me.ReportViewer1.RefreshReport() End Sub Private Sub dtdata_ValueChanged(sender As Object, e As EventArgs) Handles dtdata.ValueChanged Me.VendasPperiodotableadapterTableAdapter.Fill(Me.vendaPperiododataset.VendasPperiodotableadapter, dtdata.Text) Me.ReportViewer1.RefreshReport() End Sub End Class
ATÉ AI TUDO OK .. ESSE RELATORIO FUNCIONA NORMALMENTE
AI VEM O PROBLEMA ,, O SEGUNDO RELATÓRIO
nome = " Movimentação de produto"
Esse relatorio teria que funcionar por 2 parâmetros = "ID_produto" e "data_mov"
segue o select usado no dataset para puxar os resultados
SELECT emitente.fantasia, emitente.endereco, emitente.fone1, emitente.fone2, movimentacao_produto.id_produto, produtos.Nome, movimentacao_produto.Funcionario, movimentacao_produto.Id_mecanico, mecanicos.nome AS Expr1, movimentacao_produto.Id_cliente, clientes.nome AS Expr2, movimentacao_produto.id_venda, movimentacao_produto.quantidade, movimentacao_produto.movimentacao, movimentacao_produto.Data_mov, movimentacao_produto.hora_mov FROM movimentacao_produto INNER JOIN produtos ON movimentacao_produto.id_produto = produtos.Id_produto INNER JOIN mecanicos ON movimentacao_produto.Id_mecanico = mecanicos.Id_mecanico CROSS JOIN clientes CROSS JOIN emitente WHERE (movimentacao_produto.id_produto = @id_produto) AND (movimentacao_produto.Data_mov = @Data_mov)
e no codigo do FORM eu uso isso:
Public Class Movimentação_de_produto Private Sub Movimentação_de_produto_Load(sender As Object, e As EventArgs) Handles MyBase.Load dtdata.Value = Now.Date 'TODO: esta linha de código carrega dados na tabela 'MovimentacaoDoProdutoDataSet1.MovimentacaoDataAdapter'. Você pode movê-la ou removê-la conforme necessário. Me.MovimentacaoDataAdapterTableAdapter.Fill(Me.MovimentacaoDoProdutoDataSet1.MovimentacaoDataAdapter, txt_id_produto.Text, dtdata.Text) Me.ReportViewer1.RefreshReport() End Sub Private Sub txt_id_produto_TextChanged(sender As Object, e As EventArgs) Handles txt_id_produto.TextChanged Me.MovimentacaoDataAdapterTableAdapter.Fill(Me.MovimentacaoDoProdutoDataSet1.MovimentacaoDataAdapter, txt_id_produto.Text, dtdata.Text) Me.ReportViewer1.RefreshReport() End Sub Private Sub btn_clientes_indica_Click(sender As Object, e As EventArgs) Handles btn_clientes_indica.Click Dim form = New Busca_produtos_relatorios(Me) form.ShowDialog() End Sub Private Sub dtdata_ValueChanged(sender As Object, e As EventArgs) Handles dtdata.ValueChanged Me.MovimentacaoDataAdapterTableAdapter.Fill(Me.MovimentacaoDoProdutoDataSet1.MovimentacaoDataAdapter, txt_id_produto.Text, dtdata.Text) Me.ReportViewer1.RefreshReport() End Sub End Class
quando executo esse segundo relatório da o seguinte erro "falha ao converter valor do parametro de string em datetime"
já não sei mais oque fazer !
Consegui ;.... = solução na linha de programação do form
Me.MovimentacaoDataAdapterTableAdapter.Fill(Me.MovimentacaoDoProdutoDataSet1.MovimentacaoDataAdapter, txt_id_produto.Text, dtdata.Value.ToShortDateString)
Me.ReportViewer1.RefreshReport()
Responder
Clique aqui para fazer login e interagir na Comunidade :)