MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


3 participantes

    Erro de memória de Pilha!

    avatar
    leonardoemel
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 32
    Registrado : 04/01/2013

    Erro de memória de Pilha! Empty Erro de memória de Pilha!

    Mensagem  leonardoemel 24/2/2014, 15:07

    Boa tarde,

    Meu BD está apresentando um erro de memória de pilha ao executar. Eu disponibilizei um modelo que contém um exemplo do que eu preciso e apresenta o mesmo erro. Claro que o arquivo é um exemplo, o arquivo que tenho é bem mais complexo e bem maior que esse, então não tenho como disponibiliza-lo.

    Notem que eu fiz um Formulário3 sem a instrução "Docmd.gotorecord,, acNext", que não dá erro, porém tenho que passar manualmente cada registro para atualização dos dados conforme condições e fiz o Formulário4 com a instrução antes citada que é o que dá o erro de memória.

    O que pode ser isso? e como posso resolver?

    Tem algum código que "Esvazie" a memória após a instrução ser executada a cada registro... Bom , num sei se to falando alguma bobagem, mas pensei que seria a solução...

    Obrigado,
    Anexos
    Erro de memória de Pilha! AttachmentDatabase1.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (241 Kb) Baixado 5 vez(es)
    avatar
    halmeida
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 90
    Registrado : 07/08/2011

    Erro de memória de Pilha! Empty Re: Erro de memória de Pilha!

    Mensagem  halmeida 3/3/2014, 03:35

    Tente marcar a opção de compactar ao fechar no menu de opções. Neste caso, ao fechar o bd, o access repara qualquer erro q possa existir.
    Tente também compilar o bd pra ver se alguma linha de código está com problema. O procedimento é o seguinte, abra um modulo qualquer, vá em ferramentas, compilar bd.
    toyebom
    toyebom
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1128
    Registrado : 18/07/2012

    Erro de memória de Pilha! Empty Erro de memória de Pilha!

    Mensagem  toyebom 3/3/2014, 17:34

    Tenta retirar os espaços extra entre linhas de comando e a seguir repara e compacta a bd.


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    toyebom
    toyebom
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1128
    Registrado : 18/07/2012

    Erro de memória de Pilha! Empty Erro de memória de Pilha!

    Mensagem  toyebom 3/3/2014, 17:49

    Ok tirei isto do Yahoo ve se pode ajudar, já agora coloco-te mais alguns links que te poderão ajudar também:

    http://www.codelines.com/manualvb/cap%C3%ADtulos/Cap%C3%ADtulo9.htm
    http://www.macoratti.net/vb_bugs1.htm
    http://www.macoratti.net/10/05/pvb6_lp.htm
    http://support.microsoft.com/kb/142138/pt
    http://br.answers.yahoo.com/question/index?qid=20080305090030AAMMbnA

    Tirado do Yahoo:
    Se refere ao programa do VB e o erro é comum.O número de vezes que uma função pode chamar a si mesma é limitado pela quantidade de espaço de pilha disponível. Infelizmente, você não tem controle sobre o tamanho da pilha de chamadas ou sobre como ela é alocada. Se você tiver uma grande quantidade de dados para processar, ou se cada chamada de função acrescentar muitos dados à pilha, acabará ficando sem espaço de pilha. Isso resultará em uma cruel mensagem do VB: “Run-time error: ‘28’ Out of Stack Space” (“Erro em tempo de execução: ‘28’ Espaço de pilha esgotado”). Apesar de querer que seu programa lide com dados de tamanho variável, você não tem como saber de antemão de quanto espaço de pilha ele precisará. Além disso, se desejar usar seu código em outro lugar, precisará estar ciente de que os tamanhos de pilha variam entre as plataformas.
    Para possibilitar a recursão, o sistema operacional fornece a cada programa uma pequena quantidade de espaço na memória, a pilha de chamadas. A rigor, uma pilha é uma estrutura de dados que retorna itens posicionados nela na ordem inversa em que foram adicionados. Em outras palavras, o último item posicionado na pilha deve ser o primeiro removido, e o primeiro item dever ser o último. Esse é o comportamento conhecido como LIFO (last in, first out – último a entrar, primeiro a sair).
    Vc terá consertar isso. basta usar a recursão de dados. Usando uma única função para fazer o loop por todos os dados, você evita os problemas associados à recursão convencional. Ainda que precise de uma pilha de chamadas, você mesmo poderá implementá-la e criar uma que seja dimensionada dinamicamente e em tempo de execução.
    O método Init() define o tamanho da pilha, Push() posiciona os dados nela e Pop() remove seus dados (veja a Listagem 2). O método Pop() também aceita um parâmetro opcional que permite a remoção de um número arbitrário de itens do alto da pilha. A propriedade Value permite a exibição e a alteração dos dados que estejam na pilha no momento. Ela também aceita um índice, que é relativo ao topo da pilha. Use Value(0) para obter o item superior da pilha. Para obter o item seguinte, use Value(1), e assim sucessivamente. CStack também expõe isEmpty(), um método que retorna True quando a pilha está vazia. Clear() reinicializa a pilha toda. Internamente, CStack armazena dados no vetor m_stack, que você pode dimensionar com uma chamada de Init(0). Dois índices controlam o acesso a m_stack(): m_stackPtr, que aponta para o alto da pilha, e m_stackTop, que controla quantos itens você pode colocar na pilha. Quando um item é acrescentado à pilha, m_stackPtr é incrementado em um; quando é retirado da pilha, é decrementado de um. No seu caso a erro no programa que deve ser consertado porquem o criou.


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.

    Conteúdo patrocinado


    Erro de memória de Pilha! Empty Re: Erro de memória de Pilha!

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 21/11/2024, 19:35