Combobox estado carrega cidades
Olá pessoal, minha duvida eh a seguinte
Minhas tabelas
[b:4947e77faa]tb_estado[/b:4947e77faa]
[color=blue:4947e77faa]sigla_estado[/color:4947e77faa]
nome_estado
[b:4947e77faa]tb_cidades[/b:4947e77faa]
[color=red:4947e77faa]cod_cidade[/color:4947e77faa]
[color=blue:4947e77faa]sigla_estado[/color:4947e77faa]
nome_cidade
[b:4947e77faa]tb_cleientes[/b:4947e77faa]
cod_cliente
[color=red:4947e77faa]cod_cidade[/color:4947e77faa]
nome_cliente
...
Poderia colocar cidade e estado na mesma tabela mas prefiro modelar dessa forma porém estou com uma duvida.
NO FORMULARIO DE CLIENTE QUERO UM COMBOBOX ESTADO Q CARREGA AS CIDADES APOS O EVENTO ONEXIT DO COMBO ESTADO.
SE EU TENHO NA TABELA CLIENTE A CHAVE COD_CIDADE PARA, O CAMPO CIDADE COMO DEVO FAZER PRA LIGAR O ESTADO???
OBS.: O PROBLEMA EH Q QUANDO PERCORRO OS REGISTROS GRAVADOS COM O DBNAVIGATOR ELE ALTERA AS CIDADES MAS COMO OS ESTADOS NAO ESTAO LIGADOS NA TABELA CLIENTE ELE SEMPRE FICA NO Q ESTA SELECIONADO.
Acho q eh isso, vcs entenderam???
Obrigado!!!
Minhas tabelas
[b:4947e77faa]tb_estado[/b:4947e77faa]
[color=blue:4947e77faa]sigla_estado[/color:4947e77faa]
nome_estado
[b:4947e77faa]tb_cidades[/b:4947e77faa]
[color=red:4947e77faa]cod_cidade[/color:4947e77faa]
[color=blue:4947e77faa]sigla_estado[/color:4947e77faa]
nome_cidade
[b:4947e77faa]tb_cleientes[/b:4947e77faa]
cod_cliente
[color=red:4947e77faa]cod_cidade[/color:4947e77faa]
nome_cliente
...
Poderia colocar cidade e estado na mesma tabela mas prefiro modelar dessa forma porém estou com uma duvida.
NO FORMULARIO DE CLIENTE QUERO UM COMBOBOX ESTADO Q CARREGA AS CIDADES APOS O EVENTO ONEXIT DO COMBO ESTADO.
SE EU TENHO NA TABELA CLIENTE A CHAVE COD_CIDADE PARA, O CAMPO CIDADE COMO DEVO FAZER PRA LIGAR O ESTADO???
OBS.: O PROBLEMA EH Q QUANDO PERCORRO OS REGISTROS GRAVADOS COM O DBNAVIGATOR ELE ALTERA AS CIDADES MAS COMO OS ESTADOS NAO ESTAO LIGADOS NA TABELA CLIENTE ELE SEMPRE FICA NO Q ESTA SELECIONADO.
Acho q eh isso, vcs entenderam???
Obrigado!!!
Souzaaguiar
Curtidas 0
Respostas
Paullsoftware
14/10/2006
O principal problema é que não existe um relacionamento entre as tabelas, então, sempre que vc for percorrer os registros isso vai ocorrer...
deveria ter mais ou nome essas estrutura:
e para ficar tudo amarado vc poderia usar o componente DbLockupComboBox para filtra dados da tabela cidades de acordo com estado selecionado
no evento OnCloseUp do DBLookupComboBox Estados vc faz:
Espero ter ajudado! :wink:
deveria ter mais ou nome essas estrutura:
tbEstados
Cod_Estado - Chave Primaria PK
Sigla
Nome
tbCidades
Cod_Cidade - Chave Primaria PK
Cod_Estado - Chave Estrangeira FK
Nome
tbClientes
Cod_Cliente - Chave Primaria PK
Cod_Cidade - Chave Estrangeira FK
Cod_Estado - Chave Estrangeira FK
Nome
Fone
...
e para ficar tudo amarado vc poderia usar o componente DbLockupComboBox para filtra dados da tabela cidades de acordo com estado selecionado
no evento OnCloseUp do DBLookupComboBox Estados vc faz:
... with SqlCidades do begin Close; CommanText := ´Select * From Cidades where Cod_Estados =´+SqlEstadosCod_Estado.AsString + ´ Order by Nome; Open; Sql end;
Espero ter ajudado! :wink:
GOSTEI 0
Souzaaguiar
14/10/2006
Assim dah certo msm...
gostaria de saber se todos concordam em fazer dessa forma!
Obrigado!
gostaria de saber se todos concordam em fazer dessa forma!
Obrigado!
GOSTEI 0
Souzaaguiar
14/10/2006
select * from
tb_clientes a
left outer join
tb_cidades b
on a.cod_cidade=b.cod_cidade
left outer join
tb_estado c
on b.sigla_estado=c.sigla_estado
No evento do dropdown??
tb_clientes a
left outer join
tb_cidades b
on a.cod_cidade=b.cod_cidade
left outer join
tb_estado c
on b.sigla_estado=c.sigla_estado
No evento do dropdown??
GOSTEI 0
Souzaaguiar
14/10/2006
Errei na ultima lina... nao tem esse evento
GOSTEI 0