Kiểm tra sự tồn tại của Table. (2 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

dovannho

Thành viên mới
Tham gia
31/8/08
Bài viết
9
Được thích
11
Mình muốn kiểm tra một Table có tồn tại trong CSDL Access chưa?

Dùng code để kiểm tra. Mong các AE chỉ giúp.
 
Bạn thử dùng đoạn mã sau:
Function fTableExist(strTableName As String) As Boolean
Dim db As Database
Dim tdf As TableDef
Set db = CurrentDb
fTableExist = False
For Each tdf In db.TableDefs
If tdf.Name = strTableName Then fTableExist = True
Next tdf
Set db = Nothing
End Function

TTP.
 
Sửa code của anh Phong 1 chút

Mã:
Sub Del_Table()
Dim db As Database
Dim tdf As TableDef
Dim strTableName As String, Tb As String
strTableName = "TenTable_xoa"
Tb = "Table : " & strTableName & " da xoa."
Set db = CurrentDb
For Each tdf In db.TableDefs
If tdf.Name = strTableName Then
tdf.Delete
Tb = "Da tim thay va xoa Table : " & strTableName
End If
Next tdf
Set db = Nothing
End Sub
 
Một cách khác không dùng vòng lặp như sau:

1.) Kiểm tra tồn tại của Table:

Mã:
Function TonTai(TenBang As String) As Boolean
Dim rs As Recordset, Db As Database
Dim lssql As String
On Error GoTo loi
Set Db = CurrentDb()
lssql = "SELECT Name, Type " & _
        "FROM MSysObjects " & _
        "WHERE Name like '" & TenBang & "' and Type=1;"

Set rs = Db.OpenRecordset(lssql)

If rs.RecordCount > 0 Then
   TonTai = True
   rs.Close
   Db.Close
   Else
   MsgBox "Ten bang: " & TenBang & " khong ton tai, co le no da bi xoa roi."
End If
Exit Function
loi:

   Set rs = Nothing
   Db.Close
   Set Db = Nothing
   TonTai = False
   
End Function

2.) Xóa bảng:

Mã:
Function XoaTable(ByVal TenBang As String)
   Dim Db As DAO.Database
   Dim strSql As String

   Set Db = CurrentDb()
   
   strSql = "DROP TABLE " & TenBang
On Error GoTo loi
   If TonTai(TenBang) = True Then
      Db.Execute strSql
      MsgBox "Da xoa bang " & TenBang & " thanh cong."
   End If
   Set Db = Nothing
  Exit Function

loi:
  MsgBox Err.Description
   
End Function
 
Lần chỉnh sửa cuối:
Web KT

Bài viết mới nhất

Back
Top Bottom