Fórum Fazer pesquisa em casacata usando tabelas diferentes #426160
15/10/2012
0
Estado - MG
I
Cidade - Governador Valadares
I
Bairro - Centro
I
Logradouro - Santa Efigenia
Resultado = xxxxx.xx
seria este esquema aí de cima..cada tabela tem um códido ID que identifica cada registro..se alguém poder dar um luz..vlw
Gilmar Moraes
Curtir tópico
+ 0Posts
15/10/2012
Gilmar Moraes
na primeira pesquisa é normal..uso este código
procedure TFCep.Localiza_estado;
begin
with DMCEP.Cds_pescCidade do
begin
Close;
Params[0].AsInteger := DMCEP.Cds_pescEstadoUF_CODIGO.Value;
Open;
end;
end;
depois para localizar a cidade :
procedure TFCep.Localiza_cidade;
begin
with DMCEP.Cds_pescBairro do
begin
Close;
Params[0].AsInteger := DMCEP.Cds_pescCidadeCIDADE_CODIGO.Value;
Open;
end;
end;
Como ele fecha a tabela e abre novament acabo perdendo a pesquisa que fiz anteriormente..
Gostei + 0
15/10/2012
Alisson Santos
Exemplo:
Estado
SG_ESTADO
NM_ESTADO
Municipio
CD_MUNICIPIO
NM_MUNICIPIO
SG_ESTADO FK
Cep
NR_CEP
NM_LOGRADOURO
NM_BAIRRO
SG_ESTADO FK
CD_MUNICIPIO FK
Você pode primeiro selecionar um estado, e quando esse estado for selecionado vai trazer só os municipios com esse estado
qryMunicipio.Close;
qryMunicipio.ParamByName('sg_estado').AsString := dbcmbxSG_UF.Text;
qryMunicipio.Open;
Esse comando que coloquei acima vai trazer para você no campo de municipio só o que pertecerem a esse estado, e assim por diante.
Se aplicar esse código no municipio vai trazer só os ceps relacionado a ele.
Espero ter auxiliado.
Qualquer duvida coloca a estrutura que eu faço um exemplo para você
Gostei + 0
15/10/2012
Gilmar Moraes
Exemplo:
Estado
SG_ESTADO
NM_ESTADO
Municipio
CD_MUNICIPIO
NM_MUNICIPIO
SG_ESTADO FK
Cep
NR_CEP
NM_LOGRADOURO
NM_BAIRRO
SG_ESTADO FK
CD_MUNICIPIO FK
Você pode primeiro selecionar um estado, e quando esse estado for selecionado vai trazer só os municipios com esse estado
qryMunicipio.Close;
qryMunicipio.ParamByName('sg_estado').AsString := dbcmbxSG_UF.Text;
qryMunicipio.Open;
Esse comando que coloquei acima vai trazer para você no campo de municipio só o que pertecerem a esse estado, e assim por diante.
Se aplicar esse código no municipio vai trazer só os ceps relacionado a ele.
Espero ter auxiliado.
Qualquer duvida coloca a estrutura que eu faço um exemplo para você
É o seguinte, minha tabelas estã organizadas desta forma..
Tabela Estado:
Nome da tabela chama UF
os campos:
UF_CODIGO
UF_SIGLA (uso este campo para busca)
UF_DESCRICAO
Tabela Cidade
nome da tabela chama CIDADE
os campos:
UF_CODIGO (que recebe o campo UF_CODIGO da tabela UF)
CIDADE_CODIGO
CIDADE_DESCRICAO (uso este campo para busca)
eu uso este código para fixar o registro que eu quero
procedure TFCep.Localiza_bairro;
begin
with DMCEP.Cds_PescEndereco do
begin
Close;
Params[0].AsInteger := DMCEP.Cds_PescBairroBAIRRO_CODIGO.Value;
Open;
end;
end;
neste momento tenho funcionando, más quando faço a pesquisa referente a cidade que teoricamente já estão separado pelo estado aí a pesquisa busca toda a tabela novamente..
uso este código para fazer a busca da cidade e é neste codigo que está o propblema
DMCEP.Cds_pescCidade.Close; DMCEP.Cds_pescCidade.CommandText:='Select * from CIDADE where CIDADE_DESCRICAO like' + QuotedStr(EdtPesquisa.Text + '%'); DMCEP.Cds_pescCidade.open;
o close fecha a tabela e com isso perde a busca feita acima..
Gostei + 0
16/10/2012
Marcos Iwazaki
o .close do cidade
ele fecha tbm o endereço?
Não entendi direito o problema.
Gostei + 0
16/10/2012
Alisson Santos
Gostei + 0
16/10/2012
Alisson Santos
O que quero pedir para você é a select que está passando para montar a pesquisa por bairro.
Se puder me passar isso posso verificar.
Gostei + 0
16/10/2012
Gilmar Moraes
O que quero pedir para você é a select que está passando para montar a pesquisa por bairro.
Se puder me passar isso posso verificar.
deixa te expliar omo funciona o meu sistema aki..coisa bem boba mesmo..imagine um form com 4 edits (estado, cidade bairro e logradouro)que vão receber apenas valores, e ao lado destes edits coloquei um speedbuton para fazer a pesquisa, neste botão ao clicar ele aprece um outro form com uma busca composo de um edit um buton para iniciar a pesquisa e um dbgrid para mostar o resultado da pesquisa..quando faço a pesquisa e encontro o resultado clico no registro e este lança no form anterior o resultado da pesquisa e junto com ela o código do registro encontrado, com este código eu seto a proxima tabela para encontrar a cidade..más este q está sendo o problema quando faço a busca ele está perdendo o código e fazendo a busca total na tabela...
Gostei + 0
16/10/2012
Gilmar Moraes
O que quero pedir para você é a select que está passando para montar a pesquisa por bairro.
Se puder me passar isso posso verificar.
deixa te expliar omo funciona o meu sistema aki..coisa bem boba mesmo..imagine um form com 4 edits (estado, cidade bairro e logradouro)que vão receber apenas valores, e ao lado destes edits coloquei um speedbuton para fazer a pesquisa, neste botão ao clicar ele aprece um outro form com uma busca composo de um edit um buton para iniciar a pesquisa e um dbgrid para mostar o resultado da pesquisa..quando faço a pesquisa e encontro o resultado clico no registro e este lança no form anterior o resultado da pesquisa e junto com ela o código do registro encontrado, com este código eu seto a proxima tabela para encontrar a cidade..más este q está sendo o problema quando faço a busca ele está perdendo o código e fazendo a busca total na tabela...
[url]
http://gigatelsoft.deviantart.com/art/Tela-do-programa-332689574?ga_submit=10%3A1350395033
[/url]
tentei colocar a tela do programa, noão sei se deu certo.
Gostei + 0
17/10/2012
Gilmar Moraes
Close;
CommandText:='Select * from CIDADE where UF_CODIGO =' + QuotedStr(DMPesc.Cds_pescEstadoUF_CODIGO.value+ '%')'and CIDADE_DESCRICAO like' + QuotedStr(EdtPesquisa.Text + '%');
Open;
será que existe açguma coisa neste porte aí de cima ?
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)