USAR COMBO EM DATABASE
Olá pessoal, já respondi tanto... hora de fazer uma perguntinha...
Tipo, estou criando um programa de cadastro de bairros de uma cidade não muito grande, onde a prefeitura pediu para que eu colocasse um combo no campo "nome do bairro" que é o INDEX. Ou seja, para usar como navegador.
Só que eu não sei como enche-lo ou muito menos ao clicar no nome do bairro, que terá no combo, ele ir para o registro referente.
Bem, para encher eu tentei isso:
Se alguém puder me ajudar, fico grato.
Tipo, estou criando um programa de cadastro de bairros de uma cidade não muito grande, onde a prefeitura pediu para que eu colocasse um combo no campo "nome do bairro" que é o INDEX. Ou seja, para usar como navegador.
Só que eu não sei como enche-lo ou muito menos ao clicar no nome do bairro, que terá no combo, ele ir para o registro referente.
Bem, para encher eu tentei isso:
do while i EOF
combo.additem rs!nome_bairro
loop
Se alguém puder me ajudar, fico grato.
Não está longe.
...
rs.MoveFirst
...
While Not rs.EOF = True
Combo.AddItem rs.Fields("nome_bairro")
rs.MoveNext
Wend
...
E então, na hora de movimentar para o registro solicitado, use um filtro:
...
rs.Filter = "nome_bairro = '" & combo.Text & "'"
...
Não esqueça, depois, ao voltar á tela (ou situação) inicial, de remover o filtro:
...
rs.Filter = 0
...
E é isso.
...
rs.MoveFirst
...
While Not rs.EOF = True
Combo.AddItem rs.Fields("nome_bairro")
rs.MoveNext
Wend
...
E então, na hora de movimentar para o registro solicitado, use um filtro:
...
rs.Filter = "nome_bairro = '" & combo.Text & "'"
...
Não esqueça, depois, ao voltar á tela (ou situação) inicial, de remover o filtro:
...
rs.Filter = 0
...
E é isso.
Filtrar um recordset é...... ....FILTRAR UM RECORDSET! Hehehehe, brincadeira.
Suponha que há (deve haver) uma tabela com o cadastro dos torcedores do CorÃnthians, seus nomes, endereços, telefones etc. Quando você abrir essa tabela, ela terá um número de registros muito grande, correto? Mesmo desiludidos, mas continuam no cadastro, certo?
Pois bem, o clube decidiu enviar uma mala direta á todos eles, um bairro por semana, cidade por cidade, sempre em ordem alfabética. E quem será o responsável por permitir isso? O filtro! Filtrar uma tabela é quase o mesmo que selecionar um "pedaço" da tabela, que possui caracterÃsticas comuns. no exemplo acima, poderia ser o conjunto de torcedores que moram em São Paulo, no bairro de Lauzanne Paulista. Os filtros seriam, em tese: "BAIRRO = 'LAUZANNE PAULISTA' AND CIDADE = 'SÃO PAULO'". E onde se utiliza esse tipo de seleção? Você pode utilizar na primeira seleção que faz á base de dados, o famoso "SELECT * FROM...", mas suponha que o usuário quer decidir ele mesmo qual será o bairro e a cidade... O recordset com toda a tabela já está aberto e carregado. Então são utilizados os filtros, juntamente aos recordset já abertos. Ao remover o filtro, a tabela volta á mostrar todo o conjunto de registros. Trocando-se o filtro, surge outro sub-conjunto. E podem ser feitos filtros cumulativos, onde você pode obter subconjuntos dos conjuntos filtrados desde a tabela completa.
Certo?
E, sim, os filtros podem ser utilizados no evento Click do Combo. Só lembrando de tomar o cuidado de remover o filtro para retornar ao conjunto completo de registros. Uma boa idéia é utilizar um command com o caption "FILTRAR! para esse fim. Assim, você teria o código como abaixo:
Private sub command1_Click()
If rs.Filter 0 Then
rs.Filter = "(Filtro que se deseja inserir, obtido no Click do Combo)"
Command1.Caption = "FILTRAR"
Else
rs.Filter = 0
Command1.Caption = "TODOS"
End If
rs.requery
End Sub
Suponha que há (deve haver) uma tabela com o cadastro dos torcedores do CorÃnthians, seus nomes, endereços, telefones etc. Quando você abrir essa tabela, ela terá um número de registros muito grande, correto? Mesmo desiludidos, mas continuam no cadastro, certo?
Pois bem, o clube decidiu enviar uma mala direta á todos eles, um bairro por semana, cidade por cidade, sempre em ordem alfabética. E quem será o responsável por permitir isso? O filtro! Filtrar uma tabela é quase o mesmo que selecionar um "pedaço" da tabela, que possui caracterÃsticas comuns. no exemplo acima, poderia ser o conjunto de torcedores que moram em São Paulo, no bairro de Lauzanne Paulista. Os filtros seriam, em tese: "BAIRRO = 'LAUZANNE PAULISTA' AND CIDADE = 'SÃO PAULO'". E onde se utiliza esse tipo de seleção? Você pode utilizar na primeira seleção que faz á base de dados, o famoso "SELECT * FROM...", mas suponha que o usuário quer decidir ele mesmo qual será o bairro e a cidade... O recordset com toda a tabela já está aberto e carregado. Então são utilizados os filtros, juntamente aos recordset já abertos. Ao remover o filtro, a tabela volta á mostrar todo o conjunto de registros. Trocando-se o filtro, surge outro sub-conjunto. E podem ser feitos filtros cumulativos, onde você pode obter subconjuntos dos conjuntos filtrados desde a tabela completa.
Certo?
E, sim, os filtros podem ser utilizados no evento Click do Combo. Só lembrando de tomar o cuidado de remover o filtro para retornar ao conjunto completo de registros. Uma boa idéia é utilizar um command com o caption "FILTRAR! para esse fim. Assim, você teria o código como abaixo:
Private sub command1_Click()
If rs.Filter 0 Then
rs.Filter = "(Filtro que se deseja inserir, obtido no Click do Combo)"
Command1.Caption = "FILTRAR"
Else
rs.Filter = 0
Command1.Caption = "TODOS"
End If
rs.requery
End Sub
Hahahaha, valew, cara! Desculpem pela brincadeira!
Tópico encerrado , respostas não são mais permitidas