Clipper On Line • Ver Tópico - Cidades

Cidades

Discussão sobre SQL

Moderador: Moderadores

 

Cidades

Mensagempor JoséQuintas » 10 Jan 2020 12:07

A gente arruma solução conforme a necessidade.... mas....

Problema:
Validar cidade, quando o campo com nome é maior do que do cadastro

Meu cadastro geral de cidades é o maior possível: JABOATAO DOS GUARARAPES
Mas no cadastro do cliente é menor: JABOATAO DOS GUARARAP

Validar com cidade = "JABOATAO DOS GUARARAP" não dá
Validar com cidade LIKE "JABOATAO DOS GARARAP%" dá... mas aí vai trazer problemas, porque vai aceitar "J", "JA", "JABO", etc.

Por enquanto usei uma saída mista:

IF Len( cidade ) < 20
"cidade = " + mcidade
ELSE
"cidade LIKE " + mCidade + "%"
ENDIF

Fico na dúvida sobre reduzir no cadastro geral, ou deixar sem limites em clientes - o que em DBF ainda não é possível.
Por enquanto o quebra-galho pra SQL foi esse acima. (no fonte com aspas, lógico)

Como vocês costumam fazer?

Nota: o problema maior talvez nem seja a validação, mas na hora de trazer o código correto do IBGE, usando o mesmo esquema, caso existam nomes grandes parecidos.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Cidades

Mensagempor Marcos Kieron » 14 Jan 2020 11:53

Amigo, use o código do IBGE e simplifique essa parte, de qualquer forma vai precisar para questão fiscal então nem perde tempo, fica com a lista oficial do IBGE e mata essa no peito
Marcos Kieron
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 66
Data de registro: 14 Jan 2020 10:29
Cidade/Estado: São Paulo/SP
Curtiu: 0 vez
Mens.Curtidas: 5 vezes

Cidades

Mensagempor JoséQuintas » 14 Jan 2020 13:13

IF Len( cidade ) < 20
   "cidade = " + mcidade
ELSE
   "cidade LIKE " + mCidade + "%"
ENDIF


Hoje pensei num jeito mais simplificado:

"WHERE LEFT( CIDADE, 20 ) = '" + Trim( Left( cCidade, 20 ) )
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Cidades

Mensagempor Marcos Kieron » 14 Jan 2020 13:44

Vou te entregar triturado e digerido, basta usar: https://www.ibge.gov.br/explica/codigos ... cipios.php
Tá fácil, fácil...
Marcos Kieron
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 66
Data de registro: 14 Jan 2020 10:29
Cidade/Estado: São Paulo/SP
Curtiu: 0 vez
Mens.Curtidas: 5 vezes

Cidades

Mensagempor JoséQuintas » 14 Jan 2020 14:09

Marcos Kieron escreveu:Amigo, use o código do IBGE e simplifique essa parte, de qualquer forma vai precisar para questão fiscal então nem perde tempo, fica com a lista oficial do IBGE e mata essa no peito
.

Mantendo ou não a tabela do IBGE como única, o problema continuaria existindo

E NÃO dá pra usar só o código do IBGE como referência, caso não saiba, nem toda cidade tem código de IBGE próprio.
É o caso, por exemplo, das cidades satélites do Distrito Federal, que usam o mesmo código do DF.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Cidades

Mensagempor JoséQuintas » 14 Jan 2020 14:31

Marcos Kieron escreveu:Vou te entregar triturado e digerido, basta usar: https://www.ibge.gov.br/explica/codigos ... cipios.php
Tá fácil, fácil...


kkkkk

Se isso é triturado e digerido.... o que dizer disto?

#include "sefaz_cidade.ch"

https://github.com/JoseQuintas/sefazclass/blob/master/include/sefaz_cidade.ch
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Cidades

Mensagempor Marcos Kieron » 15 Jan 2020 11:38

Isso vai forçar voce a manter atualizado manualmente
Mesmo que nao mude muito o ideal é usar a fonte oficial e importar automaticamente e atualizar da mesma forma para quando precisar.
Para que ter esse trabalho quando o computador pode fazer isso?
Pense nisso
Marcos Kieron
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 66
Data de registro: 14 Jan 2020 10:29
Cidade/Estado: São Paulo/SP
Curtiu: 0 vez
Mens.Curtidas: 5 vezes

Cidades

Mensagempor JoséQuintas » 15 Jan 2020 15:09

Marcos Kieron escreveu:Isso vai forçar voce a manter atualizado manualmente
Mesmo que nao mude muito o ideal é usar a fonte oficial e importar automaticamente e atualizar da mesma forma para quando precisar.
Para que ter esse trabalho quando o computador pode fazer isso?


Não fiz isso pra mim, foi pra ajudar outras pessoas.
Já criei o fonte que transforma a tabela ANP em um fonte PRG, não precisa digitação nem pra atualizar o CH.

Mas, como eu já disse em outro tópico, atualizo mensalmente e automaticamente pelos arquivos oficiais da ANP.
É direto do Excel para o MySQL.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Cidades

Mensagempor Marcos Kieron » 16 Jan 2020 20:42

Isso, justamente o que sugeri.
Compensa preparar para importar diretamente, depois é só executar a cada vez
Marcos Kieron
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 66
Data de registro: 14 Jan 2020 10:29
Cidade/Estado: São Paulo/SP
Curtiu: 0 vez
Mens.Curtidas: 5 vezes

Cidades

Mensagempor JoséQuintas » 16 Jan 2020 21:31

Marcos Kieron escreveu:Isso, justamente o que sugeri.
Compensa preparar para importar diretamente, depois é só executar a cada vez


Legal, maravilhoso, coisa de gênio...
E no que isso ajuda a resolver o problema postado?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Cidades

Mensagempor Marcos Kieron » 17 Jan 2020 12:33

No seu caso... creio que nada vai ajudar
Marcos Kieron
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 66
Data de registro: 14 Jan 2020 10:29
Cidade/Estado: São Paulo/SP
Curtiu: 0 vez
Mens.Curtidas: 5 vezes




Retornar para SQL

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 7 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro