Bom Dia Pessoal,
Sou novo por aqui, é estou precisando de ajuda em relação a uma consulta sql no visual studio 2010 com banco de dados access, fazendo a consulta por data da tudo certo mas quando tento incluir pesquisar clientes junto no periodo da retorna nada, vou colocar abaixo o código que estou usando para fazer a consulta entre as datas.
Private Sub ConsultaData()
Dim DtaInicial As String
Dim DtaFinal As String
Dim tabela As New DataTable
Dim Cliente As String
Dim strsql As String
DtaInicial = txtdtainicial.Text.ToString
DtaFinal = txtdtafinal.Text.ToString
Cliente = Me.txtcliente.Text
' essa consulta e por data - aqui funciona certinho.
strsql = "Select * from XmlNfeProduto Where DtaEmissão between @DtaInicial And @DtaFinal order by DtaEmissão"
Dim con As New OleDbConnection
Dim cmd As New OleDbCommand
Try
con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Central-BancoDados\BdControleXml.accdb"
con.Open()
cmd.Connection = con
cmd.Parameters.AddWithValue("@DtaInicial", DtaInicial)
cmd.Parameters.AddWithValue("@DtaFinal", DtaFinal)
cmd.Parameters.AddWithValue("@NomeCliente", Cliente)
cmd.CommandText = strsql
Using reader As OleDbDataReader = cmd.ExecuteReader()
tabela.Load(reader)
Me.dgvvendas.DataSource = tabela
End Using
Catch ex As Exception
MessageBox.Show("Erro : " & ex.Message, "Dados Não Existe, Favor verificar Datas!!!")
Finally
con.Close()
End Try
Dim SomaColunaQuantidade As String = tabela.Compute("SUM(Quantidade)", Nothing).ToString
Me.txttotalqntd.Text = Convert.ToInt32(SomaColunaQuantidade)
Dim SomaColunaValorProduto As String = tabela.Compute("SUM(ValorProduto)", Nothing).ToString
Me.txttotalproduto.Text = FormatCurrency(SomaColunaValorProduto)
Me.txttotalregistro.Text = Me.dgvvendas.RowCount - 1
Me.XmlNfeProdutoBindingSource.DataSource = tabela
Me.ReportViewerVendas.RefreshReport()
End Sub
agora se eu incluir na consulta por cliente também no periodo, não retorna nada e nem erro, o que pode estar acontecendo, segue abaixo com consulta do cliente junto,
strsql = "Select * from XmlNfeProduto Where RazãoSocial=@NomeCliente and DtaEmissão between @DtaInicial And @DtaFinal order by DtaEmissão"
não funciona, ai tentei assim
strsql = "SELECT TOP 20 RazãoSocial,DtaEmissão FROM XmlNfeProduto WHERE RazãoSocial = @NomeCliente AND DtaEmissão BETWEEN @DtaInicial AND @DtaFinal ORDER BY DtaEmissão,RazãoSocial"
também não funciona assim,
Alguem pode me dar uma ajuda para resolver esse problema, preciso fazer uma consulta por periodo e cliente na mesma consulta, como seria isso.
Desde já agradeço, muito obrigado.
Pablo Sousa
Sou novo por aqui, é estou precisando de ajuda em relação a uma consulta sql no visual studio 2010 com banco de dados access, fazendo a consulta por data da tudo certo mas quando tento incluir pesquisar clientes junto no periodo da retorna nada, vou colocar abaixo o código que estou usando para fazer a consulta entre as datas.
Private Sub ConsultaData()
Dim DtaInicial As String
Dim DtaFinal As String
Dim tabela As New DataTable
Dim Cliente As String
Dim strsql As String
DtaInicial = txtdtainicial.Text.ToString
DtaFinal = txtdtafinal.Text.ToString
Cliente = Me.txtcliente.Text
' essa consulta e por data - aqui funciona certinho.
strsql = "Select * from XmlNfeProduto Where DtaEmissão between @DtaInicial And @DtaFinal order by DtaEmissão"
Dim con As New OleDbConnection
Dim cmd As New OleDbCommand
Try
con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Central-BancoDados\BdControleXml.accdb"
con.Open()
cmd.Connection = con
cmd.Parameters.AddWithValue("@DtaInicial", DtaInicial)
cmd.Parameters.AddWithValue("@DtaFinal", DtaFinal)
cmd.Parameters.AddWithValue("@NomeCliente", Cliente)
cmd.CommandText = strsql
Using reader As OleDbDataReader = cmd.ExecuteReader()
tabela.Load(reader)
Me.dgvvendas.DataSource = tabela
End Using
Catch ex As Exception
MessageBox.Show("Erro : " & ex.Message, "Dados Não Existe, Favor verificar Datas!!!")
Finally
con.Close()
End Try
Dim SomaColunaQuantidade As String = tabela.Compute("SUM(Quantidade)", Nothing).ToString
Me.txttotalqntd.Text = Convert.ToInt32(SomaColunaQuantidade)
Dim SomaColunaValorProduto As String = tabela.Compute("SUM(ValorProduto)", Nothing).ToString
Me.txttotalproduto.Text = FormatCurrency(SomaColunaValorProduto)
Me.txttotalregistro.Text = Me.dgvvendas.RowCount - 1
Me.XmlNfeProdutoBindingSource.DataSource = tabela
Me.ReportViewerVendas.RefreshReport()
End Sub
agora se eu incluir na consulta por cliente também no periodo, não retorna nada e nem erro, o que pode estar acontecendo, segue abaixo com consulta do cliente junto,
strsql = "Select * from XmlNfeProduto Where RazãoSocial=@NomeCliente and DtaEmissão between @DtaInicial And @DtaFinal order by DtaEmissão"
não funciona, ai tentei assim
strsql = "SELECT TOP 20 RazãoSocial,DtaEmissão FROM XmlNfeProduto WHERE RazãoSocial = @NomeCliente AND DtaEmissão BETWEEN @DtaInicial AND @DtaFinal ORDER BY DtaEmissão,RazãoSocial"
também não funciona assim,
Alguem pode me dar uma ajuda para resolver esse problema, preciso fazer uma consulta por periodo e cliente na mesma consulta, como seria isso.
Desde já agradeço, muito obrigado.
Pablo Sousa