DBComboBox e DBLookComboBox

07/03/2006

olá Pessoal, estou de volta com uma dúvida q pra muitos será simples..
Estou com os dois componentes DBComboBox e DBLookComboBox o 1º - estao listados os estados brasileiros, porem eu gostaria q ao clicar no incluir novo registro viesse listado automático com a opção ´escolha um estado´, como eu faço isso com este componete? e com o segundo ele puxa um registro de outra tabela, gostaria de fazer a mesma coisa, é possível?

Obrigado Galera!!!


Sandercomputacao

Respostas

08/03/2006

Spiritwwwalker

Prezado Sander:

Ainda não tenho experiência em DBCombos, mas como os DBLookupCombos exibem informações baseadas em tabelas ou consultas, você poderia:

1) especificar a origem dos dados em uma tabela (ou consulta) com um único registro: ´selecione um estado´; quando o componente recebesse o foco (ou após algum evento equivalente), a origem seria direcionada para a tabela (ou consulta) propriamente dita, isto é, aquela que contém as siglas dos estados brasileiros; após a operação de cadastramento de um novo registro, a origem voltaria a ser a primeira tabela;
ou
2) incluir, na própria tabela de estados, a opção ´selecione...´; se a tabela contiver um campo autonumeração, quando o componente recebesse o foco (ou após algum outro evento de sua preferência), você poderia alterar a sintaxe da consulta de origem SQL para excluir o número do registro associado ao item ´selecione um estado´. Por exemplo, suponhamos que o item em questão seja o primeiro (1), faça assim:

No evento OnShow do formulário ou logo após a inclusão de um novo registro:
SELECT * FROM tblEstados ORDER BY Estado
DBLookupCombobox1.KeyValue := ´1´ (ou seja, o componente exibirá o primeiro registro, que é ´selecione um estado´)

Quando o componente receber o foco:
SELECT * FROM tblEstados WHERE SeuCampoAutonumeração <> 1 ORDER BY Estado (com isso, a listagem exibiria somente as unidades da federação)

Com referência ao DBCombo, creio que o princípio seria bastante semelhante.
Acho que é isso. Espero ter ajudado. Boa sorte para você.


Responder Citar