Você está offline; aguardando reconexão

Não há suporte para seu navegador

Você precisa atualizar seu navegador para usar o site.

Atualize para a versão mais recente do Internet Explorer

Como analisar cidade, estado e CEP em valores separados

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 168798
Sumário
Este artigo fornece um procedimento para analisar uma única variável contendo informações US cidade, estado e CEP em três variáveis separadas. Oferece suporte a rotina:

  • O CEP de 5 ou 9 dígitos.
  • Nomes de estado com várias palavras (se precedido por uma vírgula).
  • Qualquer número de espaços intermediários.
Exemplos de entradas com suporte:
Nova York, Nova York, 99999
Nova York, NY, 99999-9999
Nova York, NY 99999-9999
Nova York, NY 99999
Mais Informações
AVISO: QUALQUER USO DE CÓDIGO/MACRO FORNECIDA NESTE ARTIGO É DE SUA RESPONSABILIDADE. A Microsoft fornece esse código/macro "como estão" sem garantia de qualquer tipo, expressa ou implícita, inclusive mas não limitada às garantias implícitas de comercialização e/ou adequação a uma finalidade específica.

Observação: No exemplo de código a seguir, um sublinhado (_) no final de uma linha é usado como um caractere de continuação de linha. Para versões do BASIC que não oferecem suporte a caracteres de continuação de linha, remova o sublinhado do final da linha de mesclagem com a seguinte linha ao recriar esse código.

Campos são analisados na seguinte ordem se forem encontradas sem vírgulas no endereço:
ZIP Code, estado, cidade
Se houver pelo menos uma vírgula, é provável que ele seja entre cidade e estado e os campos são analisados em uma ordem diferente:
Cidade, estado, CEP

Exemplo passo a passo

  1. Insira o código a seguir:
          Function CutLastWord (ByVal S As String, Remainder As String) _         As String      ' CutLastWord: returns the last word in S.      ' Remainder: returns the rest.      '      ' Words are separated by spaces      '      Dim  I As Integer, P As Integer        S = Trim$(S)        P = 1        For I = Len(S) To 1 Step -1          If Mid$(S, I, 1) = " " Then            P = I + 1            Exit For          End If        Next I        If P = 1 Then          CutLastWord = S          Remainder = ""        Else          CutLastWord = Mid$(S, P)          Remainder = Trim$(Left$(S, P - 1))        End If      End Function      Sub ParseCSZ (ByVal S As String, City As String, State As String, _                    Zip As String)      Dim P As Integer      '      ' Check for comma after city name      '        P = InStr(S, ",")        If P > 0 Then          City = Trim$(Left$(S, P - 1))          S = Trim$(Mid$(S, P + 1))      '      '   Check for comma after state      '          P = InStr(S, ",")          If P > 0 Then            State = Trim$(Left$(S, P - 1))            Zip = Trim$(Mid$(S, P + 1))          Else                      ' No comma between state and zip            Zip = CutLastWord(S, S)            State = S          End If        Else                        ' No commas between city, state, or zip          Zip = CutLastWord(S, S)          State = CutLastWord(S, S)          City = S        End If      '      ' Clean up any dangling commas      '        If Right$(State, 1) = "," Then          State = RTrim$(Left$(State, Len(State) - 1))        End If        If Right$(City, 1) = "," Then          City = RTrim$(Left$(City, Len(City) - 1))        End If      End Sub						
  2. Para testar, crie um formulário com quatro caixas de texto (txtAddress txtCity, txtState, txtZip) e um botão de comando. Adicione o seguinte código:
          Sub Command1_Click()      Dim City As String, State As String, Zip As String        ParseCSZ txtAddress, City, State, Zip        txtCity = City        txtState = State        txtZip = Zip      End Sub						
  3. Exibir o formulário, digite um endereço em txtAddress e clique no botão de comando. Os três campos devem conter os valores analisados.

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 168798 - Última Revisão: 01/19/2007 23:13:43 - Revisão: 3.6

  • Microsoft Visual Basic Control Creation Edition
  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic 4.0 Standard Edition
  • Microsoft Visual Basic 4.0 Professional Edition
  • Microsoft Visual Basic 4.0 Professional Edition
  • Microsoft Visual Basic 4.0 de 16 bits Enterprise Edition
  • Microsoft Visual Basic 4.0 de 32 Bits Enterprise Edition
  • Microsoft Visual Basic 2.0 Standard Edition
  • Microsoft Visual Basic 3.0 Professional Edition
  • Microsoft Visual Basic 2.0 Professional Edition
  • Microsoft Visual Basic 3.0 Professional Edition
  • Microsoft Access 1.0 Standard Edition
  • Microsoft Access 1.1 Standard Edition
  • Microsoft Access 2.0 Standard Edition
  • Microsoft Access 95 Standard Edition
  • Microsoft Access 97 Standard Edition
  • Microsoft Excel 97 Standard Edition
  • Microsoft Word 97 Standard Edition
  • Microsoft PowerPoint 97 Standard Edition
  • kbmt kbhowto kbprogramming KB168798 KbMtpt
Comentários
ps://c1.microsoft.com/c.gif?DI=4050&did=1&t=">agName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?"> >>w.location.protocol) + "//c.microsoft.com/ms.js'><\/script>"); >