CLASSIFICAR DADOS

DOUGLASGARCIA 13/11/2011 16:13:06
#389078
olá a todos

tenho um formulario que utiliza os seguintes codigos:

Private Sub Form_Load()

Call refreshData
Call Disp

End Sub

Private Sub Disp()
With rot8
If .BOF = False And .EOF = False Then
txtcodigo = !codigo
txtdescrição = !descrição

End If
End With
End Sub

Private Sub refreshData()
Set rot8 = New ADODB.Recordset
rot8.Open [Ô] ROTEIRO_8[Ô], roteiro, 1, 2
End Sub

como fazer com que os dados sejam classificados em ordem crecente?

DOUGLASGARCIA 14/11/2011 10:56:50
#389116
ja descobri como fazer
ficou assim
Private Sub refreshData()
Set rot8 = New ADODB.Recordset
rot8.Open [Ô] ROTEIRO_8 ORDER BY descrição[Ô], roteiro, 1, 2
End Sub


agora tenho uma outra duvida

nesta mesma consulta presizo filtrar apenas uns determinados registros
ex:
apenas o pedido que venda que estiver num txtbox

como fazer?
ALVAROVB2009 14/11/2011 11:52:19
#389119
Basicamente faz assim

Se o campo, for um tipo texto faz assim, deixei as aspas simples separadas apenas para destacar, e estou usando sua variável do banco
dim Rs as adodb.recordset
set rs = new ado.recordset
rs.open [Ô]Select * from suatabela where seucampo = [ô] [Ô] & seutexto.text & [Ô] [ô] [Ô], roteiro, 1 ,2

Se for um campo numérico, não necessita das aspas simples
rs.open [Ô]Select * from suatabela where seucampo = [Ô] & seutexto.text , roteiro, 1 ,2

Agora se for um campo data, precisa ver qual é o tipo de banco, pois cada um tem sua particularida

DOUGLASGARCIA 14/11/2011 14:10:49
#389135
apareceu o seguinte erro:

Private Sub Disp()
With Rs
If .BOF = False And .EOF = False Then (aqui dá o erro: operação não permitida quando o objeto esta fechado)
txtcodpedido = !codigopedido
txtcodprod = !codigoproduto
txtdescrição = !descriçãoproduto
txtquantidade = !quantidadepedido


End If
End With
End Sub


oque pode ser?
CHARLESTON10 14/11/2011 14:55:30
#389136
Deu esse erro pq vc nao abriu a tabela para poder chamar a rotina Disp
ALVAROVB2009 14/11/2011 15:43:39
#389140
Citação:

:
Basicamente faz assim

Se o campo, for um tipo texto faz assim, deixei as aspas simples separadas apenas para destacar, e estou usando sua variável do banco
dim Rs as adodb.recordset
set rs = new ado.recordset
rs.open [Ô]Select * from suatabela where seucampo = [ô] [Ô] & seutexto.text & [Ô] [ô] [Ô], roteiro, 1 ,2

Se for um campo numérico, não necessita das aspas simples
rs.open [Ô]Select * from suatabela where seucampo = [Ô] & seutexto.text , roteiro, 1 ,2

Agora se for um campo data, precisa ver qual é o tipo de banco, pois cada um tem sua particularida






Então Douglas faltou o que Charleston10 falou, abrir a parte inicial da tabela como coloquei no exemplo e/ou se vc abriu no botão e depois chamou a função, realmente o sistema não vai encontrar mesmo a variável aberta. Nesse caso crie a variável no General do formulário assim:
dim Rs as adodb.recordset

E no botão faça isso
set rs = new ado.recordset
rs.open [Ô]Select * from suatabela where seucampo = [ô] [Ô] & seutexto.text & [Ô] [ô] [Ô], roteiro, 1 ,2

Fazendo isso vc não terá mais problema, ok

Qqer coisa posta ai
DOUGLASGARCIA 14/11/2011 16:16:35
#389141
Fiz como sitado acima

deu o seguinte erro:

Private Sub refreshData()
Set Rs = New ado.Recordset (aqui da o erro: user defined type not defined)
Set Rs = New adodb.Recordset
Rs.Open [Ô]Select * from PEDIDO_VENDA_SUB where codigopedido = [ô] [Ô] & txtDadosPesquisa.Text & [Ô] [ô] [Ô], cnSQL, 1, 2
ALVAROVB2009 14/11/2011 16:44:35
#389143
Douglasgarcia desculpe essa linha eu coloquei errado, não é
Set Rs = New ado.Recordset
e sim
Set Rs = New adodb.Recordset

Apenas exclua essa linha e deixe a linha que esta embaixo
DOUGLASGARCIA 14/11/2011 16:53:37
#389144
agora não deu erro, mas não aparece os dados, os txtbox estão em branco
ALVAROVB2009 14/11/2011 17:02:11
#389146
Douglasgarcia o seu campo codigopedido é do tipo texto ou numérico, se for numérico
substitua a linha
Rs.Open [Ô]Select * from PEDIDO_VENDA_SUB where codigopedido = [ô] [Ô] & txtDadosPesquisa.Text & [Ô] [ô] [Ô], cnSQL, 1, 2
por
Rs.Open [Ô]Select * from PEDIDO_VENDA_SUB where codigopedido = [Ô] & txtDadosPesquisa.Text , cnSQL, 1, 2
sem as aspas simples


Senão pegue esse comando e rode ele no banco para saber se estra trazendo algum resultado
DOUGLASGARCIA 14/11/2011 17:14:13
#389147
deu certo muito obrigado

por isso que este forum é o melhor que ja vi

parabens pelo sucesso
Página 1 de 2 [12 registro(s)]
Tópico encerrado , respostas não são mais permitidas