TRABALHANDO COM DATAS

FAUSTOARAXA 25/05/2010 08:20:42
#342686
preciso fazer uma pesquisa de data a data tipo uma informa a data inicial e a final e depois aparece a consulta em msflexgrid

eu que montei este codigo baseado em apostila e pesquisa feitas na internet mas ele não fuciona , vcs poderiam por favor me ajudar a ver o que esta acontecendo

a conexão é via ADO usando codigo que esta perfeitamente funcionado em um Add mudule o banco de dados é access 2000
Vocês poderia analisar este codigo para mim e me ajudar idenficar o erro porque não funciona agradeço muito pela atenção vbmania
Simplismente não aparece nada informo as datas e clicko no botão pesquisa e não aparece nada no grid não da nenhum erro nada oque será
Private Sub cmdProcessar_Click()

Dim cnnComando As New ADODB.Command
Dim rsSelecao As New ADODB.Recordset


Screen.MousePointer = vbHourglass
With cnnComando
.ActiveConnection = cnnPDV
.CommandType = adCmdText
.CommandText = [Ô]SELECT * FROM SAIDA ORDER BY B5 = [ô][Ô] & txts1.Text & [Ô][ô][Ô]
Set rsSelecao = .Execute


With rsSelecao
If .EOF And .BOF Then
If IsDate(txts1) = True And IsDate(txts2) = True Then


With grid7
.Row = .Rows - 1
.Rows = .Rows + 1

.TextMatrix(0, 0) = [Ô]Código[Ô]
.ColWidth(0) = 800
.TextMatrix(grid7.Row, 0) = rsSelecao!B1

.TextMatrix(0, 1) = [Ô]Produto[Ô]
.ColWidth(1) = 3500
.TextMatrix(grid7.Row, 1) = rsSelecao!B2


.TextMatrix(0, 2) = [Ô]Qt[Ô]
.ColWidth(2) = 800
.TextMatrix(grid7.Row, 2) = rsSelecao!B3

.TextMatrix(0, 3) = [Ô]N°Pedido[Ô]
.ColWidth(3) = 800
.TextMatrix(grid7.Row, 3) = rsSelecao!B4

.TextMatrix(0, 4) = [Ô]Data[Ô]
.ColWidth(4) = 1500
.TextMatrix(grid7.Row, 4) = Format(rsSelecao!B5, [Ô]##/##/####[Ô])

rsSelecao.MoveNext


If grid7.Rows - 1 > 0 Then
grid7.Row = 1
End If


End With
End If
End If
End With
End With


[ô]Elimina o command e o recordset da memória:
Set rsSelecao = Nothing
Set cnnComando = Nothing
Screen.MousePointer = vbDefault
Exit Sub
End Sub
MARCELO.TREZE 25/05/2010 08:39:32
#342688
Resposta escolhida
Colega para que esta consulta funcione o campo no banco de dados deve obrigatóriamente ser como data hora

a consulta é basica mente simples veja

usando seu exemplo acima

Private Sub cmdProcessar_Click()

Dim cnnComando As New ADODB.Command
Dim rsSelecao As New ADODB.Recordset

Screen.MousePointer = vbHourglass
With cnnComando
.ActiveConnection = cnnPDV
.CommandType = adCmdText
.CommandText = [Ô]SELECT * FROM SAIDA WHERE B5 BETWEEN #[Ô] & Format(txtDataIni.Text,[Ô]mm/dd/yyyy[Ô]) & [Ô]# AND #[Ô] & Format(txtDataFim.Text,[Ô]mm/dd/yyyy[Ô]) & [Ô]#[Ô]
Set rsSelecao = .Execute
End With

With grid7
.Rows = 1
.FixedCols = 0
.FormatString = [Ô]Código|Produto|Qt|No Pedido|Data[Ô]
.ColWidth(0) = 800
.ColWidth(1) = 3500
.ColWidth(2) = 800
.ColWidth(3) = 800
.ColWidth(4) = 1500

With rsSelecao
Do While Not .EOF
.Rows = .Rows + 1
.TextMatrix(.Rows - 1, 0) = !B1
.TextMatrix(.Rows - 1, 1) = !B2
.TextMatrix(.Rows - 1, 2) = !B3
.TextMatrix(.Rows - 1, 3) = !B4
.TextMatrix(.RowS - 1, 4) = Format(!B5, [Ô]dd/mm/yyyy[Ô])

.MoveNext

Loop

End With
End With


[ô]Elimina o command e o recordset da memória:
Set rsSelecao = Nothing
Set cnnComando = Nothing
Screen.MousePointer = vbDefault
Exit Sub
End Sub


Bom lembre-se apenas de criar os campos txtDataIni e txtDataFIM, e se o campo B5 no banco de dados nào estiver com Data/Hora também não funcionará

teste

FAUSTOARAXA 25/05/2010 09:43:02
#342704
muito obrigado amigo
MARCELO.TREZE 25/05/2010 13:10:56
#342723
por favor se funcionou encerre o tópico.
Tópico encerrado , respostas não são mais permitidas