• Phục Hồi Table lỡ xóa
  • Phục Hồi Table lỡ xóa

    Noname > 09-08-10, 01:53 AM

    Trả lời: Ý tưởng đặt ra là ta sẽ tìm lại table bi xóa trong những file ~templete (được tạo ra khi access dang chạy). Bạn tạo một command button phuchoi gọi lệnh UndeleteTable () như sau nhé:

    Mã:
    Private sub phuchoi_click ()

    Call UnDeleteTable ()

    End sub



    Mã PHP:
    Option Compare Database

    Function UnDeleteTable(Optional sName As String)

    Dim db As DAO.Database
    Dim tdf 
    As DAO.TableDef
    Dim sTable 
    As String
    Dim sSQL 
    As String
    Dim sMsg 
    As String

    If IsMissing(sNameThen sName "Tablephuchoi"
    If Len(sName) = 0 Then sName "Tablephuhoi"

    Set db CurrentDb()

    For 
    Each tdf In db.TableDefs
    If left(tdf.Name4) = "~tmp" Then
    sTable 
    tdf.Name
    sSQL 
    "SELECT [" sTable "].* INTO " sName
    sSQL 
    sSQL " FROM [" sTable "];"

    db.Execute sSQL

    sMsg 
    "Da phuc hoi xong mot Tablle bi xoa voi ten " sName
    MsgBox sMsg
    vbOKOnly"Da phuc hoi xong"
    GoTo Exit_Undelete
    End 
    If
    Next

    ' Neu khong tim thay thi thong bao
    MsgBox "Khong tim thay Table nao co the phuc hoi", vbOKOnly, "Xin loi!"

    Exit_Undelete:
    Set db = Nothing
    Exit Function

    Err_Undelete:
    MsgBox err.Description
    Resume Exit_Undelete

    End Function

    NotesHam nay chi su dung cho Access 95 tro len va con tuy thuoc vao mot so dieu kien sau:
    ' - Da xoa nham Table nhung chua dong CSDL (đóng rồi thì tui chưa thử)
    CSDL chua su dung che do compact and comact repair (dọn rác rồi lấy đâu ra mà phục hồi?)
    ' - CSDL bi xoa boi phan quyen User trong ung dung access cua ban (tui thu roi khoi test nua)
    Ham nay chi phuc hoi cho mot Table bi xoa gan nhat (những cái trước đó tui bó tay chưa nghĩ ra
    Xin lỗi các bạn chịu khó đọc phần notes kô dấu nhé mình copy cho lẹ (^_^)

    ------------------------------------------

    Chúc thành công!