ERRO AO GERAR RELATORIO REPORTVIWER APLICAÇÃO .NET SQL datetimepicker falha ao converter valor do parametro de string em datetime
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
Curtidas 0
Respostas
Wictor
02/05/2019
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()
GOSTEI 0