Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

AnaKarina

9 Subscript out of range

Recommended Posts

nessa codigo está dando esse erro 9 subscript out of range gostaria de saber se tem alguém q pode me ajudar a resolver isso...

 

Dim Produtos() As Long
		Dim Estoque As ADODB.Recordset
		Estoque.Open "SELECT Estoque.IdProduto FROM Estoque", Cnn, adOpenStatic, adLockReadOnly, adCmdText
		
		ReDim Produtos(Estoque.RecordCount, 1)
		
		If UBound(Produtos()) > 0 Then
			Do While Not Estoque.EOF
				Produtos(Contador, 0) = Estoque("IdProduto")
				Estoque.MoveNext
				Contador = Contador + 1
			Loop
		End If
		
		Estoque.Close
		Set Estoque = Nothing
		
		F = FreeFile()
		
		Open NomeArquivo For Input As #F
		
		While Not EOF(1)
			Line Input #F, StrLinha
				If Left(StrLinha, 2) = "08" Then
					StrLinha = Mid(StrLinha, 3, Len(StrLinha))
					Posicao = InStr(1, StrLinha, ";")
					Codigo = Mid(StrLinha, 1, Posicao - 1)
					StrLinha = Mid(StrLinha, Posicao + 1, Len(StrLinha))
					Posicao = InStr(1, StrLinha, ";")
					Quantidade = Mid(StrLinha, 1, Posicao - 1)
					For Contador = 0 To UBound(Produtos())
						If Produtos(Contador, 0) = Codigo Then
							Produtos(Contador, 1) = Produtos(Contador, 1) + Quantidade
							Exit For
						End If
					Next Contador
				End If
		Wend
		Close #1
	
		RS.Open "Transferencias_Mov", Cnn, adOpenKeyset, adLockOptimistic, adCmdTable
		RS.AddNew
		lngTransferencia = RS("IdTransferencia")
		RS("Data") = Format(Date, "dd/mm/yyyy")
		RS("Origem") = 11 'Onze sempre DT COSMÉTICOS
		RS("Destino") = Destino 'O número do Depósito do vendedor (Que não é o mesmo Código)
		RS("Lote") = 0
		'Definindo que esta Transferência usa o estoque
		RS("Estoque") = True
		RS.Update
		
		RS.Close
		
		'Obtendo todos os produtos da transferência
		For Contador = 0 To UBound(Produtos())
			If Produtos(Contador, 1) > 0 Then
				SQL = "INSERT INTO Transferencias_Mov_Detalhes(IdTransferencia, IdProduto, Quantidade) VALUES (" & lngTransferencia & ", " & Produtos(Contador, 0) & ", " & Produtos(Contador, 1) & ")"
				Cnn.Execute (SQL)
				'Acertar o Estoque
				SQL = "UPDATE Estoque SET Estoque_Atual = Estoque_Atual - " & Produtos(Contador, 1) & " WHERE IdProduto=" & Produtos(Contador, 0)
				Cnn.Execute (SQL)
			End If
		Next Contador

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.