Noname > 26-08-10, 11:14 AM
Private Sub DelTableFrom(DataPath As String, tblName As String)
Dim db As Database
Set db = OpenDatabase(DataPath)
db.TableDefs.Delete tblName
' Ðóng database
db.Close
Set db = Nothing
End Sub
yamakashi2003 > 12-02-20, 02:10 PM
(26-08-10, 11:14 AM)Noname Đã viết: Hỏi: Làm thế nào để xóa các Object (table, query, form, report) của DBLUU từ một nút lệnh trên form của DBSYS.bác ơi cho em hỏi là code xóa form và report thì viết như thế nào ạ, em dùng office 2016
Đáp:
Hôm trước tôi có giớ thiệu các bạn thủ thuật tạo 1 File Access rồi xuất dữ liệu ra đó hoặc tạo mới dữ liệu trong đó.
Đôi khi, việc tạo mới hay export chỉ nhầm làm 1 temp để xử lý, vì vậy ta cần xóa đi cho bớt rác. Mình xin giới thiệu code xóa Table :
Tương Tự cho QueryDefs, Forms, ReportsMã:Private Sub DelTableFrom(DataPath As String, tblName As String)
Dim db As Database
Set db = OpenDatabase(DataPath)
db.TableDefs.Delete tblName
' Ðóng database
db.Close
Set db = Nothing
End Sub
Xuân Thanh > 12-02-20, 03:15 PM
ongke0711 > 12-02-20, 09:57 PM
(12-02-20, 02:10 PM)yamakashi2003 Đã viết: bác ơi cho em hỏi là code xóa form và report thì viết như thế nào ạ, em dùng office 2016
em viết ntn k biết sai ở đâu, nó báo lỗi dòng forms và report, em có tìm trong các thuộc tính sổ ra sau khi db. nhưng không thấy cái nào có liên quan ạ, nhờ bác chỉ giúp:
Private Sub Command230_Click()
Dim db As Database
Set db = OpenDatabase("C:\Users\marketing.HANOI\Desktop\TOOL\100.accdb")
db.Forms.Delete ("f_DANGNHAP")
db.Reports.Delete ("R_BCTH")
...
End Sub
Private Sub XoaDoiTuong_Click()
Dim strDBFullPath As String
Dim strFormName As String
strDBFullPath = "C:\Temp\test.mdb"
strFormName = "Form1"
Dim objAcc As Access.Application
Set objAcc = CreateObject("Access.Application")
objAcc.OpenCurrentDatabase strDBFullPath, , ""
objAcc.DoCmd.DeleteObject acForm, strFormName
objAcc.Application.Quit
Set objAcc = Nothing
End Sub
yamakashi2003 > 13-02-20, 12:51 AM
(12-02-20, 09:57 PM)ongke0711 Đã viết:Bác ơi đây là mình xóa form ờ file khác, vậy giả sử e muốn xóa 1 form khác ở file access mình đang mở thì sửa code như thế nào ạ(12-02-20, 02:10 PM)yamakashi2003 Đã viết: bác ơi cho em hỏi là code xóa form và report thì viết như thế nào ạ, em dùng office 2016
em viết ntn k biết sai ở đâu, nó báo lỗi dòng forms và report, em có tìm trong các thuộc tính sổ ra sau khi db. nhưng không thấy cái nào có liên quan ạ, nhờ bác chỉ giúp:
Private Sub Command230_Click()
Dim db As Database
Set db = OpenDatabase("C:\Users\marketing.HANOI\Desktop\TOOL\100.accdb")
db.Forms.Delete ("f_DANGNHAP")
db.Reports.Delete ("R_BCTH")
...
End Sub
Code trên chỉ để xoá Table và Query thôi nhé bạn.
Muốn xoá các đối tượng khác thì dùng "DeleteObject".
Ví dụ:
Mã PHP:Private Sub XoaDoiTuong_Click()
Dim strDBFullPath As String
Dim strFormName As String
strDBFullPath = "C:\Temp\test.mdb"
strFormName = "Form1"
Dim objAcc As Access.Application
Set objAcc = CreateObject("Access.Application")
objAcc.OpenCurrentDatabase strDBFullPath, , ""
objAcc.DoCmd.DeleteObject acForm, strFormName
objAcc.Application.Quit
Set objAcc = Nothing
End Sub
ongke0711 > 13-02-20, 01:03 AM
(13-02-20, 12:51 AM)yamakashi2003 Đã viết: Bác ơi đây là mình xóa form ờ file khác, vậy giả sử e muốn xóa 1 form khác ở file access mình đang mở thì sửa code như thế nào ạ
yamakashi2003 > 16-02-20, 01:05 AM
(13-02-20, 12:51 AM)yamakashi2003 Đã viết:Bác cho em hỏi nếu file "test" có khóa code vba thì thêm dòng pass vba ở đâu ạ(12-02-20, 09:57 PM)ongke0711 Đã viết:Bác ơi đây là mình xóa form ờ file khác, vậy giả sử e muốn xóa 1 form khác ở file access mình đang mở thì sửa code như thế nào ạ(12-02-20, 02:10 PM)yamakashi2003 Đã viết: bác ơi cho em hỏi là code xóa form và report thì viết như thế nào ạ, em dùng office 2016
em viết ntn k biết sai ở đâu, nó báo lỗi dòng forms và report, em có tìm trong các thuộc tính sổ ra sau khi db. nhưng không thấy cái nào có liên quan ạ, nhờ bác chỉ giúp:
Private Sub Command230_Click()
Dim db As Database
Set db = OpenDatabase("C:\Users\marketing.HANOI\Desktop\TOOL\100.accdb")
db.Forms.Delete ("f_DANGNHAP")
db.Reports.Delete ("R_BCTH")
...
End Sub
Code trên chỉ để xoá Table và Query thôi nhé bạn.
Muốn xoá các đối tượng khác thì dùng "DeleteObject".
Ví dụ:
Mã PHP:Private Sub XoaDoiTuong_Click()
Dim strDBFullPath As String
Dim strFormName As String
strDBFullPath = "C:\Temp\test.mdb"
strFormName = "Form1"
Dim objAcc As Access.Application
Set objAcc = CreateObject("Access.Application")
objAcc.OpenCurrentDatabase strDBFullPath, , ""
objAcc.DoCmd.DeleteObject acForm, strFormName
objAcc.Application.Quit
Set objAcc = Nothing
End Sub
em xin cảm ơn
ongke0711 > 16-02-20, 12:00 PM
(16-02-20, 01:05 AM)yamakashi2003 Đã viết:Bác ơi đây là mình xóa form ờ file khác, vậy giả sử e muốn xóa 1 form khác ở file access mình đang mở thì sửa code như thế nào ạMã PHP:Private Sub XoaDoiTuong_Click()
Dim strDBFullPath As String
Dim strFormName As String
strDBFullPath = "C:\Temp\test.mdb"
strFormName = "Form1"
Dim objAcc As Access.Application
Set objAcc = CreateObject("Access.Application")
objAcc.OpenCurrentDatabase strDBFullPath, , ""
objAcc.DoCmd.DeleteObject acForm, strFormName
objAcc.Application.Quit
Set objAcc = Nothing
End Sub
yamakashi2003 > 16-02-20, 01:41 PM
(16-02-20, 12:00 PM)ongke0711 Đã viết:Bác cho em hỏi nếu file "test" có khóa code vba thì thêm dòng pass vba ở đâu ạ(16-02-20, 01:05 AM)yamakashi2003 Đã viết:Bác ơi đây là mình xóa form ờ file khác, vậy giả sử e muốn xóa 1 form khác ở file access mình đang mở thì sửa code như thế nào ạMã PHP:Private Sub XoaDoiTuong_Click()
Dim strDBFullPath As String
Dim strFormName As String
strDBFullPath = "C:\Temp\test.mdb"
strFormName = "Form1"
Dim objAcc As Access.Application
Set objAcc = CreateObject("Access.Application")
objAcc.OpenCurrentDatabase strDBFullPath, , ""
objAcc.DoCmd.DeleteObject acForm, strFormName
objAcc.Application.Quit
Set objAcc = Nothing
End Sub
em xin cảm ơn
ongke0711 > 16-02-20, 01:58 PM
(16-02-20, 01:41 PM)yamakashi2003 Đã viết: Bác ơi thì lúc em viêt code xong rồi tắt file đi mở lại thì lệnh Docmd.DeleteObject acForm, "Form1"
nó thông báo lỗi do vba bị khóa nên k thực thi lệnh mà bác