yamakashi2003 > 16-02-20, 09:37 PM
(16-02-20, 01:58 PM)ongke0711 Đã viết:Nếu file em mở lên đã mở khóa vba, thì lệnh này chạy tốt(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
VBA bị khoá lại là lỗi khác nữa.
- Bạn phải chup hình báo lỗi lên và chỗ dòng nào bị lỗi thì may ra mới biết bệnh nó chứ.
- Việc đóng file rồi mở lại không liên quan gì đến code. Chẳng lẻ ứng dụng đóng đi mở lại là bị lỗi, khi đó phải xem code sai như thế nào rồi đó.
- Bạn dùng code này ở điều kiện nào? xoá đối tượng ở database khác hay thực hiện ngay trên database hiện tại, toàn bộ code nó ra sao
-...
ongke0711 > 16-02-20, 11:07 PM
(16-02-20, 09:37 PM)yamakashi2003 Đã viết: Nếu file em mở lên đã mở khóa vba, thì lệnh này chạy tốt
Nhưng nếu mở file lên mà chưa mở khóa vba:
* form "F_TIMKIEM" không có code vba trog nó thì lệnh này vẫn chạy tốt ạ
* form "F_TIMKIEM" có code vba trog nó thì nó sẽ báo lỗi như ảnh ạ
https://drive.google.com/file/d/1bi5ypvE...sp=sharing
code tai nut xoa như bên dưới ạ,
Private Sub Command293_Click()
DoCmd.DeleteObject acForm, "F_TIMKIEM"
End Sub
Trường hợp code xóa form ở file khác mà trên form có đặt mật khẩu vba nó cũng hiện thông báo yêu cầu cung cấp pass vba:
https://drive.google.com/file/d/1PR2_Q6R...sp=sharing
Và bôi vàng dòng này bác ạ
objAcc.DoCmd.DeleteObject acForm, strFormName
yamakashi2003 > 17-02-20, 10:04 AM
(16-02-20, 11:07 PM)ongke0711 Đã viết:Vậy là với trường hợp này k có cách nào xóa form phải không bác(16-02-20, 09:37 PM)yamakashi2003 Đã viết: Nếu file em mở lên đã mở khóa vba, thì lệnh này chạy tốt
Nhưng nếu mở file lên mà chưa mở khóa vba:
* form "F_TIMKIEM" không có code vba trog nó thì lệnh này vẫn chạy tốt ạ
* form "F_TIMKIEM" có code vba trog nó thì nó sẽ báo lỗi như ảnh ạ
https://drive.google.com/file/d/1bi5ypvE...sp=sharing
code tai nut xoa như bên dưới ạ,
Private Sub Command293_Click()
DoCmd.DeleteObject acForm, "F_TIMKIEM"
End Sub
Trường hợp code xóa form ở file khác mà trên form có đặt mật khẩu vba nó cũng hiện thông báo yêu cầu cung cấp pass vba:
https://drive.google.com/file/d/1PR2_Q6R...sp=sharing
Và bôi vàng dòng này bác ạ
objAcc.DoCmd.DeleteObject acForm, strFormName
Tôi hiểu lầm cứ nghĩ là bạn đang nói tới password của Database. Đây là bạn khoá xem code VBA nên lênh xoá nó báo lỗi là đúng rồi. Nó khoá cái code VBA thì khi bạn Delete Form là Xoá luôn code VBA trong Form đó tức là đụng tới chế độ bảo vệ code VBA rồi thì nó huỷ thôi.
ongke0711 > 17-02-20, 11:28 AM
(17-02-20, 10:04 AM)yamakashi2003 Đã viết: Vậy là với trường hợp này k có cách nào xóa form phải không bác
yamakashi2003 > 17-02-20, 12:20 PM
(17-02-20, 11:28 AM)ongke0711 Đã viết:Em học hỏi thôi bác ạ, e test r với file mde, accde kể cả trước khi chuyển khóa code hay k khóa code thì vẫn k thể xóa form được ạ, còn với file mdb(accdb) thì chỉ xóa được file k khóa code(17-02-20, 10:04 AM)yamakashi2003 Đã viết: Vậy là với trường hợp này k có cách nào xóa form phải không bác
Đúng vậy. Vì chuỗi thao tác xử lý của bạn không hợp lý nên ứng dụng nó không đáp ứng thôi.
- Ứng dụng khi đã hoàn thành, đưa vào hoạt động thực tế thì không dùng file (*.mdb, *.accdb) mà là (*.mde, *.accde) mà file dạng này không cần khoá VBA project. Toàn bộ code đã được biên dịch.
- File đang thiết kế thì dùng các lệnh DeleteObject chi cho mất công, cứ vô xoá trực tiếp.
Còn cách suy nghĩ thiết kế của bạn như hiện tại thì tôi không hiểu rồi đó. Để học hỏi thì OK.