Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hỏi] Có nên chuyển toàn bộ query vào vba
#1
Chào anh chị, như tiêu đề, có nên chuyển toàn bộ query thành câu lệnh sql trong vba hay không. Việc truy xuất dữ liệu bằng query so với sql trong vba thì có khác biệt không, truy xuất bằng sql trong vba nhanh hơn hay chậm hơn so với query.
Chữ ký của mrsiro Xin chào, mình là mrsiro, Tham gia http://thuthuataccess.com/forum từ ngày 05-12 -14.
Reply
Những người đã cảm ơn
#2
- Về cơ bản thực thi các Query trong ngăn Query (gọi là Saved Query) sẽ nhanh hơn câu lệnh SQL trong VBA vì các Saved Query này đã được compile thành ngôn ngữ máy rồi, còn các câu lênh SQL sẽ được compile mỗi khi gọi tới do đó nó sẽ chậm hơn Saved Query.
- Trong thực tế có nhiều ứng dụng toàn Query không và chạy phà phà không cần code VBA. 
- Theo tôi thì nên kết hợp cả 2 loại. Có một số query cần cung cấp các tham số mà tham số này chỉ có khi được xử lý trong VBA code do đó loại này nên dùng câu lệnh SQL để chạy query. Có một số action query chạy bằng VBA code (db.Execute) thuận lợi, gọn gàng hơn thiết kế nhiều cái Query trong ngăn Query
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#3
Để query ở ngoài thấy không yên tâm lắm bạn à, đưa vào vba xong chuyển sang mde thấy an toàn hơn.
Chữ ký của mrsiro Xin chào, mình là mrsiro, Tham gia http://thuthuataccess.com/forum từ ngày 05-12 -14.
Reply
Những người đã cảm ơn
#4
Cá nhân mình thì trừ trường hợp không dùng được Query thì mình mới dùng đến VBA. Vì Query theo sẵn của Microsoft sẽ có tốc độ xử lý nhanh hơn là Code VBA.
Thêm một điểm nữa rất quan trọng chính là việc Maintance thì nếu mình có nghỉ làm thì người kế cận sẽ dễ dàng biết đường sửa chữa nếu có vấn đề gì. Sẽ dễ hơn rất nhiều so với nhìn trang Code.
Việc dùng Query một cách khéo léo mới khó chứ Code thì sẽ dễ dàng xử lý hơn đấy là cá nhân mình nghĩ vậy.

Mà ý bạn không yên tâm là gì cơ big green
Chữ ký của duynamvnn1208 duynamvnn1208,gia nhập Thủ Thuật Access từ 25-06 -17.
Reply
Những người đã cảm ơn ongke0711
#5
Chính xác như bạn duynamvnn1208 đã nói đó là tốc độ và bảo trì ứng dụng. Đối với Query nó sẽ được bộ máy của Access tối ưu hóa, xử lý nhanh hơn. Bên cạnh đó nhìn vô cái Query nó sẽ dễ hiểu hơn và dễ bảo trì hơn.
Một trong những cách để tối ưu hóa ứng dụng Access là đừng viết code nếu như Query có thể làm được.
Bạn tập viết Query thì sau này sẽ thuận lợi hơn khi chuyển CSDL lên SQL Server vì khi đó ứng dụng sẽ tận dụng sức mạnh của máy chủ để chạy các View, Stored Proc (như Query) truy vấn dữ liệu, lúc đó ứng dụng chỉ cần viết code để thể hiện (tải về) các dữ liệu đã được xử lý trên máy chủ thôi.
Còn về việc bảo mật CSDL thì khi phân phối ứng dụng bạn đã phải Khóa Shift, dấu database, chuyển về .accde rồi thì sợ ai vô được ngăn Query để sửa chứ.
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn 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] Điền kết quả của 1 query từ Access sang Excel killitmore 0 217 21-08-18, 12:33 PM
Bài mới nhất: killitmore
  [Help] Kết quả tính toán theo dòng record tương ứng tvn_hut 5 559 02-06-18, 03:24 PM
Bài mới nhất: tvn_hut
  [Help] So sánh giá trị record trên cùng 1 trường trong 1 bảng để có kết quả tính toán đúng tvn_hut 5 492 29-05-18, 10:39 PM
Bài mới nhất: ongke0711
  Xin file demo theo yêu cầu, tùy biến các query theo câu lệnh SQL Đình Phán 12 1,859 19-08-17, 07:08 AM
Bài mới nhất: cpucloi
  [Hỏi] Đóng Access khi máy tính chuyển sang standby Phung Duc 3 901 23-03-17, 10:10 PM
Bài mới nhất: ongke0711

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ơ| PMA Nha Trang| Gỗ Acrylic Không Đường Line