Fórum Dúvida com Combobox #10239

22/10/2009

0

Olá Amigos, Venho solicitar meu primeiro suporte. A duvida é a seguinte: Num certo cadastro, vamos citar cadastro de clientes, há um campo (DbComoboBox) onde seleciono o estado, a partir da seleção um outro campo(combobox) me apresenta as respectivas cidades. Até aí tudo bem... No banco a tabela guarda o ID de ambas tabelas (estado e cidades). Agora, durante a consulta como ficaria o campo cidade? Digo, como o a informação seria apresentada? Será que fui claro? Deu pra entender? Fico no aguardo. Muito obrigado. Levi N.Silva silva_levi@globo.com
Levi Silva

Levi Silva

Responder

Posts

22/10/2009

Wesley Yamazack

Olá amigo,
  Bem vindo a suporte online.
  Para sua dúvida pelo que entendi, basta você criar um campo lookup, e teu problema seria resolvido.


Att

Wesley
Responder

Gostei + 0

22/10/2009

Levi Silva

Caro Wesley, Muito obrigado pela atenção. Desculpe as vezes, sou novo com delphi e estou aprendendo.... Tudo bem crio o campo loockup, mas com relação ao filtro? Lembra-se, após a seleção do Estado apenas as respectivas cidades deste estados serão apresentadas neste novo combobox.... Possa ser também que ainda não tenha entendido, se puder me mostrar um exemplo, agradeço. Se possível é claro.... Obrigado novamente Levi
Responder

Gostei + 0

23/10/2009

Wesley Yamazack

Olá meu amigo, me diga uma coisa como é a relação Estado e Cidade ? São duas tabelas ?


Estado
IDEstado
Descricao

Cidade
IDCidade
Descricao
IDEstado


Seria assim ? Se for você pode fazer o Lookup com o IDEstado, e automáticamente você terá o filtro. Agora senão for preciso saber como você esta fazendo.

Forte abraço

Wesley Y
Responder

Gostei + 0

23/10/2009

Levi Silva

Olá amigo... Exatamente assim mesmo como disse. Mas apenas criei uma ForeginKey na tabela Cidades... Seria algo mais? Criei uma campo Loockup para Cidade e Outro Estado no ClientDataSet, arrastei pata o Form de cadastro, mas o efeito de filtro não funcionou... Coloquei Primeiro o Campo Estado e depois Cidade. Quando selecionar um estado, trazer no campo Cidades, as respectivas do estado selecionado.... Obrigado. Levi
Responder

Gostei + 0

26/10/2009

Wesley Yamazack

Olá amigo, irei preparar um exemplo,e logo te retornarei.

Att,

Wesley Y
Responder

Gostei + 0

28/10/2009

Wesley Yamazack

Olá amigo, veja o link ( http://www.rwsolution.com.br/Chamado_DBLookUP.rar ), tem um exemplo para você fazer um mestre detalhe, veja se isso te ajuda.

Att,

Wesley Y
Responder

Gostei + 0

30/10/2009

Wesley Yamazack

Olá amigo,
   COnsegui analisar o exemplo ? Estamos aguardando para fecharmos o chamado.

Att,

Wesley Y
Responder

Gostei + 0

05/11/2009

Wesley Yamazack

Olá meu caro, o chamado foi modificado para concluído, porém estamos a disposição, caso exista alguma dúvida.

Att,

Wesley Y
Responder

Gostei + 0

16/11/2009

Levi Silva

Olá Wesley, desculpe, estive de férias estes últimos vinte dias, retornando hoje... Tentei baixar o arquivo no link que vc deixou, mas não estou conseguindo baixar. Teria como enviar novamente? Se preferir no meu e-mail, pode ser? lenasi@hotmail.com Muito Obrigado Levi
Responder

Gostei + 0

17/11/2009

Wesley Yamazack

Olá  amigo, infelizmente não podemos mandar arquivos via e-mail, com os clientes da DevMedia, somente pelo sistema de consultoria. Teste o link novamente  http://www.rwsolution.com.br/Chamado_DBLookUP.rar

Um abraço

Wesley Y
Responder

Gostei + 0

17/11/2009

Levi Silva

Ok, deu certo, Obrigado. Vou testar e assim que tiver uma posição lhe aviso.
Responder

Gostei + 0

17/11/2009

Levi Silva

Caro Wesley. Perfeito, conforme seu exemplo é isso mesmo que preciso. Tentei implementar na minha aplicação, mas depois de várias tentativas, retorno a sua ajuda. É o seguinte: No meu cadastro, estou utilizando DbLoockupCombobox para estado e Cidades, campos criado no TClientDataSet direcionados de um DataModule a parte(onde abro todas as tabelas),ok?. Dúvidas: No seu exemplo o ClientDataset está no mesmo formulário. Como faço para utilizar o Evento AfterScrool do meu ClientDataSet que é utilizado em outros cadastro? vai influenciar alguma coisa? Fui bem claro? Deu pra entender? Obrigado mais uma vez. Se possível enviei outro exemplo, mas com campos combobox No aguardo. Levi N.Silva
Responder

Gostei + 0

17/11/2009

Levi Silva

Segue o código: procedure TFrmFunCadastro.DBLookupComboBox2DropDown(Sender: TObject); begin inherited; with DsMunicipios do begin TClientDataSet(DsMunicipios).Open; // Neste caso, quando chegar nesta linha da Access violation... TClientDataSet(DsMunicipios).Filtered := False; //Desativa o Filtro TClientDataSet(DsMunicipios).Filter := 'ESTADO_ID = 1'; //+ //Intrução de seleção TClientDataSet(DsMunicipios).Filtered := True; //Ativa o Filtro TClientDataSet(DsMunicipios).Close; end; end;
Responder

Gostei + 0

17/11/2009

Wesley Yamazack

Olá meu cara, na hora que for postar um código, espera a pagina carregar, senão o código vem todo embaralhado, rsrs, sacou ?

TFrmFunCadastro.DBLookupComboBox2DropDown(Sender: TObject);
begin
  inherited;
  with DsMunicipios do
  begin TClientDataSet(DsMunicipios).Open; // Neste caso, quando chegar nesta linha da Access violation...
    TClientDataSet(DsMunicipios).Filtered := False; //Desativa o Filtro
    TClientDataSet(DsMunicipios).Filter := 'ESTADO_ID = 1'; //+ //Intrução de seleção
    TClientDataSet(DsMunicipios).Filtered := True; //Ativa o Filtro
    TClientDataSet(DsMunicipios).Close;
  end;
end;

Esta dando accessviolation pois você esta passando um DSMunicipio, não seria um CDSMunicipio não ?, você sabe o que esta acontecendo quando digo TClientDataSet(DataSet) ??

Um abraço

Wesley Y
Responder

Gostei + 0

17/11/2009

Levi Silva

Olá Amigo, entendi sim... Vacilo meu... Está quase dando certo, falta pouco... A questão que está pegando agora, é como pegar o ID relacionado ao Item selecionado do DbLoockupComboBox? Veja Código: TClientDataSet(DsMunicipios.Dataset).Filter := 'ESTADO_ID = ' + DbEdEstadoID.Text; O ComboboxUF me mostrar a descrição (SP,RJ) como vou compara no filtro se na tabela TCidade gravo o Estado_ID?
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar