Code kiểm tra sự tồn tại của table
Posted by Noname trên 14.11.2009
Public Function KIEMTRA(TableName As String)As Boolean
' Khai báo biến cục bộ truy xuất đến Database Access
Dim DB As Database
' Biến N lưu trữ số Tables của Database (dùng Byte là đủ)
Dim N As Byte
' Biến i để duyệt qua từng Table
Dim i As Byte
' Khởi tạo biến DB
Set DB = DBEngine.Workspaces(0).Databases(0)
' Lấy số Tables có trong Database
n = DB.TableDefs.Count
' Duyệt tuần tự từng Table
For i = 0 To n - 1
' Nếu tên Table thứ i bằng với tên Table muốn tìm
If DB.TableDefs(i).Name = TableName Then
' Hàm trả về giá trị TRUE
KIEMTRA = True
' Thoát khỏi hàm
Exit Function
End If
' Chuyển qua Table kế
Next i
' Nếu ra khỏi vòng lặp mà vẫn chưa tìm thấy thì hàm trả về False
KIEMTRA = False
End Function
haquocquan said
Có thể dùng For Each table in DB được không bác Noname:Function Kiemtra(TableName as string) as booleanDim DB as DatabaseDim table as tabledefsSet DB = currentdb()For Each table in DB.TableDefsIf table = TableNameKIEMTRA = TrueExit FunctionEnd ifNext TableKIEMTRA = FalseEnd FunctionSent by: haquocquan
Noname said
Cũng được. Nhưng chú ý chỗ phát biểu IfIf Table.Name = TableName then
Anonymous said
Thanks voi doan code kiem tra su ton tai cua table cua ban nhe! Vi minh dang can no!Nhung o vong lap for, ban nen gan i=0, neu khong se khong tim thay table dau tien trong csdl neu no la table dang can tim!
Noname said
Cảm ơn bạn góp ý! 🙂 Mình sẽ sửa lại! 🙂
QT said
Cám ơn các bác nhiều. Nhờ đoạn code này mình còn tùy chỉnh được 1 đoạn code với mục đích riêng của mình nữa. 1 đoạn code để lấy tên tất cả các table, query … trong database.