Vídeo recomendado
https://youtu.be/diWPPPhW-9E

ModeloCadastro3ListView

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Diovanino Cassio
Colaborador
Colaborador
Mensagens: 53
Registrado em: Qua Mar 15, 2017 11:31 am

Re: ModeloCadastro3ListView

Mensagem por Diovanino Cassio »

Saulo,
Acatei a vossa sugestão, e mudei o campo REGISTRO da planilha, para tipo TEXTO e acrescentei o ZERO nos registros de 1 a 9. Funciona bem, até o registro 99, mas quando passa de 100, acontece o que está sendo mostrado no print em anexo:

Sds,
Anexos
PrintTela.jpg
PrintTela.jpg (27.64 KiB) Exibido 6072 vezes


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


srobles
Jedi
Jedi
Mensagens: 805
Registrado em: Qua Mai 06, 2015 7:39 pm

Re: ModeloCadastro3ListView

Mensagem por srobles »

Diovanino,

Percebo que a única opção que nos resta será adicionar zeros á frente de cada registro...Tanto ao realizar novos cadastros quanto aos que já existem.

Em testes aqui, ressaltando que um ListView só pode ter pouco mais 32.000 registros, logo, você terá de padronizar os registros existentes com 6 ou mais dígitos, sendo que sempre deverá ter 1 zero á frente de cada, para que a ordenação fique á contento.

Vamos esperar um pouco mais e quem sabe, alguns dos ilústres colegas não tem uma solução mais simples.

Abs


Diovanino Cassio
Colaborador
Colaborador
Mensagens: 53
Registrado em: Qua Mar 15, 2017 11:31 am

Re: ModeloCadastro3ListView - [Resolvido]

Mensagem por Diovanino Cassio »

Saulo, bom dia!

Eu resolvi o problema mudando o tipo de dado da coluna REGISTRO das planilhas de número para um tipo personalizado (CEP), e no código, onde é definido o registro automático, eu usei o FORMAT no campo REGISTRO, como "00000"

Sds,
Diovanino Cássio


Diovanino Cassio
Colaborador
Colaborador
Mensagens: 53
Registrado em: Qua Mar 15, 2017 11:31 am

ModeloCadastro3ListView

Mensagem por Diovanino Cassio »

Saulo, bom dia!

Gostaria do vosso corriqueiro apoio, no problema abaixo:
Também baseado no conceito do "ModeloCadastro", estou inserindo no meu sistema, um formulário para controle de abastecimentos.
O formulário já está pronto, e o que ficou pendente, foi a mostragem dos kms rodados e da média do veículo.
Coloquei na pasta C:\temp, todas a planilhas utilizadas pelo formulário, e gostaria que você, claro se for possível, me mostrasse como que eu faço para mostrar os valores nos campos de KM RODADO e MÉDIA.
Compactei o arquivo no formato .RAR, ok?

Sds,
Diovanino Cássio
Anexos
ControleAbastecimento.rar
(285.29 KiB) Baixado 242 vezes


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


srobles
Jedi
Jedi
Mensagens: 805
Registrado em: Qua Mai 06, 2015 7:39 pm

Re: ModeloCadastro3ListView

Mensagem por srobles »

Diovanino,

A forma com a qual irá trabalhar, necessita de todas as base separadas? Não poderíamos consolidar todas em um único arquivo?

Abs


Diovanino Cassio
Colaborador
Colaborador
Mensagens: 53
Registrado em: Qua Mar 15, 2017 11:31 am

Re: ModeloCadastro3ListView

Mensagem por Diovanino Cassio »

Saulo,
O meu sistema, utiliza vários formulários, que segue o mesmo padrão de código, do formulário que lhe enviei, ok?
O que eu fiz aqui, foi de copiar todas a planilhas necessárias para a pasta TEMP do meu disco C, apontar o caminho para este diretório, e deixar somente o formulário e o módulo necessário, para você conseguir rodá-lo. Aqui, está funcionando perfeitamente.

