maidinhdan > 17-12-16, 01:49 PM
(17-12-16, 10:33 AM)Minh Tiên Đã viết: Cảm ơn bạn Dân !
Bài viết của bạn thật hữu ích.
Sau vài ngày suy ngầm, mình nghĩ việc xung đột khi chạy Lan của mình chỉ chủ yếu tập trung vào các nguyên nhân.
1. Thủ tục kết nối có vấn đề hoặc;
2. Thủ tục lấy dữ liệu (load) về có vấn đề.
Vì mình mới chỉ thử: Mở Form (load dữ liệu cho các Combo box) của 02 PC mà đã báo lỗi rồi.
Mình sẽ tập trung nghiên cứu 02 vấn đề này trước và thử riêng xem sao rồi mới tới việc nghiên cứu xung đột trong lưu trữ.
Thanks ACE !
Minh Tiên > 18-12-16, 10:37 AM
maidinhdan > 18-12-16, 02:38 PM
(18-12-16, 10:37 AM)Minh Tiên Đã viết: Chào Dân !
Dân nói đúng đấy. Tiên cũng chỉ mới tiếp cận ADO theo lời giới thiệu của một số ACE trên diễn đàn.
Mục đích của việc viết chương trình của Tiên là phục vụ công việc của mình và cũng thỏa niềm đam mê lúc rỗi.
Hiện Tiên đang dùng PM Access chạy trực tiếp 3 năm nay --> OK.
Tiên viết chương trìnhchủ yếu để "Bò được", sau đó mới tính tới "Cải lùi".
Hai ngày nay Tiên đã thử test trên mạng Lan (Dùng cáp) cho 02PC --> thì OK.
Nhưng thử trên 02PC dùng Wifi thì No OK (Thời gian chờ kết nối rất lâu --> Xung đột).
Sơ lược bài toán của Tiên như sau:
1. Phần mềm bán hàng của tiên dùng bằng máy quét (hoặc gõ mã hàng) mỗi khi mở "Phiếu mới" Tiên cho load toàn bộ mã hàng về cboMahng, sau đó ngắt kết nối (Vì nếu không như thế thì mỗi khi quét bán 1 mã hàng, nếu mã hàng chưa được load lại phải load lại --> Rất mất thời gian KH chờ).
2. Mỗi phiếu bán hàng (1 hoặc nhiều mã hàng) được lưu vào table tạm. Sau khi bấm "Lưu" thì mới mở kết nối đến Data và thực hiện lưu (Hoặc động lưu gồm: Update vào table Danh sách hàng hóa, Updata vào table Phiếu xuất, Update và công nợ). Mỗi hoạt động lưu đều được mở và ngắt kết nối 1 lần (Theo như bài Dân hướng dẫn nếu dùng nhiều PC).
3. Hiện Tiên chủ yếu dùng sql để InSert, Update nên chỉ việc mở kết nối, ngắt kết nối, chạy sql chứ ko quan tâm đến kiểu dữ liệu lkhi mở Recordset àm gì.
Đối với việc load dữ liệu về combo thì Tiên dùng kiểu: CursorType = adOpenDynamic, LockType = adLockReadOnly)
Bài toán thì đơn giản, nhưng vì ko phải dân Tin học nên đôi khi cấu trúc dữ liệu, giải pháp, code kiết lôm côm, mong các ACE chỉ giáo để PM của Tiên ngày được "Cài tới", "Bò nhanh".
Rất cảm ơn !
maidinhdan > 18-12-16, 03:13 PM
(18-12-16, 10:37 AM)Minh Tiên Đã viết: Chào Dân !
Dân nói đúng đấy. Tiên cũng chỉ mới tiếp cận ADO theo lời giới thiệu của một số ACE trên diễn đàn.
Mục đích của việc viết chương trình của Tiên là phục vụ công việc của mình và cũng thỏa niềm đam mê lúc rỗi.
Hiện Tiên đang dùng PM Access chạy trực tiếp 3 năm nay --> OK.
Tiên viết chương trìnhchủ yếu để "Bò được", sau đó mới tính tới "Cải lùi".
Hai ngày nay Tiên đã thử test trên mạng Lan (Dùng cáp) cho 02PC --> thì OK.
Nhưng thử trên 02PC dùng Wifi thì No OK (Thời gian chờ kết nối rất lâu --> Xung đột).
Sơ lược bài toán của Tiên như sau:
1. Phần mềm bán hàng của tiên dùng bằng máy quét (hoặc gõ mã hàng) mỗi khi mở "Phiếu mới" Tiên cho load toàn bộ mã hàng về cboMahng, sau đó ngắt kết nối (Vì nếu không như thế thì mỗi khi quét bán 1 mã hàng, nếu mã hàng chưa được load lại phải load lại --> Rất mất thời gian KH chờ).
2. Mỗi phiếu bán hàng (1 hoặc nhiều mã hàng) được lưu vào table tạm. Sau khi bấm "Lưu" thì mới mở kết nối đến Data và thực hiện lưu (Hoặc động lưu gồm: Update vào table Danh sách hàng hóa, Updata vào table Phiếu xuất, Update và công nợ). Mỗi hoạt động lưu đều được mở và ngắt kết nối 1 lần (Theo như bài Dân hướng dẫn nếu dùng nhiều PC).
3. Hiện Tiên chủ yếu dùng sql để InSert, Update nên chỉ việc mở kết nối, ngắt kết nối, chạy sql chứ ko quan tâm đến kiểu dữ liệu lkhi mở Recordset àm gì.
Đối với việc load dữ liệu về combo thì Tiên dùng kiểu: CursorType = adOpenDynamic, LockType = adLockReadOnly)
Bài toán thì đơn giản, nhưng vì ko phải dân Tin học nên đôi khi cấu trúc dữ liệu, giải pháp, code kiết lôm côm, mong các ACE chỉ giáo để PM của Tiên ngày được "Cài tới", "Bò nhanh".
Rất cảm ơn !