MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Erro em tempo de execução 9

    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 591
    Registrado : 23/03/2010

    [Resolvido]Erro em tempo de execução 9 Empty [Resolvido]Erro em tempo de execução 9

    Mensagem  Finformática em 3/5/2020, 18:58

    Caros amigos,

    Mais uma vez pedindo ajuda. No código abaixo que peguei aqui e estou adaptando está dando "Erro em tempo de execução 9: Subscrito forna do intervalo" na linha GuardaValorX(IndiceX) = rs![ValorX]. Sei que tem haver com o vetor/array, já pesquisei muito aqui e fora e nada consegui. Sei que para vocês isso é um café pequeno. Este código ler uma tabela, faz alguns comparativos/testes e grava em um campo.

    Alguém pode me iluminar nesta tarefa?

    Private Sub Comando10_Click()

    Dim db As Database
    Dim rs As DAO.Recordset
    Dim rs2 As DAO.Recordset
    Dim rsV As DAO.Recordset
    Set db = CurrentDb()
    Dim contaReg As Integer

    Set rs = db.OpenRecordset("SELECT * FROM [ValorMoedaY]")
    Set rsV = db.OpenRecordset("ValorMoedaY")


    contaReg = rsV.RecordCount
    'contaReg = rs.RecordCount
    Dim AcumulaX As Integer
    Dim DescAcumulaX As Integer
    Dim GuardaValorX(24) As Integer
    Dim IndiceX As Integer
    Dim IndiceAntX As Integer

    AcumulaX = 0
    DescAcumulaX = 0
    IndiceX = 0
    IndiceAntX = 0

    MsgBox "NÚMERO DE REGISTROS DA TABELA VALORMOEDAY: " & contaReg

    Do While Not rs.EOF
      rs.Edit
          IndiceX = IndiceX + 1
          AcumulaX = AcumulaX + rs![ValorX]
          If IndiceX = 15 Then
             rs("CalculoValor") = AcumulaX / 14
          End If
          If IndiceX > 15 Then
               IndiceAntX = IndiceX - 14
               DescAcumulaX = AcumulaX - GuardaValorX(IndiceAntX)
               rs("CalculoValor") = DescAcumulaX / 14
           End If
           'MsgBox "IndiceX: " & IndiceX & "    AcumulaX: " & AcumulaX & "   IndiceAntX: " & IndiceAntX & "   DescAcumulaX: " & DescAcumulaX & "   GuardaValorX: " & GuardaValorX(IndiceAntX)

             
           GuardaValorX(IndiceX) = rs![ValorX] '<<<<<<<----------<<<<----------------------  é aqui -------<<<<------------- é aqui -------<<<<--------
         
          rs.Update
          rs.Requery
             
    rs.MoveNext
    Loop

    rs.Close
    Set rs = Nothing
    rs2.Close
    Set rs2 = Nothing
    db.Close
    Set db = Nothing

    MsgBox "Cálculo concluído com sucesso...Tecle ENTER"

    'MsgBox "TERMINADO..."

    Exit Sub
    trata_erro:
       
     Call MsgBox("Erro nº " & Err.Number & " - " & Err.Description)

    'MsgBox "Cálculo concluído com sucesso..."
    End Sub
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 591
    Registrado : 23/03/2010

    [Resolvido]Erro em tempo de execução 9 Empty Re: [Resolvido]Erro em tempo de execução 9

    Mensagem  Finformática em 3/5/2020, 19:48

    Vale salientar que praticamente esse mesmo código uso em outra situação e tudo funciona. A diferença é que esse com o erro é para atualizar campo em uma tabela e o outro ler uma tabela e cria outra usando os mesmo critério, inclusive o mesmo vetor/array.

    Abraços
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 591
    Registrado : 23/03/2010

    [Resolvido]Erro em tempo de execução 9 Empty Re: [Resolvido]Erro em tempo de execução 9

    Mensagem  Finformática em 4/5/2020, 18:14

    Amigos!

    Alguém pode me ajudar?

    Abraços
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 591
    Registrado : 23/03/2010

    [Resolvido]Erro em tempo de execução 9 Empty Re: [Resolvido]Erro em tempo de execução 9

    Mensagem  Finformática em 7/5/2020, 01:10

    Resolvido

      Data/hora atual: 10/8/2020, 06:19