• Khôi phục lại table đã vô tình xóa
  • Khôi phục lại table đã vô tình xóa

    Xuân Thanh > 01-07-12, 12:17 PM

    Đã có khi nào bạn vô tình xóa một table? Và bạn không có dự phòng? Có một cách bạn có thể khôi phục lại nó nếu bạn chưa xóa thêm một table khác hoặc bạn chưa đóng cơ sở dữ liệu của bạn. Bằng thủ thuật sau đây, bạn có thể chèn tất cả các trường của bảng đã xóa vào một bảng mới

    Mã:
    Function Undo()

      Dim db As DAO.Database, strTablename As String
      Dim i As Integer, StrSqlString As String

      Set db = CurrentDb()

      For i = 0 To db.TableDefs.Count - 1

        If Left(db.TableDefs(i).Name, 4) = "~tmp" Then
           strTablename = db.TableDefs(i).Name
           StrSqlString = "SELECT DISTINCTROW [" & strTablename & _
             "].* INTO MyUndeletedTable FROM [" & strTablename & "];"
           DoCmd.SetWarnings False
           DoCmd.RunSQL StrSqlString
           DoCmd.SetWarnings True
           MsgBox "A table has been restored as MyUndeletedTable", _
             vbOKOnly, "Restored"
           GoTo Exit_Undo
        End If
      Next i
      MsgBox "No Recoverable Tables Found", vbOKOnly, "Not Found"

    Exit_Undo:
         Set db = Nothing
         Exit Function
    Err_Undo:
         MsgBox Err.Description
         Resume Exit_Undo

    End Function

    Lưu ý : Phải bổ sung thư viện DAO trong cửa sổ VBA bạn nhé, nếu không sẽ bị lổi đấy
    Thân mến