Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Một số kinh nghiệm khi viết ứng dụng truy xuất dữ liệu qua mạng internet
#1
Chào các Bạn,

Hôm nay tôi xin được trao đổi cùng các Bạn về việc viết ứng dụng Access truy xuất dữ liệu qua internet (theo dạng thức FrontEnd - BackEnd).

Trước khi bắt tay vào viết cụ thể, chúng ta cần suy nghĩ thật cặn kẻ để xác định thật rõ ràng và cụ thể các yêu cầu về truy xuất dữ liệu qua internet, nhất là phải xác đinh cho bằng được vấn đề sau:
- Những thông tin nào cần phải duy trì online liên tục, không thể gián đoạn.
- Những thông tin nào không cần duy trì online liên tục như trên, và có sự "ổn định" trong 1 khoảng thời gian xác định (ổn định trong bao nhiêu phút, bao nhiêu giờ, bao nhiêu ngày, bao nhiêu tuần, ...)

Tại sao cần phải như vậy?
Vì như các Bạn biết, truy xuất dữ liệu qua internet luôn đòi hỏi tốc độ xử lý dữ liệu, và chúng ta cũng biết rằng với cùng 1 phương cách thì truy xuất qua internet luôn chậm hơn truy xuất dữ liệu trực tiếp từ máy tính đang chạy ứng dụng.

Ta thử xét một tình huống điển hình:
Khi viết một ứng dụng quản lý việc bán hàng qua mạng internet, chúng ta sẽ phải giải quyết những công việc chủ yếu và cụ thể sau:
+ Cập nhật biến động nhập, xuất kho hàng
+ Cập nhật biến động công nợ.
+ Cập nhật biến động giá hàng hoá (giá bán, giá nhập)
Trong thực tế, người ta luôn cố gắng để hạn chế tối đa những thông tin chu chuyển liên tục qua mạng internet. Cái gì có thể đặt ngay tại máy tính đang chạy ứng dụng (Off-Line) thì không nên cho nó chạy qua chạy lại liên tục trong tình trạng qua internet (On-Line).
Trong tình huống trên, cách tốt nhất là ta nên thiết lập dữ liệu Off-Line và đặt thời gian để đồng bộ dữ liệu qua internet (đồng bộ dữ liệu đang lưu ở các chi nhánh với dữ liệu lưu ở trung tâm qua internet).

Với tình huống trên, ta cũng dễ dàng thấy những thông tin có dạng sau đây hoàn toàn có thể đặt off-line:
1. Việc đánh số chứng từ phát sinh: về mặt quản trị, người ta luôn đánh số chứng từ phát sinh theo chi nhánh phát hành chứng từ. Để phân biệt và tránh trùng lặp, ở mỗi chi nhánh luôn có 1 mã định danh chi nhánh xác định và ta có thể gán mã định danh này vào chuỗi số chứng từ phát sinh để phân biệt.

2. Về giá hàng hoá: giá hàng hoá không thể biến động liên tục từng phút, mà thông thường sẽ ổn định theo từng tháng, từng tuần, từng ngày, hoặc có biến động nhiều thì cũng ổn định từng giờ. Vậy thì ta nên lưu bảng giá hàng hoá ở từng máy con của từng chi nhánh (hoặc lưu bảng giá theo cục bộ từng chi nhánh), đồng thời ấn đinh thời gian thích hợp để đồng bộ bảng giá với trung tâm.

3. Việc xác định tồn kho: với quy mô không lớn lắm, việc cần lấy thông tin tồn kho cũng chỉ cần trong phạm vi chi nhánh. Chỉ rất ít khi ta mới có nhu cầu phải online để lấy thông tin tồn kho tính toàn bộ doanh nghiệp, khi ấy ta sẽ cho ứng dụng online để truy xuất dữ liệu từ trung tâm.

Sơ qua như vậy chúng ta đã thấy rõ là với ứng dụng truy xuất dữ liệu qua internet, không phải nhất thiết mọi thứ đều phải ở trên mây, và lúc nào ứng dụng của chúng ta cũng phải đi mây về gió cả phải không các Bạn.

