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

    [Resolvido]Erro em tempo de execução "6" / Estouro

    Luiz Gustavo M
    Luiz Gustavo M
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 447
    Registrado : 13/09/2011

    [Resolvido]Erro em tempo de execução "6"  / Estouro Empty Erro em tempo de execução "6" / Estouro

    Mensagem  Luiz Gustavo M 12/6/2012, 20:39

    Olá Pessoal.
    O código abaixo funciona perfeitamente. No entanto quando os valores do campo "Recibo" é um número grande (Ex:100.000), aí da erro.

    Option Compare Database
    Option Explicit
    Dim Rst As DAO.Recordset, NrAnterior As Integer, NrInicio As Integer

    Private Sub CabeçalhoDoGrupo0_Format(Cancel As Integer, FormatCount As Integer)
    'By Alexandre Neves 25/05/2012
    'Alterado por Luiz Gustavo
    Me!Recibos = Null
    Set Rst = CurrentDb.OpenRecordset("SELECT NF,Recibo FROM cst1 WHERE NF=" & Me.txtNF & " ORDER BY Recibo;")

    NrAnterior = 0: NrInicio = 0
    Do While Not Rst.EOF
    If Rst.AbsolutePosition = 0 Then
    NrInicio = Rst(1)
    Else
    If Rst(1) > NrAnterior + 1 Then
    If NrInicio = NrAnterior Then
    Me!Recibos = Me!Recibos & ", " & NrInicio
    Else
    Me!Recibos = Me!Recibos & ", " & NrInicio & " a " & NrAnterior
    End If
    NrInicio = Rst(1)
    End If
    End If
    NrAnterior = Rst(1)
    Rst.MoveNext
    If Rst.EOF Then
    Rst.MovePrevious
    If NrInicio = NrAnterior Then
    Me!Recibos = Me!Recibos & ", " & NrInicio
    Else
    Me!Recibos = Me!Recibos & ", " & NrInicio & " a " & NrAnterior
    End If
    Rst.MoveNext
    End If
    Loop

    'retira 1ª vírgula
    Me!Recibos = Mid(Me!Recibos, 2)
    End Sub

    Anexo estou postando um pequeno BD de exemplo.
    Agradeço aos que puderem ajudar-me.

    Abraços

    Obrigado

    Luiz Gustavo
    Anexos
    [Resolvido]Erro em tempo de execução "6"  / Estouro AttachmentEstouro.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (27 Kb) Baixado 32 vez(es)
    avatar
    Convidado
    Convidado


    [Resolvido]Erro em tempo de execução "6"  / Estouro Empty Re: [Resolvido]Erro em tempo de execução "6" / Estouro

    Mensagem  Convidado 12/6/2012, 20:48

    Ja tentou modificar as variáveis para long ao invés de integer?


    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Erro em tempo de execução "6"  / Estouro Empty Re: [Resolvido]Erro em tempo de execução "6" / Estouro

    Mensagem  Convidado 12/6/2012, 20:53

    E somente isso mesmo amigão.

    As variáveis Long (inteiro longo) são armazenadas como números de 32 bits (4 bytes), sinalizados, no intervalo de -2.147.483.648 a 2.147.483.647. O caractere de declaração de tipo para Long é o ‘E’ comercial (&).


    As variáveis Integer são armazenadas como números de 16 bits (2 bytes) com valor no intervalo de -32.768 a 32.767. O caractere de declaração de tipo para Integer é o sinal de porcentagem (%).

    As variáveis Integer também podem ser usadas para representar valores enumerados. Um valor enumerado pode conter um conjunto finito de números inteiros exclusivos, cada um com um significado especial no contexto em que é usado. Os valores enumerados oferecem uma forma conveniente de selecionar dentre um número conhecido de opções, por exemplo, preto = 0, branco = 1 e assim por diante. É boa prática de programação definir constantes usando a instrução Const para cada valor enumerado.

    Cumprimentos.
    Luiz Gustavo M
    Luiz Gustavo M
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 447
    Registrado : 13/09/2011

    [Resolvido]Erro em tempo de execução "6"  / Estouro Empty Re: [Resolvido]Erro em tempo de execução "6" / Estouro

    Mensagem  Luiz Gustavo M 12/6/2012, 21:20

    Grande Harysohn
    Há quanto tempo!!!
    É um grande prazer.

    E as coisas como vão? Você está bem?
    Espero que sim.

    Grato pela solução.
    Valeu pela aula.

    Forte abraço.
    avatar
    Convidado
    Convidado


    [Resolvido]Erro em tempo de execução "6"  / Estouro Empty Re: [Resolvido]Erro em tempo de execução "6" / Estouro

    Mensagem  Convidado 12/6/2012, 21:56

    Boas Luis.. por aqui vamos levando.

    Obrigado pelas lisonjas!

    O Fórum agradece o retorno.
    avatar
    rsousajr
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1
    Registrado : 20/08/2015

    [Resolvido]Erro em tempo de execução "6"  / Estouro Empty Erro em tempo de execução "6" / Estouro

    Mensagem  rsousajr 20/8/2015, 13:39

    bom dia amigos!

    estou tendo o mesmo problema quando o numero ultrapassa as 32 mil linhas apresenta o "    Erro em tempo de execução "6" / Estouro"

    'codigo para salvar

    Public Sub Salvar()
    SetCamposAgenda

    '1 restricao - se o campo codigo estiver em branco
    If CamposAgenda(0) = "" Then
       MsgBox "Clique no botao Novo para incial um novo cadasro", vbCritical, "ERRO"
       Exit Sub
       End If

    '2 restricao - se o campo nome estiver em branco
    If CamposAgenda(1) = "" Then
       MsgBox "Digite um nome para cadastrar", vbCritical, "ERRO"
       Exit Sub
       End If
       
    '3 restricao se o codigo ou o nome ja estiverem na base de dados
    linha = 2
    Do Until shtBdados.Cells(linha, 1) = ""
       If shtBdados.Cells(linha, 1) = shtTrabalho.Range("codigo") Or shtBdados.Cells(linha, 2) = shtTrabalho.Range("anoprocesso") Then
       MsgBox " Este protocolo ou linha existe no banco de dados", vbInformation, "POTOCOLO EXISTENTE"
       Exit Sub
       End If
       linha = linha + 1
       Loop
       
       'NAO HAVENDO MAIS RESTIRCOES ENTAO CADASTRAR
       

    Set linhaprocurada = shtBdados.Columns("A:A").Find("", LOOKAT:=xlWhole)
    For A = 0 To 15
       linhaprocurada.Offset(0, A).Value = CamposAgenda(A)
    Next
    MsgBox "Dados salvo com sucesso", vbInformation, "SAVAR"
    LimparAgenda
    'CodigoAutomatico
    salvartrabalho
    Exit Sub


    End Sub

    --------------------------------------------------------

    'aqui é o procedimento para gerar um novo codigo

    'procediemtno para novo cadastro
    Public Sub Novo()
    linha = 2
    conte = 1
    Do Until shtBdados.Cells(linha, 1) = ""
    conte = conte + 1
    linha = linha + 1
    Loop
    LimparAgenda
    shtTrabalho.Range("codigo") = conte


    End Sub
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5074
    Registrado : 20/04/2011

    [Resolvido]Erro em tempo de execução "6"  / Estouro Empty Re: [Resolvido]Erro em tempo de execução "6" / Estouro

    Mensagem  Silvio 20/8/2015, 14:02

    Boas Raimundo.

    Seja bem vindo !

    O fórum é destinado ao ambiente MS Access e não para o MS Excel.

    Eis o link de um fórum especifico...

    Grato pela compreensão dos envolvidos.

    Silvio


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."

    Conteúdo patrocinado


    [Resolvido]Erro em tempo de execução "6"  / Estouro Empty Re: [Resolvido]Erro em tempo de execução "6" / Estouro

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 29/3/2024, 08:14