Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hỏi] câu lệnh SQL
#1
Chỉ hỏi về lý thuyết thôi nhé!
1. Cho mình hỏi trong trường hợp nào sử dụng câu lệnh SQL trong cửa sổ viết code VBA của Access vậy?
Hôm bữa có đọc qua thấy khi xóa dữ liệu trên Form Main - Form Sub  thì có khi dùng Docmd.Runcommand accmdDeleteRecord có khi dùng Docmd.run SQL ?
2. Kĩ thuật lập ADO trong VB6 khác gì với DAO vậy. Đọc nhiều mà thấy nó na ná nhau á.
Chữ ký của NganNguyen Xin chào, mình là NganNguyen, Tham gia http://thuthuataccess.com/forum từ ngày 19-10 -14.
Reply
Những người đã cảm ơn
#2
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ì:
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.  007

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#
Chữ ký của tranthanhan1962 Kết quả cuối cùng của một đời người, không phải bạn có được bao nhiêu tiền bạc, tài sản. Mà bạn còn bao nhiêu người bạn  thumbs up
ღღღღღTài sản của tranthanhan1962 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn maidinhdan , thucgia , paulsteigel , Noname , Minh Tiên
#3
(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ì:
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.  007

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#
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.

DAO có khả năng hạn chế hơn nhiều so với ADO trong tương tác với Managed Database environment (môi trường dữ liệu có quản lý) dạng như SQL server.
Chữ ký của paulsteigel ====================
Quốc gia hưng vong
Thất phu hữu trách
====================
Reply
Những người đã cảm ơn Noname , tranthanhan1962 , Minh Tiên


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Hỏi] Viết code có điều kiện " lệnh Chạy tiếp khi đóng tbl cho sẵn" Trần Linh 3 140 21-10-16, 11:11 AM
Bài mới nhất: Minh Tiên
  [Hỏi] Quá trình thực hiện một lệnh với CSDL dinh_trong_hoa 1 174 02-08-16, 04:06 PM
Bài mới nhất: ongke0711
  [Help] lệnh tìm kiếm và hiển thị kết quả tìm kiếm trên form tvn_hut 12 1,012 25-06-16, 12:22 AM
Bài mới nhất: zinzin8x
Sad [Help] Câu lệnh SECLECT TOP trong VBA eltoro 1 239 13-01-16, 01:19 PM
Bài mới nhất: ongke0711
  [Hỏi] Viết câu lệnh SQl để tính toán giá trị trên form NganNguyen 1 486 08-10-15, 12:56 AM
Bài mới nhất: tranthanhan1962

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