Distancia entre bai...
 
Notifications
Clear all

Distancia entre bairros

59 Posts
3 Usuários
0 Reactions
12.5 K Visualizações
(@fabioprade)
Posts: 273
Reputable Member
Topic starter
 

Bom dia amigos, tenho pesquisado mas esta dificil, no meu form, tenho dois controles um com bairro de coleta e o outro com bairro de entrega, gostaria que o meu sisteminha calculasse a distancia entre os bairros mas nao tenho a menor ideia de como fazer isso, é muito complicado? a ideia e a mesma do google mapas.

Qualquer ideia sera bem vinda, muito obrigado.

Fabio Pradella

 
Postado : 08/05/2012 9:09 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Mande o arquivo que está dando essa mensagem com esse problema

 
Postado : 17/05/2012 10:10 am
(@fabioprade)
Posts: 273
Reputable Member
Topic starter
 

Ta ai o resumo do programa...

Obrigado

 
Postado : 17/05/2012 10:48 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Segue alterado: Na composição da formula len estava com um erro de colchete (creio que passei errado). Tb fiz uma alteração no momento da passagem do valor numero (para o form de procura), pois o google não usa numeros com ponto (2.183)
Veja se está ok

 
Postado : 17/05/2012 12:37 pm
(@fabioprade)
Posts: 273
Reputable Member
Topic starter
 

O merito de toda esta parte de pesquisa e teu, ficou show de bola, vai me ajudar muito no trabalho.

Para ficar uma coisa mais agil, coloquei a chamada do form de pesquisa no afterupdate do Nentrega, assim so transporta a kilometragem e ta feito.

Meu muito obrigado Reinaldo, por enquanto, hehehe.

 
Postado : 17/05/2012 1:33 pm
(@fabioprade)
Posts: 273
Reputable Member
Topic starter
 

Reinaldo bom dia,

Seria legal se desse para fazer mas não é nada tão importante assim.
No form de pesquisa, na lblchegadaretornado, ele recebe o endereço completo que vem do google, rua, numero e bairro, é possivel filtrar so o bairro e transportar ele para o comando bairro dentro do meu form de cadastro? como ja faz com a kilometragem.

Tentei tambem entender como montar a rotina que dependendo da kilometragem no comando txtKm, ele me daria o valor no comando txtvalor mas pelas minhas limitaçoes nao cheguei a lugar nenhum, dei uma olhada no link que vc me mandou mas nada, se puder me colocar almenos no caminho ai vou continuar pesquisando, as variaveis que eu tenho hoje sao as seguintes:

ate 4 km, 15,00
de 5 a 8 km 18,00
de 9 a 12 km 20,00
de 13 a 15 km 22,00
de 16 a 20 km 25,00
de 21 a 25 km 30,00

O que você faria?

Se bem entendi, com if não da para fazer porque são muitas variáveis, certo?
Então teria que colocar estas variáveis em uma plan ou tem como jogar estas variáveis dentro de uma rotina também é possível?

Reinaldo, se tiver tempo e paciência para me dar mais esta força eu agradeço mas não pretendo nada, sei que são vários os posts neste fórum, o tempo que você ja investiu comigo e bem grande e para mim foi muito útil, só tenho a agradecer.

 
Postado : 18/05/2012 7:21 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Fabio, com referencia a tabela:
A mesma pode ser feita no codigo, utilizei o nome TxtValor1 que está no seu formulario, se não for esse altere.

If CDec(Left(strKm, Len(strKm) - 2)) < 5 Then
    frmCadastroServiçosConvenio.TxtValor1.Text = CDec(Left(strKm, Len(strKm) - 2)) * 15
ElseIf CDec(Left(strKm, Len(strKm) - 2)) >= 5 And CDec(Left(strKm, Len(strKm) - 2)) < 9 Then
    frmCadastroServiçosConvenio.TxtValor1.Text = CDec(Left(strKm, Len(strKm) - 2)) * 18
ElseIf CDec(Left(strKm, Len(strKm) - 2)) >= 9 And CDec(Left(strKm, Len(strKm) - 2)) < 13 Then
    frmCadastroServiçosConvenio.TxtValor1.Text = CDec(Left(strKm, Len(strKm) - 2)) * 20
