Boa tarde.
Gostaria de uma ajuda dos ilustres amigos. Tenho um formulário que faz uma consulta de Ceps na web em um endereço na web que por sua vez aponta para uma base de Ceps.mdb. O problema é que quando o provedor está fora do ar (múltiplos acessos), a pool do servidor trava e consequentemente a propriedade do campo (Ao sair) também trava. Quando não tem internet ele acessa o banco de Ceps.mdb local. Segue a condição abaixo, quando tem internet acessa a base da Web, senão acessa a base local. Como posso reescrever o trecho abaixo fazendo com que ele não acesse mais a internet para acessar o primeiro IF sem errar a sintaxe?
Obs: Em ambas as situações ele tem que acessar somente o trecho abaixo:
Call Ver_Cep
Me.Endereço_Residencial = Mid(End_C, 1, 40)
Me.Bairro_Residencial = Mid(Bai_C, 1, 20)
Me.Cidade_Residencial = Mid(Cid_C, 1, 20)
Me.Estado_Residencial = Mid(Est_C, 1, 2)
Apesar de eu colocar esse trecho nas 2 situações, ele continua buscando primeiramente na internet.
Private Sub Cep_Residencial_Exit(Cancel As Integer)
Dim forma_acesso As String
Dim strResultado As Long
Dim VerificaInternet As String
VerificaInternet = InternetGetConnectedState(strResultado, 0)
If Forms![Seleciona Cliente]![Cliente_Selecionado] = 0 Then
Cep_C = Me.Cep_Residencial & ""
If VerificaInternet = 1 Then
Dim resultado
Dim Texto As String
resultado = busca_cep2(Me.Cep_Residencial)
If cep_status = "S" Then
Call Ver_Cep
Me.Endereço_Residencial = Mid(End_C, 1, 40)
Me.Bairro_Residencial = Mid(Bai_C, 1, 20)
Me.Cidade_Residencial = Mid(Cid_C, 1, 20)
Me.Estado_Residencial = Mid(Est_C, 1, 2)
'Me.Endereço_Residencial = cep_endereco
'On Error Resume Next
'Me.Bairro_Residencial = cep_bairro
'Me.Cidade_Residencial = cep_cidade
'Me.Estado_Residencial = cep_estado
Else
Call Ver_Cep
Me.Endereço_Residencial = Mid(End_C, 1, 40)
Me.Bairro_Residencial = Mid(Bai_C, 1, 20)
Me.Cidade_Residencial = Mid(Cid_C, 1, 20)
Me.Estado_Residencial = Mid(Est_C, 1, 2)
End If
Else
Call Ver_Cep
Me.Endereço_Residencial = Mid(End_C, 1, 40)
Me.Bairro_Residencial = Mid(Bai_C, 1, 20)
Me.Cidade_Residencial = Mid(Cid_C, 1, 20)
Me.Estado_Residencial = Mid(Est_C, 1, 2)
End If
Else
If Me.Cep_Residencial <> Cep_Res Then
Cep_C = Me.Cep_Residencial & ""
Call Ver_Cep
Me.Endereço_Residencial = Mid(End_C, 1, 40)
Me.Bairro_Residencial = Mid(Bai_C, 1, 20)
Me.Cidade_Residencial = Mid(Cid_C, 1, 20)
Me.Estado_Residencial = Mid(Est_C, 1, 2)
End If
End If
End Sub
Resumindo, em ambos os casos funcionam (Internet/Local na máquina). O problema é que quando a Pool do provedor trava, o campo Cep fica eternamente tentando consultar a internet e não passa para o Else. Como posso rescrever este código sem não acessar mais a internet?
Obrigado!