Bom dia
Em meu sistema possuo uma tabela que contém 2744625 registros. O banco, sem a manutenção através da função (fncRegAgrupI250 - código abaixo) possui um tamanho de 1,2 gb. Quando executo a esta função, o banco excede o tamanho máximo de 2 gb causando uma série de erros e corrompendo o mesmo.
Algum amigo tem alguma dica de como possa fazer para que, consiga executar a esta função sem exceder o tamanho do banco
Att.
Vinicius
Em meu sistema possuo uma tabela que contém 2744625 registros. O banco, sem a manutenção através da função (fncRegAgrupI250 - código abaixo) possui um tamanho de 1,2 gb. Quando executo a esta função, o banco excede o tamanho máximo de 2 gb causando uma série de erros e corrompendo o mesmo.
Algum amigo tem alguma dica de como possa fazer para que, consiga executar a esta função sem exceder o tamanho do banco
- Código:
Public Function fncRegAgrupI250()
On Error GoTo trataerro
Dim db As DAO.Database
DBEngine.SetOption dbMaxLocksPerFile, 90000000
Dim Rst As DAO.Recordset, AgAnterior As String
Set db = CurrentDb
Set Rst = CurrentDb.OpenRecordset("SELECT Agrupamento FROM reg_I250 ORDER BY Id_Registro")
Do While Not Rst.EOF
If IsNull(Rst(0)) Then
Rst.Edit
Rst(0) = (Format(AgAnterior, "00000"))
Rst.Update
Else
AgAnterior = Rst(0)
End If
Rst.MoveNext
Loop
Set Rst = Nothing
CurrentDb.Execute "Delete reg_I250.Registro FROM reg_I250 WHERE (((reg_I250.Registro)='I200'));"
sair:
Exit Function
trataerro:
Select Case Err.Number
Case 3061
Resume Next
Case 3049
Resume Next
Case Else
MsgBox "Erro: (fncRegAgrupI250) " & Err.Number & vbCrLf & Err.Description, vbCritical, "Aviso", _
Err.HelpFile, Err.HelpContext
End Select
Resume sair:
End Function
Att.
Vinicius