ElseIf CDec(Left(strKm, Len(strKm) - 2)) >= 13 And CDec(Left(strKm, Len(strKm) - 2)) < 16 Then
    frmCadastroServiçosConvenio.TxtValor1.Text = CDec(Left(strKm, Len(strKm) - 2)) * 22
ElseIf CDec(Left(strKm, Len(strKm) - 2)) >= 16 And CDec(Left(strKm, Len(strKm) - 2)) < 21 Then
    frmCadastroServiçosConvenio.TxtValor1.Text = CDec(Left(strKm, Len(strKm) - 2)) * 25
ElseIf CDec(Left(strKm, Len(strKm) - 2)) >= 21 And CDec(Left(strKm, Len(strKm) - 2)) < 26 Then
    frmCadastroServiçosConvenio.TxtValor1.Text = CDec(Left(strKm, Len(strKm) - 2)) * 30
Else
MsgBox "Quilometragem excede a tabela: " & CDec(Left(strKm, Len(strKm) - 2))
End If

Quanto a obtenção do "Bairro", pelo lblretorno (ou lblpartida) creio que não vai dar, pois o Bairro vem após "- ", e é separado da cidade, por espaço ou virgula; porem em alguns, em outros vem "grudado" à cidade; o que torna impraticavel essa "coleta".

 
Postado : 18/05/2012 12:18 pm
(@fabioprade)
Posts: 273
Reputable Member
Topic starter
 

Reinaldo,

ficou assim,

If CDec(Left(strKm, Len(strKm) - 2)) < 5 Then
frmCadastroServiçosConvenio.TxtValor1.Text = R$ 15,00
ElseIf CDec(Left(strKm, Len(strKm) - 2)) >= 5 And CDec(Left(strKm, Len(strKm) - 2)) < 9 Then
frmCadastroServiçosConvenio.TxtValor1.Text = R$ 18,00
ElseIf CDec(Left(strKm, Len(strKm) - 2)) >= 9 And CDec(Left(strKm, Len(strKm) - 2)) < 13 Then
frmCadastroServiçosConvenio.TxtValor1.Text = R$ 20,00

e ficou show, so que agora me criou um probleminha, nao consiguo fazer o txttotal somar os txtvalor1 e o txtvalor2 ? :oops:

Mas mesmo assim ficou muito bom, voce e fera mesmo, so tenho a te agradecer.

 
Postado : 18/05/2012 1:39 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Por padrão os txt retornam valores "TEXTO", para soma-los é necessario efetuar a conversão, vc as fez?

 
Postado : 18/05/2012 2:12 pm
(@fabioprade)
Posts: 273
Reputable Member
Topic starter
 

Não, mas ja estou pesquisando, mas uma vez bate a falta de experiencia.

 
Postado : 18/05/2012 2:18 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Pode usar o CDec conforme o codigo do if, mas se posicione (qdo no vba) em cima do nome "Cdec" e tecle "F1", o help irá mostar detalhes e outros bem como outras opções

 
Postado : 18/05/2012 2:23 pm
(@fabioprade)
Posts: 273
Reputable Member
Topic starter
 

Reinaldo, como estou em casa tenho aquele problema de nao conseguir abrir o projeto em casa, mas estou aqui estudando e pesquisando as expressoes, pergunto:
se é que entendi, trocando o CDec por CDbl ja resolveria meu problema, transformando o texto em numeros, é isso?

 
Postado : 18/05/2012 4:43 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Cdec, Cbol ou Ccur, qualquer um, na range de valores que terá, são "utilizaveis"

 
Postado : 18/05/2012 5:05 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Fabio, alem da ajuda do proprio excel que o Reinaldo citou, você pode dar uma olhada no site do Julio, da lição 14 até a 19 é somente sobre as funções de conversão de Tipos :

http://www.juliobattisti.com.br/cursos/ ... odulo5.asp

[]s

 
Postado : 18/05/2012 6:12 pm
(@fabioprade)
Posts: 273
Reputable Member
Topic starter
 

Ja estou olhando, obrigado Mauro.

 
Postado : 18/05/2012 7:32 pm
(@fabioprade)
Posts: 273
Reputable Member
Topic starter
 

Bom dia senhores,

então, se todas estas expressões ja transportam os valores não em texto mas em numeros, porque a minha função afterupdate dos comandos txtvalor1 e txtvalor2 não fazerm a soma?

Aonde estou errando?

 
Postado : 21/05/2012 5:40 am
Página 3 / 4