USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Ligando um DataGrid a um BD via ADO
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 17/11/2004 00:33 hs            
Pessoal, o meu problema é o seguinte...
 
Estou ligando uma tabela a um datagrid via ADO
segue o algoritmo:
 
Dim DB As ADODB.Connection
Dim RS As ADODB.Recordset
Dim conn As String
 
Set DB = New ADODB.Connection
Set RS = New ADODB.Recordset
conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:Teste     este.mdb;Persist Security Info=False"
DB.Open conn
 
RS.Open "Select * from Teste ORDER BY nome DESC", DB
Set DataGrid1.DataSource = RS '"liga" a tabela ao Grid
 
Até aí blz... Só q quero fazer outras consultas. Por exemplo quero uma consulta em ordem Crescente.
Bom, me corrijam se eu estiver errado por favor...
Tentei 2 métodos:
 
1º Este => Set rs = db.Execute(cmdSQL)
em q cmdSQL = "Select * from Teste ORDER BY nome ASC" ' ordem crescente
 
Depois este:
Dim SQLCm As ADODB.Command
Set SQLCm = New ADODB.Command
Set SQLCm.ActiveConnection = DB
SQLCm.CommandText = cmdSQL 'o conteúdo desta variável é o mesmo citado acima
Set RS = SQLCm.Execute()
 
Bom, só q acontece o seguinte. Dá ERRO!
Depois do código acima executado nesta linha aqui => Set DataGrid1.DataSource = RS
 
Mais especificamente este erro:
Run-time error '7004':
The rowset is not bookmarkable.
 
1) O q está acontecendo?
2) Caso o erro acima não seja solucionável por estes métodos há outro em q eu possa usar o mesmo recordset para fazer consultas sem fechá-lo?
 
E aproveitando a boa vontade dos colegas... onde eu posso baixar o help do ADO mais recente??
 
Obrigado!Emoções
     
~Ð@®£@Ñ
Pontos: 2843 Pontos: 2843 Pontos: 2843
PELOTAS
RS - BRASIL
Postada em 17/11/2004 01:56 hs            
help do ADO, aqui no site mesmo (em portugues) :)
 
vc ja tentou colocar a conexao do tipo, adUseClient?
db.CursorLocation = adUseClient
     
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 17/11/2004 20:06 hs            
Oi Darlan tudo bem? Sim eu coloco adUseClient, lógico q antes q eu abra o recordset só q como faço isso depois? Sem fechar o recordset?
E também já tentei baixar o Help do ADO daqui do site mas não consigo baixar completo. O download é interrompido...
 
obrigado mesmo assim...
Por favor continuem tentando uma ajuda ae...
 
t+

     
Mateus
AMADORA
PT - PORTUGAL
Postada em 18/11/2004 09:27 hs            
Não sei se percebi o seu problema, mas talvez isto ajude:
 

Classificando registros em um recordset

Para classificar registros em um recordset podemos usar a propriedade Sort do recordset. A sintaxe é a seguinte:

objeto_Recordset.Sort  criterio [, criterio1, ... , criterion]

onde:

criterio  representa uma string que indica um campo do banco de dados pelo qual desejamos filtrar o recordset

obs: podemos usar as cláusulas ASC e DESC para indicar a ordem da classificação: Assim:

rs.Sort = "Nome ASC"   - classifica o recordset por nome na ordem ascendente         

rs.Sort = "Nome ASC , Nascimento DESC "  - classifica o recordset por nome na ordem ascendente e por data de nascimento na ordem descendente.

Para usar a propriedade Sort devemos considerar o seguinte:

  • O recordset deve estar usando um cursor do lado do Cliente - adUseClient
  • Um recordset que foi previamente filtrado através da propriedade Filter não pode ser classificado usando a propriedade Sort

Este exemplo foi retirado de www.macoratti.net


João Mateus

Se precisar de ajuda extra, visite:

http://joaomateus.planetaclix.pt

     
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 18/11/2004 17:05 hs            
AEEEEEEEEEEEEEEEEEEE!! GRAAAAAAAAAAAAAAAAAAANDE MATEUS!
 
VALEU MESMO! MUITO OBRIGADO! Emoções
 
Bom, isso resolve o problema principal....
Falta saber o pq deste erro qdo o RS é "setado" e se alguém sabe onde faço o download  da versão mais recente do ADO....
 
T+
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2026   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página