Suy nghĩ được như vậy là chúng ta đã giải quyết được rât lớn nỗi khó về tốc độ truy xuất dữ liệu qua internet rồi đó.

Và cũng qua đây ta thấy được rằng: ứng dụng truy xuất dữ liệu qua internet cần phải có 1 module làm nhiệm vụ đồng bộ dữ liệu giữa chi nhánh và trung tâm.

Hy vọng mấy dòng trên đem đến được cho các Bạn ít điều bổ ích trong công việc.

Xin chúc các Bạn thành công.
Chữ ký của lehongduc Lê Hồng Đức
Số ĐT: 0913.941.144
Email: lhongduc@gmail.com, lehongduc@ymail.com
Website: http://quantribanhang.vn
Reply
Những người đã cảm ơn zinzin8x , paulsteigel , cpucloi , ledangvan , tt1212
#2
Cam on a lehongduc da chia se, em xin trao đôi vơi anh xem em tao table tam tren may binh thuong minh lam viêc trên tbtam sau khi minh nhấn nut lưu thi minh sẽ insert into xuông dâtbase, tuy nhiên câu lênh insert ino chi ap dung cho mot connection vây co cach nào maminh  chuyển từ một tabletam từ database trên máy xuông bang co cung câu truc trên ser severt không a?
Chữ ký của tt1212 Present Nhận viết phần mềm, hỗ trợ viết phần mềm, hợp tác viết phần mềm trên nên Microsoft Access mọi phiên bản Liên hệ: Mr Đức -989276236. Email: Tantriviet.vnn@gmail.com website:http://www.tantrivietsoft.com/
Reply
Những người đã cảm ơn
#3
(23-06-16, 01:42 PM)tt1212 Đã viết: Cam on a lehongduc da chia se, em xin trao đôi vơi anh xem em tao table tam tren may binh thuong minh lam viêc trên tbtam sau khi minh nhấn nut lưu thi minh sẽ insert into xuông dâtbase, tuy nhiên câu lênh insert ino chi ap dung cho mot connection vây co cach nào maminh  chuyển từ một tabletam từ database trên máy xuông bang co cung câu truc trên ser severt không a?

Chào các Bạn,

Sau đây là dạng câu lệnh rất đơn giản để đáp ứng nhu cầu nêu trên:
Giả định ta có:
+ BangTam lưu trong DataTam
+ BangChinh lưu trong DataChinh


Ta viết 1 procedure như sau:

Mã:
Sub TestInsertInto(DuongDanDbTam As String, TenBangTam As String, DuongdanDbChinh As String, TenBangChinh As String)

Dim sqlSt As String

sqlSt = "INSERT INTO " & TenBangChinh & " IN '" & DuongdanDbChinh & "'"
sqlSt = sqlSt & " SELECT * FROM " & TenBangTam & " IN '" & DuongDanDbTam & "'"

DoCmd.SetWarnings False
DoCmd.RunSQL sqlSt
DoCmd.SetWarnings True

End Sub
Chú ý: tên + đường dẫn của 2 Data phải được được đặt trong 2 dấu nháy đơn, bắt đầu sau từ khoá "IN".
Các Bạn có thể xem rõ ràng trên ảnh chụp màn hình bên dưới:

[Hình: vjy5bxexrg33dxa4g.jpg]

Thí dụ: cả 2 Data đều lưu cùng 1 folder "C:\MyData" và có tên là "DataTam.mdb", "DataChinh.mdb"
Cho thực hiện Procedure ở trên với các tham số tương ứng:
TestInsertInto "C:\MyData\DataTam.mdb","BangTam","C:\MyData\DataChinh.mdb","BangChinh"


File đính kèm Thumbnail(s)
   
Chữ ký của lehongduc Lê Hồng Đức
Số ĐT: 0913.941.144
Email: lhongduc@gmail.com, lehongduc@ymail.com
Website: http://quantribanhang.vn
Reply
Những người đã cảm ơn tt1212 , maidinhdan
#4
Như thế có khả năng tang hiêu  suất không a
Chữ ký của tt1212 Present Nhận viết phần mềm, hỗ trợ viết phần mềm, hợp tác viết phần mềm trên nên Microsoft Access mọi phiên bản Liên hệ: Mr Đức -989276236. Email: Tantriviet.vnn@gmail.com website:http://www.tantrivietsoft.com/
Reply
Những người đã cảm ơn
#5
(24-06-16, 11:25 AM)tt1212 Đã viết: Như thế có khả năng tang hiêu  suất không a

