Fórum DBLookupComboBox - Dificuldades no uso #321803

20/05/2006

0

Senhores, estou usando o Delphi 7, ado e MSSeqlserver(MSDE).

Tenho uma tabela de bairros com dois campos:
TBairro
codigo - smallint
nome - varchar(50)
Nesta tabela TBAIRRO estão catalogados todos os Bairros da cidade.

Tenho uma outra tabela - TMoradores que tem um campo (CodBairro - smallint) que deverá apontar para o registro da tabela de bairro.

Na form de cadastramento estou usando uma DBLookupComboBox que tem as seguintes propriedades:
Datafield= Nome;
Datasource=null;
KeyField=Nome;
ListField=null;
ListSource=DSBairro (data set source da Adoquery da tabela de bairros)

Na rotina de inclusão de um novo morador não estou tendo problema; porem na rotina de alteração de dados de um morador, eu gostaria de mostrar a nome do bairro que estava cadastrado.

Não sei que propriedade usar, do dataset souce ou da adoquery para colocar o codigo do bairro
que já está gravado na tabela de moradores, de forma que ao ativar a form o nome do bairro apareça na DBLOOKUPCOMBOBOX.

Agradeço ajuda.


Rounilo

Rounilo

Responder

Posts

20/05/2006

Amarildo

O componente DBLookupComboBox é utilizado para selecionar registros de uma tabela e gravar em outra tabela.



As propriedades necessárias para a utilização são:

DataSource - Ligar a DataSource da Tabela ao qual vai receber o valor do registro selecionado;

DataField - Ligar o campo de ligação entre as duas tabelas, ao qual vai receber o valor do registro selecionado;

ListSource - Ligar a DataSource da Tabela ao qual vai Ter o registro selecionado;

ListField - Ligar o campo que será listado quando o usuário abrir a janela para seleção do registro;

KeyField - Ligar o campo de ligação entre as duas tabelas, ao qual terá o seu valor enviado para gravação.

O campo de ligação entre as duas tabelas pode ser um campo código, pois é este campo que manterá os valores iguais entre as duas tabelas.


Responder

Gostei + 0

20/05/2006

Rounilo

Amarildo, obrigado.

Entretanto, continuo sem saber como, ao abrir um registro para alterações, mostrar no dblookupComboBox, o nome do bairro correspondente ao codigo.

Reafirmo que para inclusão de registro funciona OK.

O que penso é que deve existir uma propriedade do dataset ou do proprio DBlookupComboBOX para o qual deverei mover o codigo, de forma que ao abrir a tela apareça no campo DBLOOKUPCOMBOBOX o nome do bairro PRÉ-EXISTENTE no arquivo de moradores.


Responder

Gostei + 0

20/05/2006

Jeffersoncsouza

karo amigo, vc pode fazer o seguinte na sua tela de consulta/alteração vc cria um no field no table que vc está com o codigo bairro e deseja monstrar o nome do mesmo, por exemplo criar um field chamado bairro.como crio? é so vc dar um duplo click no table e ira aparecer uma janela onde se lista todos fields da tabela , ai vc clicara com botão direito e escolha a opção new field, criara um novo field(este field não é acrescentado na tablea do banco de dados é so para emular o dblookupcombo) ai ele aparecera um atela de configuração do field, onde vc vai escolhar o nome do field(ex bairro), o tipo(no seu caso provavelmente string) e uma caixa de seleção onde tem as opções data/dblooup/ e outro que não me lembro agora. ai vc vai escolher dblookup ai ele habilitará as opções de baixo onde vc vai escolher aque campo da tabela ele faz referencia (ex cod_bairro) , qual data set esta cadastrado o nome do bairro(ex tbbairro) oque vc quer ghravar na tabela(ex cod_bairro) oque vc que que seja visualizado(nome_bairro).
espero ter ajudado.
qualquer duvida me contate.


Responder

Gostei + 0

20/05/2006

Jeffersoncsouza

karo amigo, vc pode fazer o seguinte na sua tela de consulta/alteração vc cria um no field no table que vc está com o codigo bairro e deseja monstrar o nome do mesmo, por exemplo criar um field chamado bairro.como crio? é so vc dar um duplo click no table e ira aparecer uma janela onde se lista todos fields da tabela , ai vc clicara com botão direito e escolha a opção new field, criara um novo field(este field não é acrescentado na tablea do banco de dados é so para emular o dblookupcombo) ai ele aparecera um atela de configuração do field, onde vc vai escolhar o nome do field(ex bairro), o tipo(no seu caso provavelmente string) e uma caixa de seleção onde tem as opções data/dblooup/ e outro que não me lembro agora. ai vc vai escolher dblookup ai ele habilitará as opções de baixo onde vc vai escolher aque campo da tabela ele faz referencia (ex cod_bairro) , qual data set esta cadastrado o nome do bairro(ex tbbairro) oque vc quer ghravar na tabela(ex cod_bairro) oque vc que que seja visualizado(nome_bairro). espero ter ajudado. qualquer duvida me contate.

a e depois vc arrasta o field para tela e tire o campo do cod bairro da mesma.


Responder

Gostei + 0

20/05/2006

Rounilo

Obrigado a todos.

Verifiquei melhor as linhas de código e descobri uma linha codificada para teste e ela alterarava o codigo do morador para um valor que não existia na tabela de bairros.
Retirada esta linha, tudo funcionou.

Ao Jeferson - vou testar tambem sua sugestão. Obrigado


Responder

Gostei + 0

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

Aceitar