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____________________________________________________________________________________
Thảo luận thêm tại: http://thuthuataccess.co.cc/forum
Có thể dùng For Each table in DB được không bác Noname:
Trả lờiXóaFunction Kiemtra(TableName as string) as boolean
Dim DB as Database
Dim table as tabledefs
Set DB = currentdb()
For Each table in DB.TableDefs
If table = TableName
KIEMTRA = True
Exit Function
End if
Next Table
KIEMTRA = False
End Function
Sent by: haquocquan
Cũng được. Nhưng chú ý chỗ phát biểu If
Trả lờiXóaIf Table.Name = TableName then
Thanks voi doan code kiem tra su ton tai cua table cua ban nhe! Vi minh dang can no!
Trả lờiXóaNhung 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!
Cảm ơn bạn góp ý! :) Mình sẽ sửa lại! :)
Trả lờiXóa