Chào Bạn,

"Có khả năng tăng hiệu suất" truy xuất dữ liệu hay không? 
Bạn chỉ cần cặn kẻ như thế này và sau đó dùng hàm timer để kiểm tra thì biết ngay thôi mà:
+ Nếu Bạn dùng cách link tables đến các bảng thuộc file dữ liệu bên ngoài ứng dụng: ứng dụng của Bạn ít nhất sẽ phải dành một phần tài nguyên hệ thống (bộ nhớ máy tính) để ghi nhớ địa chỉ nguồn của các bảng dữ liệu đó.
+ Nếu chỉ khi nào cần, Bạn mới cho ứng dụng truy xuất đến nguồn dữ liệu, chứ không cần phải ghi nhớ thường xuyên, thì chắc chắn là ít tiêu tốn tài nguyên của máy tính hơn rồi.

- Với dữ liệu có quy mô nhỏ thì rất khó phát hiện độ sai biệt giữa 2 cách truy xuất dữ liệu đó, nhưng với quy mô cỡ vài trăm nghìn chứng từ phát sinh thì sẽ dễ dàng thấy ngay thôi.

Chúng ta cần phải tuân thủ nguyên tắc truy xuất dữ liệu có hiệu quả trên máy tính (nhất là qua kết nối mạng máy tính: LAN hay WAN) là:
Chỉ nạp vào bộ nhớ máy tính những thông tin mình cần, không nạp thừa những thứ chưa cần đến.

Có thể xem xét cụ thể như sau:
- Tại sao ta phải cứ giữ liên kết (link) đến những bảng dữ liệu mà ở tác vụ xác định nào đó, ngay tại thời điểm đang xét, ta chẳng cần đến. Chẳng hạn như: chỉ cần xác định giá bán gần nhất của 1 mặt hàng xác định thì sao ta lại cho nạp toàn bộ bảng ghi nhận biến động giá bán của hàng nghìn mặt hàng lên làm chi?

- Với VBA của Access, ta đâu có bị giới hạn chỉ có thể kết nối đến 1 nguồn dữ liệu. Muốn kết nối đến bao nhiêu nguồn dữ liệu mà chẳng được. Vấn đề là cấu hình tài nguyên của máy tính có cho phép hay không?

- Với đối tượng Connection của Access VBA, ta hoàn toàn có thể truy xuất dữ liệu ngay trong 1 procedure đến nhiều kết nối khác nhau mà. Các Bạn có thể xem giải thích của Microsoft về vấn đề này bằng cách sử dụng Google với từ khoá "Connection Object".

Ý kiến của tôi là vậy. Các Bạn thấy sao?
Chữ ký của lehongduc Lê Hồng Đức
Số ĐT: 0913.941.144
Email: lhongduc@gmail.com, lehongduc@ymail.com
Website: http://quantribanhang.vn
Reply
Những người đã cảm ơn maidinhdan , khải nguyên


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  Cài đặt ODBC -nền tảng kết nối Access và nguồn dữ liệu khác Noname 33 19,322 01-12-16, 06:49 PM
Bài mới nhất: atula77
  Xây dựng Class Modules trong Access ( Cơ bản đến Nâng cao) maidinhdan 2 187 13-11-16, 05:32 PM
Bài mới nhất: cpucloi
  Hướng Dẫn Demo tổng hợp xuất Table, Query sang Excel có điều kiện ở vị trí nào cũng được maidinhdan 18 2,795 20-10-16, 11:51 AM
Bài mới nhất: jeck09nt
  Ms Access VBA và Google drive, một vài ý tưởng trong chia sẻ và đồng bộ số liệu... paulsteigel 46 3,860 07-10-16, 02:43 PM
Bài mới nhất: kieu manh
  Ứng dụng đổi tên file trong windows hàng loạt tranthanhan1962 7 1,212 19-09-16, 04:16 PM
Bài mới nhất: maidinhdan

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ơ