FILTRO COM COMBOBOX

SAMUELHARSO 26/07/2014 01:54:10
#439883
Boa Noite !

Estou precisando de uma ajudinha, pois estou fazendo um formulario para cadastro e outro para consulta.
No formulario de cadastro existe algumas textbox(Nome, Tel, Endereço, etc) e combobox(UF, SEXO etc.)

E no formulario de consulta eu gostaria de deixar todos os campos com ComboBox para auto preencher os dados e por exemplo, o usuário quer ver os dados de alguem que mora em uma certa cidade... então os outros campos sao preenchidos tambem.

Eu cheguei a fazer isso, mas quando eu clico em um campo, os outros campos sao editados automaticamente e não dá para fazer essas buscas na qual eu desejo.

Exemplo:

Gostaria de Clicar no ComboBox Cidade - São Bernardo do Campo e então os outros campos preencherem.

Vou colocar uma imagem de como está.

Desde Já agradeço.
JABA 26/07/2014 12:02:03
#439891
Resposta escolhida
Por que você não coloca os dados para consulta num DataGridView e cria um campo de pesquisa lá? Daí, após encontrar os dados é só dar dois cliques nele e mandar aparecer na tela de cadastro.
SAMUELHARSO 26/07/2014 15:07:06
#439895
é porque no DataGrid se eu coloco para fazer mais de uma pesquisa, o DataGrid fica sem nenhum dado.

Ai tenho que atualizar a form e então aparece os dados do banco de dados.

Eu coloquei uma ComboBox com os Items (Data, Nome, Sexo)
e a Text Box para efetuar a pesquisa.

Adicionei uma Query no DataGrid [Ô]Campo Nome: Filtrar por: LIKE @Nome + [ô]%[ô][Ô]

e fiz isso para data e sexo também. Funciona normalmente com 1 textbox. Mas quando vou utilizar os outros o DataGrid fica vazio.

Obrigado pela atenção !
JABA 26/07/2014 23:09:44
#439906
Cara, o seu código está muito estranho. Você declara as variáveis NOME, SEXO E DATA dentro do evento [Ô]TextChanged[Ô] e as utiliza logo em seguida. Se essas variáveis já se inicializam vazias, por que fazer condicionais em cima delas? Não faz sentido.

O que você poderia fazer ai é colocar no campo [Ô]tag[Ô], das caixas de texto (textbox), o nome referente ao campo, por exemplo:

TxtNome.Tag = [Ô]Nome[Ô] [ô]Não se esqueça que você pode fazer isso direto no próprio controle.

E depois de fazer isso, se basear pelo [Ô]sender[Ô] nos eventos para fazer essas condicionais, por exemplo:

[ô]Aqui o conteúdo que vai estar na [Ô]tag[Ô] é o nome do campo, como foi explicado anteriormente.
If cbDados1.SelectedText = sender. Tag then
[ô]faça alguma coisa
End if
SAMUELHARSO 27/07/2014 10:18:11
#439910
E como eu faço utilizando 1 ComboBox com(DATA, NOME, SEXO)

e 1 TextBox que no caso eu usaria para fazer a pesquisa.

Eu tentei assim também:

Private Sub btnPesquisa_Click(sender As Object, e As EventArgs) Handles btnPesquisa.Click
If cbDados.SelectedText = [Ô]DATA[Ô] Then
Me.VoluntarioTableAdapter.FillByData(Me.MasterDataSet.Voluntario, txtPesquisa.Text)
ElseIf cbDados.SelectedText = NOME Then
Me.VoluntarioTableAdapter.FillByNome(Me.MasterDataSet.Voluntario, txtPesquisa.Text)
ElseIf cbDados.SelectedText = SEXO Then
Me.VoluntarioTableAdapter.FillBySexo(Me.MasterDataSet.Voluntario, txtPesquisa.Text)
End If
End Sub
JABA 27/07/2014 21:28:21
#439926
Nessa sua última postagem, a lógica parece está correta. Quais dados aparecem em [Ô]Me.MasterDataSet.Voluntario[Ô] após isso?
NICKOSOFT 28/07/2014 08:41:30
#439934
como muda os limitadores nos 3 casos, (string, date, int) vc precisa criar condicoes para construcao da query
if combo.text=[Ô]data[Ô] then
select * from tabela where data = #[Ô] & txtpesquisa.text & [Ô]#[Ô] [ô]ainda precisa formatar a data
else if (combo,text=[Ô]nome[Ô]) then.... e assim vai

tudo depende do banco de dados tmb pra utilizacao dos limitadores ali
SAMUELHARSO 28/07/2014 20:03:05
#439955
é que o código que eu estava usando, é o mesmo código que aparece quando cria uma query no DataGridView, então criei a query no campo Nome = [Ô] Nome LIKE @Nome + [ô]%[ô] [Ô]. e Por ai vai...

Eu deixei funcionando mesmo no campo de texto que o programa disponibiliza após criar a query... ele já da a textbox e o button.

Obrigado pela ajuda !
Tópico encerrado , respostas não são mais permitidas