Sds,
Diovanino Cássio.


srobles
Jedi
Jedi
Mensagens: 805
Registrado em: Qua Mai 06, 2015 7:39 pm

Re: ModeloCadastro3ListView

Mensagem por srobles »

Diovanino,

OK, entendi sua demanda.

Editei seu modelo conforme orientação, acrescentando um novo módulo onde está a função que efetua a validação para cálculo de média de consumo.

A mesma funciona da seguinte maneira :

Ao se teclar ENTER ou TAB no campo Hodômetro, a função é chamada e é passado como parâmetro de pesquisa, a placa do veículo.

A função percorre a planilha Abastecimento de baixo para cima procurando a placa informada e, ao encontrar, retorna o ultimo hodômetro registrado.

Caso encontre a placa informada, com base nos campos Qtde e Hodômetro do formulário, fazemos os cálculos da seguinte maneira :

Campo Distância = Hodômetro informado no formulário - o último hodômetro registrado;
Campo Média = Campo Distância / Campo Qtde

Caso não encontre a placa informada, preenchemos os campos Distância e Média com 0 (zero)

Espero ter ajudado.

Abs
Anexos
ControleAbastecimento.zip
(293.18 KiB) Baixado 256 vezes


Diovanino Cassio
Colaborador
Colaborador
Mensagens: 53
Registrado em: Qua Mar 15, 2017 11:31 am

Re: ModeloCadastro3ListView [Resolvido]

Mensagem por Diovanino Cassio »

Saulo,

Valeu mesmo brother!
Era isso mesmo que eu estava precisando.
Ficou muito boa a vossa sugestão, ok?

Sds,
Diovanino Cássio


Diovanino Cassio
Colaborador
Colaborador
Mensagens: 53
Registrado em: Qua Mar 15, 2017 11:31 am

Re: ModeloCadastro3ListView

Mensagem por Diovanino Cassio »

Saulo, bom dia!

Desculpe-me te incomodar novamente sobre este assunto, pois eu até lhe respondi sobre este assunto, como resolvido, ok?
Acontece que efetuei os testes no Controle de Combustíveis, digitando informações de abastecimentos, usando veículos diferentes, mas quando tentei efetuar vários lançamentos simultâneos de um mesmo veículo, o formulário está ficando escondido atrás da tela do Excel (ver print em anexo).

Sds,
Diovanino Cássio
Anexos
TelaSobrePosta.jpg
TelaSobrePosta.jpg (100.08 KiB) Exibido 5841 vezes
ControleAbastecimento.rar
(284.15 KiB) Baixado 251 vezes


srobles
Jedi
Jedi
Mensagens: 805
Registrado em: Qua Mai 06, 2015 7:39 pm

Re: ModeloCadastro3ListView

Mensagem por srobles »

Diovanino,

Sinceramente amigo, não sei o que pode estar causando esse transtorno. Todavia, fiz pequenas alterações no formulário e durante meus testes, não enfrentei o problema. Peço que verifique se o erro pode estar ocorrendo por falta de memória no computador, mas...

Segue abaixo o que alterei no formulário :
No evento Initialize, adicionei a chamada da rotina CarregaComboBox, removendo a mesma do evento click do botão Novo.

Adicionei também a instrução frmControlAbast.Repaint na função de cálculo de média de KM, apenas para atualizar o formulário.

No botão Voltar, removi a instrução frmControlAbast.Hide (que apenas esconde o formulário, mas mantém o mesmo na memória) e adicionei também Windows("Abastecimento.xlsx").Close True (para fecharmos a base de dados, salvando as alterações), assim descarregamos tudo que estiver na memória.

Creio que isso possa resolver o problema, mas peço que realize testes e retorne.

Abs
Anexos
ControleAbastecimento.zip
(289.58 KiB) Baixado 248 vezes


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder