NganNguyen > 11-09-15, 10:20 PM
tranthanhan1962 > 11-09-15, 11:39 PM
paulsteigel > 12-09-15, 08:24 AM
(11-09-15, 11:39 PM)tranthanhan1962 Đã viết: Nói nôm na khi viết code cái nào dùng được thì dùng. Như ví dụ bạn đưa lên để xóa record. Thì:Riêng về DAO thì em xin chữa Bác một chút. DAO giống như ADO đều là nền tảng cho phép tương tác với cơ sở dữ liệu. Vì vậy nó có thể sử dụng được trong tất cả các ngôn ngữ lập trình chứ không chỉ ngoài VB/VBA.
Lệnh Docmd.Runcommand accmdDeleteRecord dùng để xóa record hiện hành trên form.
Lệnh Run SQL của Delete query dùng để xóa record theo điều kiện.
Lệnh Recordset.Delete Dùng để xóa bộ mẫu tin trên table.
Ngoài ra trên continue form hay datasheet form bạn có thể chọn nhiều record rồi dùng phím del để xóa
Cái nào có lợi thì xử dụng. ví dụ xóa 1 record trên single form thì Runcommand. Nhiều record có điều kiện thì Run SQL. Xóa theo điều kiện vòng lập thì Recordset.Delete. Còn tự chọn trên continue form thì delete bằng tay.
DAO : Data Access Object. Giao diện hướng đối tượng đầu tiên kết nối dữ liệu access với Cơ sở dữ liệu Microsoft Jet như word, excel
ADO : ActiveX Data Object. Thằng này mạnh hơn với nhiều CSDL khác như SQL Server, Oracle, Borland
DAO có trước, ADO có sau, Phải nói giữa nó còn một thằng RDO (Remote Data Objects) cũng kết nói với các CSDL ngoài Microsoft Jet nhưng còn hạn chế nên khi ADO ra đời nó ngủm luôn.
Tất nhiên vì DAO thuộc loại nội bộ nên ngôn ngữ lập trình chỉ là VBA (Visual Basic for Applications), Còn ADO thì bạn phải biết Visual Basic + thêm các ngôn ngữ lập trình của những thằng mà nó kết nối ví dụ java, C#