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:
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?
Pergunta
tcorrea
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!
Editado por tcorreaLink para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.