Sou novo aqui, necessito de ajuda. Se possível! No código abaixo que 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
Pergunta
FMartins
Caros amigos,
Sou novo aqui, necessito de ajuda. Se possível! No código abaixo que 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
Muito obrigado.
Abraços
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.