TRABALHANDO COM DATAS
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
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
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
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
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
muito obrigado amigo
por favor se funcionou encerre o tópico.
Tópico encerrado , respostas não são mais permitidas