NÃO CARREGA PESQUISA
Exemplo, ele pega a data de inicio, pesquisa se existe a data na tabela, registra o cod da data na variável A (Integer) e a data final ele pesquisa se existe a data na tabela e registra também o cod na variável B.
Ficou da seguinte forma:
Citação:Dim codI, codF, con As Integer
Private Sub CarregaGrid()
Try
Dim carregadata As New clnDepCard
Dim drDados As System.Data.SqlClient.SqlDataReader
drDados = carregadata.ListarData(Me.txtDataInicio.Text)
If drDados.Read Then
codI = CInt(drDados([Ô]cod[Ô]))
drDados = carregadata.ListarData(Me.txtDataFinal.Text)
If drDados.Read Then
codF = CInt(drDados([Ô]cod[Ô]))
con = codI
While con <= codF
dgv.DataSource = carregadata.ListaCod(con)
con = con + 1
End While
Else
MsgBox([Ô]Data Final não identificado[Ô], MsgBoxStyle.Critical, [Ô]Data não encontrado[Ô])
End If
Else
MsgBox([Ô]Data inicial não identificado[Ô], MsgBoxStyle.Critical, [Ô]Data não encontrado[Ô])
End If
Catch ex As Exception
MsgBox([Ô]Erro na codificação[Ô], MsgBoxStyle.Critical, [Ô]Erro ao executar[Ô])
End Try
End Sub
A janela é esta anexada!
Se alguém puder me ajudar.
eu sempre opto por enviar o resultado todo de uma vez.....
mas olhei no site do macoratti e vi uma forma meio [Ô]na unha[Ô] de preencher...
Private Sub preencheDataGridView()
[ô]preenche o grid com alguns dados
Dim row0 As String() = {[Ô]1[Ô], [Ô]Macoratti[Ô], [Ô]11/02/1968[Ô]}
Dim row1 As String() = {[Ô]2[Ô], [Ô]Jefferson[Ô], [Ô]12/09/1995[Ô]}
Dim row2 As String() = {[Ô]3[Ô], [Ô]Jessica[Ô], [Ô]11/11/1971[Ô]}
Dim row3 As String() = {[Ô]4[Ô], [Ô]Janice[Ô], [Ô]06/07/1990[Ô]}
Dim row4 As String() = {[Ô]5[Ô], [Ô]Mirima[Ô], [Ô]5/07/1981[Ô]}
[ô]adiciona as linhas
With Me.meuDataGridView.Rows
.Add(row0)
.Add(row1)
.Add(row2)
.Add(row3)
.Add(row4)
End With
[ô]adiciona as colunas
With Me.meuDataGridView
.Columns(0).DisplayIndex = 0
.Columns(1).DisplayIndex = 1
.Columns(2).DisplayIndex = 2
End With
End Sub
http://www.macoratti.net/07/08/vbn5_dvc.htm
de qq forma pq não trabalha com as datas propriamente ditas e faz a busca com o between e retorna um datasource, e alimenta de uma vez so o DGV
para preencher linha a linha ai sim, mas ai não usa datasource.....pode ser usado algo como o código q postei
[txt-color=#e80000]Dim carregadata As New clnDepCard[/txt-color]
Se o pessoal tivesse compreendido seu código já teria respostas afirmativas.
Citação:
Imports System.Data.SqlClient
Imports System.Text
Public Class clnDepCard
Private _cod As Integer
Private _Data As String
Private _ValorD As String
Private _ValorT As String
Private _Valor As String
Private _Desconto As String
Private _Bandeira As String
Private _Taxa As String
Public Property Taxa As String
Get
Return _Taxa
End Get
Set(ByVal value As String)
_Taxa = value
End Set
End Property
Public Property Cod As Integer
Get
Return _cod
End Get
Set(ByVal value As Integer)
_cod = value
End Set
End Property
Public Property Data As String
Get
Return _Data
End Get
Set(ByVal value As String)
_Data = value
End Set
End Property
Public Property ValorD As String
Get
Return _ValorD
End Get
Set(ByVal value As String)
_ValorD = value
End Set
End Property
Public Property ValorT As String
Get
Return _ValorT
End Get
Set(ByVal value As String)
_ValorT = value
End Set
End Property
Public Property Valor As String
Get
Return _Valor
End Get
Set(ByVal value As String)
_Valor = value
End Set
End Property
Public Property Desconto As String
Get
Return _Desconto
End Get
Set(ByVal value As String)
_Desconto = value
End Set
End Property
Public Property Bandeira As String
Get
Return _Bandeira
End Get
Set(ByVal value As String)
_Bandeira = value
End Set
End Property
Public Function ListarTaxa(ByVal strBandeira As String) As SqlDataReader
Dim strQuery As New StringBuilder
strQuery.Append([Ô]Select Taxa From t_Bandeira Where Bandeira like [ô][Ô] & strBandeira & [Ô]%[ô][Ô])
Dim _cldBancoDados As New cldBancoDados
Return _cldBancoDados.RetornaDataReader(strQuery.ToString)
End Function
Public Function ListaInicio(ByVal strDescricao As String) As DataSet
Dim strQuery As New StringBuilder
strQuery.Append([Ô]Select Data, Valor, Bandeira,VALORDESC From t_Debito Where Data like [ô]%[Ô] & strDescricao & [Ô]%[ô] Order by Data[Ô])
Dim _cldBancoDados As New cldBancoDados
Return _cldBancoDados.RetornaDataSet(strQuery.ToString)
End Function
Public Sub Excluir(ByVal codigo As Integer)
Dim strQuery As New StringBuilder
strQuery.Append([Ô]Delete from t_Deposito Where cod=[ô][Ô] & codigo & [Ô][ô][Ô])
Dim _cldBancoDados As New cldBancoDados
_cldBancoDados.ExecutaComando(strQuery.ToString)
End Sub
Public Sub Gravar1() [ô]Ao adicionar valor unitario e apresentar no dgv principal
Dim strQuery As New StringBuilder
strQuery.Append([Ô]Insert into t_Debito (Data, Valor, Bandeira, VALORDESC) Values ([ô][Ô] & _Data & [Ô][ô],[ô][Ô] & _Valor & [Ô][ô],[ô][Ô] & _Bandeira & [Ô][ô],[ô][Ô] & _Desconto & [Ô][ô])[Ô])
Dim _cldBancoDados As New cldBancoDados
_cldBancoDados.ExecutaComando(strQuery.ToString)
End Sub
Public Sub Gravar2() [ô]Soma a coluna do valor, soma a coluna ja descontado e apresenta embaixo.
Dim strQuery As New StringBuilder
strQuery.Append([Ô]Insert into t_TotalDia (ValorTotal, ValorDeposito, Data) Values ([ô][Ô] & _ValorT & [Ô][ô],[ô][Ô] & _ValorD & [Ô][ô],[ô][Ô] & _Data & [Ô][ô])[Ô])
Dim _cldBancoDados As New cldBancoDados
_cldBancoDados.ExecutaComando(strQuery.ToString)
End Sub
Public Sub Gravar3() [ô]Gravar Bandeira dos Cartões
Dim strQuery As New StringBuilder
strQuery.Append([Ô]Insert into t_Bandeira (Bandeira, Taxa) Values ([ô][Ô] & _Bandeira & [Ô][ô],[ô][Ô] & _Taxa & [Ô][ô])[Ô])
Dim _cldBancoDados As New cldBancoDados
_cldBancoDados.ExecutaComando(strQuery.ToString)
End Sub
Public Sub Alterar1() [ô]Altera registro do recibo cliente
Dim strQuery As New StringBuilder
strQuery.Append([Ô]UPDATE t_PagCliente Set Valor = [ô][Ô] & _Valor & [Ô][ô], ValorDes = [ô][Ô] & _Desconto & [Ô][ô], Bandeira = [ô][Ô] & _Bandeira & [Ô][ô] Where cod = [ô][Ô] & _cod & [Ô][ô][Ô])
Dim _cldBancoDados As New cldBancoDados
_cldBancoDados.ExecutaComando(strQuery.ToString)
End Sub
Public Sub Alterar2() [ô]Altera registro da Bandeira
Dim strQuery As New StringBuilder
strQuery.Append([Ô]UPDATE t_Bandeira Set Bandeira = [ô][Ô] & _Bandeira & [Ô][ô], Taxa = [ô][Ô] & _Taxa & [Ô][ô] Where cod = [ô][Ô] & _cod & [Ô][ô][Ô])
Dim _cldBancoDados As New cldBancoDados
_cldBancoDados.ExecutaComando(strQuery.ToString)
End Sub
Public Function ListarCliente(ByVal cod As String) As SqlDataReader [ô]Sistema de busca para carregar em formulario
Dim strQuery As String
strQuery = [Ô]select * from t_PagCliente Where cod[ô][Ô] & cod & [Ô][ô][Ô]
Dim _cldBancoDados As New cldBancoDados
Return _cldBancoDados.RetornaDataReader(strQuery)
End Function
Public Function CarregaCod1(ByVal DataInicial As String, ByVal DataFinal As String) As SqlDataReader [ô]Sistema de busca para DGV
Dim strQuery As String
[ô]Sistema de pesquisa a partir de uma data até determinada data
[ô]strQuery = [Ô]Select (os campos) from (tabela) where (campo da tabela) between (data inicial) and (data final)[Ô]
strQuery = [Ô]Select Data, Valor, ValorDes from t_PagCliente where Data between [ô][Ô] & DataInicial & [Ô][ô] and [ô][Ô] & DataFinal & [Ô][ô][Ô]
Dim _cldBancoDados As New cldBancoDados
Return _cldBancoDados.RetornaDataReader(strQuery.ToString)
End Function
Public Function CarregaCod2(ByVal Descricao As String) As SqlDataReader [ô]Ao add um recibo novo, sera executado este bloco
Dim strQuery As String
strQuery = [Ô]Select Data, Valor, ValorDes From t_PagCliente[Ô]
Dim _cldBancoDados As New cldBancoDados
Return _cldBancoDados.RetornaDataReader(strQuery.ToString)
End Function
Public Function CarregaBandeira() As DataSet
Dim strQuery As New StringBuilder
strQuery.Append([Ô]Select Cod, Bandeira From t_Bandeira Order By Bandeira[Ô])
Dim _cldBancoDados As New cldBancoDados
Return _cldBancoDados.RetornaDataSet(strQuery.ToString)
End Function
Public Function Lista(ByVal strDescricao As String) As SqlDataReader [ô]Retorna dataset com o select da pesquisa (DGV)
Dim strQuery As String
strQuery = [Ô]Select data from t_TotalDia where Data=[ô][Ô] & strDescricao & [Ô][ô][Ô]
Dim _cldBancoDados As New cldBancoDados
Return _cldBancoDados.RetornaDataReader(strQuery)
End Function
Public Function ListaData(ByVal strDescricao As String) As DataSet [ô]Retorna dataset com o select da pesquisa (DGV)
Dim strQuery As New StringBuilder
strQuery.Append([Ô]Select * From t_TotalDia where cod like [ô]%[Ô] & strDescricao & [Ô]%[ô] Order by Data[Ô])
Dim _cldBancoDados As New cldBancoDados
Return _cldBancoDados.RetornaDataSet(strQuery.ToString)
End Function
Public Function ListarData(ByVal strDescricao As String) As SqlDataReader
Dim strQuery As String
strQuery = [Ô]Select cod from t_TotalDia where data=[ô][Ô] & strDescricao & [Ô][ô][Ô]
Dim _cldBancoDados As New cldBancoDados
Return _cldBancoDados.RetornaDataReader(strQuery)
End Function
End Class
Sei que existe algumas funções repetidas, mas no meio a correria as vezes esqueço de ler que já tenho determinada função!
Citação:
Public Class frmPesqMes
Dim Meses As String
Private Sub CarregaDGV()
Meses = txtDataInicio.Text
Dim Mes As New clnDepCard
With dgv
.DataSource = Mes.ListaData(txtDataInicio.Text).Tables(0)
.AutoResizeColumns()
.Columns(0).HeaderText = CStr([Ô]Codigo[Ô])
.Columns(1).HeaderText = CStr([Ô]Valor Total[Ô])
.Columns(2).HeaderText = CStr([Ô]Valor Do Deposito[Ô])
.Columns(3).HeaderText = CStr([Ô]Data[Ô])
End With
If CInt(dgv.RowCount) = 0 Then
MsgBox([Ô]Não foi encontrado nenhum registro no mês [Ô] & Meses, MsgBoxStyle.Critical, [Ô]Data não encontrada[Ô])
txtDataInicio.Text = [Ô][Ô]
Else
txtDataInicio.Text = [Ô][Ô]
End If
End Sub
Private Sub btnPesquisar_Click(sender As Object, e As EventArgs) Handles btnPesquisar.Click
Try
If txtDataInicio.Text = [Ô]/[Ô] Then
MsgBox([Ô]Preencher campo dados[Ô], MsgBoxStyle.Critical, [Ô]Campo vazio[Ô])
Else
CarregaDGV()
End If
Catch ex As Exception
MsgBox([Ô]Erro na codificação[Ô], MsgBoxStyle.Critical, [Ô]CONTATE PROGRAMADOR[Ô])
End Try
End Sub
End Class
Só que errei nesta função na classe:
Citação:
Public Function ListaData(ByVal strDescricao As String) As DataSet [ô]Retorna dataset com o select da pesquisa (DGV)
Dim strQuery As New StringBuilder
strQuery.Append([Ô]Select * From t_TotalDia where cod like [ô]%[Ô] & strDescricao & [Ô]%[ô] Order by Data[Ô])
Dim _cldBancoDados As New cldBancoDados
Return _cldBancoDados.RetornaDataSet(strQuery.ToString)
End Function
Public Function ListarData(ByVal strDescricao As String) As SqlDataReader
Dim strQuery As String
strQuery = [Ô]Select cod from t_TotalDia where data=[ô]%[Ô] & strDescricao & [Ô]%[ô][Ô]
Dim _cldBancoDados As New cldBancoDados
Return _cldBancoDados.RetornaDataReader(strQuery)
End Function
Criando as tabelas:
Citação:
CREATE TABLE [dbo].[t_Debito](
[cod] [int] IDENTITY(1,1) NOT NULL,
[VALOR] [varchar](50) NULL,
[VALORDESC] [varchar](10) NOT NULL,
[BANDEIRA] [varchar] (45) NULL,
[DATA] [varchar] (13) NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[t_TotalDia](
[cod] [int] IDENTITY(1,1) NOT NULL,
[ValorTotal] [varchar](50) NULL,
[ValorDeposito] [varchar](50) NOT NULL,
[Data] [varchar] (13) NULL
) ON [PRIMARY]
GO
O que eu quero fazer é o seguinde, existe registro do dia 01/10/2015, 05/10/2015, 20/10/2015 e por ai vai,
primeiro passo:
Selecionar todos os registros que tenha no atributo data 10/2015 (Lembrando que a data estou salvando como string)
Segundo passo:
Selecionar um perÃodo de data, meios que criei e pesquisar a data inicial, pegar o cod (tanto cod da data inicial e data final) e ir somando e jogando na DGV ate completar o cod da data final