Gravar valor de combobox.
Boa noite,
Preciso mais uma vez da ajuda de vocês.
No meu banco tenho um cadastro de CLIENTES que tem um campo ESTADO que é chave estrangeira da TABELA ESTADO.
No meu form carrego todos os estados (as siglas deles) no CB. Só que não consegui fazer com que, ao mandar gravar, ele grave o ID do estado ao invés da sigla.
Como eu faria isso ?
Desde já,
Obrigado
Preciso mais uma vez da ajuda de vocês.
No meu banco tenho um cadastro de CLIENTES que tem um campo ESTADO que é chave estrangeira da TABELA ESTADO.
No meu form carrego todos os estados (as siglas deles) no CB. Só que não consegui fazer com que, ao mandar gravar, ele grave o ID do estado ao invés da sigla.
Como eu faria isso ?
Desde já,
Obrigado
Felipe Ribeiro
Curtidas 0
Respostas
Joel Rodrigues
09/03/2013
Rapaz, se não me engano (lembrar é que é difícil), existe uma propriedade SelectedValue no ComboBox.
Se não tiver, você pode pegar a sigla acessando diretamente o dataset ao qual o ComboBox está ligado. Por exemplo:
Por que isso?
Quando você liga o componente ao DataSource que está ligado ao DataSet, este componente exibe sempre o valor que está selecionado no DataSet, então você pode acessar esse valor diretamente, sem precisar pegar o valor do componente.
Não sei se fui claro.
Se não tiver, você pode pegar a sigla acessando diretamente o dataset ao qual o ComboBox está ligado. Por exemplo:
ALGUMA_COISA = queryEstados.FieldByName('SIGLA').AsString;
Por que isso?
Quando você liga o componente ao DataSource que está ligado ao DataSet, este componente exibe sempre o valor que está selecionado no DataSet, então você pode acessar esse valor diretamente, sem precisar pegar o valor do componente.
Não sei se fui claro.
GOSTEI 0
Marco Salles
09/03/2013
Boa noite,
Preciso mais uma vez da ajuda de vocês.
No meu banco tenho um cadastro de CLIENTES que tem um campo ESTADO que é chave estrangeira da TABELA ESTADO.
No meu form carrego todos os estados (as siglas deles) no CB. Só que não consegui fazer com que, ao mandar gravar, ele grave o ID do estado ao invés da sigla.
Como eu faria isso ?
Desde já,
Obrigado
Preciso mais uma vez da ajuda de vocês.
No meu banco tenho um cadastro de CLIENTES que tem um campo ESTADO que é chave estrangeira da TABELA ESTADO.
No meu form carrego todos os estados (as siglas deles) no CB. Só que não consegui fazer com que, ao mandar gravar, ele grave o ID do estado ao invés da sigla.
Como eu faria isso ?
Desde já,
Obrigado
var
I: Integer;
begin
ComboBox1.Items.AddObject('Mg',Tobject(Integer(1)));
ComboBox1.Items.AddObject('Sp',Tobject(Integer(2)));
for I := 0 to Pred(ComboBox1.Items.Count) do
Showmessage(inttostr(integer(ComboBox1.Items.Objects[1])));
GOSTEI 0
Felipe Ribeiro
09/03/2013
Obrigado pelas dicas.
Problema resolvido.
Acabei decidindo por gravar a própria sigla mesmo..
Abraço.
Problema resolvido.
Acabei decidindo por gravar a própria sigla mesmo..
Abraço.
GOSTEI 0
Joel Rodrigues
09/03/2013
Que bom que deu certo, obrigado pelo retorno.
Eu acabei me enrolando na explicação, pois considerei um lookup e não um combobox comum.
Mas como você resolveu, estou encerrando este tópico.
Abraço.
Eu acabei me enrolando na explicação, pois considerei um lookup e não um combobox comum.
Mas como você resolveu, estou encerrando este tópico.
Abraço.
GOSTEI 0