UM GRID

USUARIO.EXCLUIDOS 20/04/2007 08:05:30
#212876
Bem galera até então eu tinha programado apenas em VBA, mais agora começei em vb e estou me saido bem. então etou aqui para pedir ajuda de como faço esse procedimento:
Criei uma tabela de usuário onde nessa tabela tenhe os seguintes campos "Código" e "Nome" e fiz um form com um grid e uma caixa de texto o que eu quero é o seguinte a medida que eu fosse digitando na caixa de texto fosse filtrando no grid ou seja, se eu digitasse o nome Nil já fosse aparecendo todas as pessoas como esse nome nil e se fosse possível a seleção ficasse em cima do registro especificado. como nesse fórum só tem fera acho que vcs entenderem
Uso minha concexao da seguinte forma
o nome do meu DbGrid é DbGridUsuario

Private area As Workspace
Private BD As Database
Private tblConfig As Recordset
Private tblUsuario As Recordset

Private Sub Form_Load()

Set area = DBEngine.Workspaces(0)
Set BD = area.OpenDatabase("C:\SISAD\Banco\BD.mdb")
'----------------------------------------------------------
Set tblUsuario = BD.OpenRecordset("Usuario", dbOpenTable)

End Sub


Agradeço

JB207 20/04/2007 09:11:53
#212889
Baixe esse exemplo, talvez ele possa te ajudar muito.

http://www.vbmania.com.br/vbmania/files/cadusu.zip

Abraços.

USUARIO.EXCLUIDOS 20/04/2007 09:24:09
#212893
Nildglan, sem querer incomodar voce, ja que esta começando agora, acho melhor vc começar com ADO e nao DAO.
USUARIO.EXCLUIDOS 20/04/2007 09:35:04
#212900
cacaro amigo ACG1574 para fazer minha conexao através do ADO como faço
onome do meu banco de dados é BD
e tenho uma tabela chamada Usuario
como faço a conexao
valeu pela dica
USUARIO.EXCLUIDOS 20/04/2007 09:48:32
#212908
cacaro amigo ACG1574 para fazer minha conexao através do ADO como faço
onome do meu banco de dados é BD
e tenho uma tabela chamada Usuario
como faço a conexao
valeu pela dica
TAMANINI 20/04/2007 09:59:05
#212910
Resposta escolhida
Primeiro faça a referência a ADO no menu Project>>References>>Microsoft ActiveX Data Objects 2.X Library.
Existem vários exemplos aqui no site sobre ADO de uma pesquisada, um exemplo básico para seu banco de dados seria:
Public dbCon   As ADODB.Connection   ' conexão com o banco
Public rstTbl As ADODB.Recordset ' recordset para as tabelas do BD
' Supondo que seu BD foi feito em access 2000
' o engine type será = 5, aqui no site tem mais informações sobre o provider
Set dbCon = New ADODB.Connection
With dbCon
.CursorLocation = adUseClient
.Provider = "Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine Type=5;"
.Properties("Data Source") = "C:\SISAD\Banco\BD.mdb"
.Open
End With

' Para fazer uma consulta simples, utilize sempre os comandos DML (SELECT, INSERT, DELETE e UPDATE), assim facilita a migração de um BD em access para um outro BD qualquer.
' tipo de cursor e o tipo de bloqueio para os recordset vc tb pode obter informações aqui no site, só estou colocando um exemplo de como fazer um consulta bem simples:
Set rstTbl = New ADODB.Recordset ' instâncio o recordset
rstTbl.Open "SELECT nome, sobrenome FROM Usuario WHERE id=1", dbCon, adOpenForwardOnly, adLockReadOnly
text1.text = rstTbl.Fields(0).value
text2.text = rstTbl.Fields(1).value
rstTbl.close
Set rstTbl = Nothing

TAMANINI 20/04/2007 10:21:32
#212916
Quanto a filtragem, aconselho a digitar em um campo textbox e ao clicar no botão filtrar, vc faria um SELECT para consultar nomes que comecem com "Nil", através da instrução LIKE no SELECT. Pois se for da maneira como vc está querendo irá consumir muito recurso, ao ficar sempre fazendo uma consulta no BD toda vez que for digitando um caracter.
Ou vc poderia trazer todos os dados do BD em um listbox e assim procurar determinado nome, conforme for digitando no textbox, sem precisar fazer novas consultas no BD:
Algo semelhante como o código abaixo:
http://www.vbmania.com.br/vbmania/vbmdetail.php?varID=2298&TxtSearch=busca%20palavra&CmbSort=ftitulo&varPagina=1
USUARIO.EXCLUIDOS 20/04/2007 10:26:59
#212921
valeu amigos
Tópico encerrado , respostas não são mais permitidas