Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Tránh xung đột dữ liệu trong access
#1
- Chào tất cả các bạn!

Mình có một số vấn đề muốn hỏi mong mọi người giúp đỡ nhé.

Hiện tại mình đang làm phần mềm access, bên công ty mình khoảng có 200 User, mình dùng link table để kết nối các User để sử dụng cùng một database , vì công ty mình dùng mạng lan nên việc đó thực hiện cũng khá đơn giản, mình chia ra 2 phần, một phần dữ liệu và phần code và giao diện. Khi người nào muốn sử dụng thì copy phần giao diện về và mình cấp quyền sử dụng trên database đó, nhưng mình có phát sinh một vấn đề xung đột khi 2 người cùng sử dụng Một mã, như một người update một người delete hoặc 2 người cùng update. Mình cũng chưa tìm ra nguyên nhân khắc phục, theo như mình biết nếu CSDL SQL thì có thể bắt được lỗi này, còn access thì mình chưa biết phải làm thế nào. Bạn nào biết cho mình ý kiến với. Rất cảm ơn nếu được giúp đỡ.


Email: quocdung1222@gmail.com

Thanks!
Chữ ký của quocdung9999 quocdung9999,gia nhập Thủ Thuật Access từ 24-07 -15.
Reply
Những người đã cảm ơn
#2
phần mềm đâu chi se lên cho anh em tham khảo với
nhớ dừng khóa code vb nhé thank
Chữ ký của kumkreo kumkreo,gia nhập Thủ Thuật Access từ 29-08 -15.
Reply
Những người đã cảm ơn
#3
(09-09-15, 03:17 PM)quocdung9999 Đã viết: - Chào tất cả các bạn!

Mình có một số vấn đề muốn hỏi mong mọi người giúp đỡ nhé.

Hiện tại mình đang làm phần mềm access, bên công ty mình khoảng có 200 User, mình dùng link table để kết nối các User để sử dụng cùng một database , vì công ty mình dùng mạng lan nên việc đó thực hiện cũng khá đơn giản, mình chia ra 2 phần, một phần dữ liệu và phần code và giao diện. Khi người nào muốn sử dụng thì copy phần giao diện về và mình cấp quyền sử dụng trên database đó, nhưng mình có phát sinh một vấn đề xung đột khi 2 người cùng sử dụng Một mã, như một người update một người delete hoặc 2 người cùng update. Mình cũng chưa tìm ra nguyên nhân khắc phục, theo như mình biết nếu CSDL SQL thì có thể bắt được lỗi này, còn access thì mình chưa biết phải làm thế nào. Bạn nào biết cho mình ý kiến với. Rất cảm ơn nếu được giúp đỡ.


Email: quocdung1222@gmail.com

Thanks!
Bạn có thể dùng cơ chế khóa dữ liệu trên form. Thiết đặt properties cho form, Record locks: Edited Record. Người chọn record trước toàn quyền sửa xóa, kẻ đến sau chỉ có đứng nhìn. Còn nếu Record locks: All Records, thì khóa nguyên form.
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
#4
(09-09-15, 03:17 PM)quocdung9999 Đã viết: - Chào tất cả các bạn!

Mình có một số vấn đề muốn hỏi mong mọi người giúp đỡ nhé.

Hiện tại mình đang làm phần mềm access, bên công ty mình khoảng có 200 User, mình dùng link table để kết nối các User để sử dụng cùng một database , vì công ty mình dùng mạng lan nên việc đó thực hiện cũng khá đơn giản, mình chia ra 2 phần, một phần dữ liệu và phần code và giao diện. Khi người nào muốn sử dụng thì copy phần giao diện về và mình cấp quyền sử dụng trên database đó, nhưng mình có phát sinh một vấn đề xung đột khi 2 người cùng sử dụng Một mã, như một người update một người delete hoặc 2 người cùng update. Mình cũng chưa tìm ra nguyên nhân khắc phục, theo như mình biết nếu CSDL SQL thì có thể bắt được lỗi này, còn access thì mình chưa biết phải làm thế nào. Bạn nào biết cho mình ý kiến với. Rất cảm ơn nếu được giúp đỡ.


Email: quocdung1222@gmail.com

Thanks!
-Nói chung access vẫn có thể giải quyết được vấn đề xung đột  như bạn nói,nhưng làm khá là vất vả
-Với 200 user theo mình bạn nên chuyển sang sql server,và phải lập trình dạng unboud control
-Bạn có thể tham khảo mô mình lập trình 3 lớp như khối ngân hàng đang dùng
Chữ ký của hoanbhxhls Xin chào, mình là hoanbhxhls, Tham gia http://thuthuataccess.com/forum từ ngày 08-03 -13.
Reply
Những người đã cảm ơn
#5
(09-09-15, 03:17 PM)quocdung9999 Đã viết: Mình có một số vấn đề muốn hỏi mong mọi người giúp đỡ nhé.

Hiện tại mình đang làm phần mềm access, bên công ty mình khoảng có 200 User, mình dùng link table để kết nối các User để sử dụng cùng một database , vì công ty mình dùng mạng lan nên việc đó thực hiện cũng khá đơn giản...


Email: quocdung1222@gmail.com

Một số góp ý trước khi bắt đầu:

1. Xác định lại khả năng lập trình code của bản thân tới đâu. ( ý này không phải chê bay mà có thể làm bạn bỏ cuộc nửa chừng cho 200 cái User)
2. Việc link table qua LAN đến 200 User sử dụng. Vấn đền này không cần đến 200 đâu, chỉ cần 3 User đăng nhập cùng lúc thôi là đủ làm bạn điên đầu rồi. Bởi lúc đó cần phải giải quyết rất nhiều vấn đề:
- Load chậm, có khi mở mà không lên.
- Lấy số chứng từ hoặc Mã khóa gì đó...

3. Đã là 200 người chứng tỏ công ty bạn rất lớn, mà lớn như vậy đòi hỏi bảo mật phải cao, an toàn. Riêng Access mình nghĩ không phù hợp đâu.

=> Từ 1+2+3 suy ra: Thuê 1 người chuyên lập trình viết mình nghĩ là hay nhất. Tốt nhất viết bằng VB.NET

Thân mến!
Chữ ký của maidinhdan * Để được hỗ trợ tốt nhất, nhấn vào link dưới đây để xem.
1. [Hướng dẫn] Kiểu file gửi lên để được giúp đỡ
2. [Hướng dẫn] Nội quy diễn đàn
3. [Hướng dẫn] Cách Đưa file và hình vào diễn đàn
4.[Hướng dẫn] Để xây dựng một ứng dụng hoàn hảo và lời cảm tạ
5. Cần tìm Demo hay ứng dụng sử dụng thanh tìm kiếm phía trên cùng, bên phải của diễn đàn.
* Nếu muốn cảm ơn, hãy nhấn nút thank, không cần viết thêm bài nào nửa.



ღღღღღTài sản của maidinhdan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn thucgia
#6
Theo ban maidinhdan nói thì đúng đó, mình cũng biết thế, có khi quá nhiều user cùng truy cập thì nó hay bị đứng và hiện tượng đó diễn ra thường xuyên, nhưng vì bên mình dùng phần mềm bản quyền nên chỉ dùng mỗi access để lập trình. Nên hơi khó khăn.
Chữ ký của quocdung9999 quocdung9999,gia nhập Thủ Thuật Access từ 24-07 -15.
Reply
Những người đã cảm ơn
#7
(10-09-15, 10:31 AM)quocdung9999 Đã viết: Theo ban maidinhdan nói thì đúng đó, mình cũng biết thế, có khi quá nhiều user cùng truy cập thì nó hay bị đứng và hiện tượng đó diễn ra thường xuyên, nhưng vì bên mình dùng phần mềm bản quyền nên chỉ dùng mỗi access để lập trình. Nên hơi khó khăn.

Theo mình là bạn nên nghĩ đến vấn đề phân trang dữ liệu khi load từ server về client.!!!!
Chữ ký của thucgia Hix, Access quả nhiên lợi hại !!!! http://vibigaba.esy.es/
ღღღღღTài sản của thucgia (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#8
Theo ban thucgia , minh chưa rõ lắm, bạn có thể nói rõ cho mình được không?
Chữ ký của quocdung9999 quocdung9999,gia nhập Thủ Thuật Access từ 24-07 -15.
Reply
Những người đã cảm ơn
#9
(09-09-15, 09:36 PM)maidinhdan Đã viết:
(09-09-15, 03:17 PM)quocdung9999 Đã viết: Mình có một số vấn đề muốn hỏi mong mọi người giúp đỡ nhé.

Hiện tại mình đang làm phần mềm access, bên công ty mình khoảng có 200 User, mình dùng link table để kết nối các User để sử dụng cùng một database , vì công ty mình dùng mạng lan nên việc đó thực hiện cũng khá đơn giản...


Email: quocdung1222@gmail.com

Một số góp ý trước khi bắt đầu:

1. Xác định lại khả năng lập trình code của bản thân tới đâu. ( ý này không phải chê bay mà có thể làm bạn bỏ cuộc nửa chừng cho 200 cái User)
2. Việc link table qua LAN đến 200 User sử dụng. Vấn đền này không cần đến 200 đâu, chỉ cần 3 User đăng nhập cùng lúc thôi là đủ làm bạn điên đầu rồi. Bởi lúc đó cần phải giải quyết rất nhiều vấn đề:
- Load chậm, có khi mở mà không lên.
- Lấy số chứng từ hoặc Mã khóa gì đó...

3. Đã là 200 người chứng tỏ công ty bạn rất lớn, mà lớn như vậy đòi hỏi bảo mật phải cao, an toàn. Riêng Access mình nghĩ không phù hợp đâu.

=> Từ 1+2+3 suy ra: Thuê 1 người chuyên lập trình viết mình nghĩ là hay nhất. Tốt nhất viết bằng VB.NET

Thân mến!
-Mình nghĩ kể cả khi viết bằng VB.NET 1 cá nhân viết cho mô hình database tập chung cho 200 người dùng cũng khó mà đáp ứng được
-Nói chung lập trình viên việt nam cơ bản chỉ viết theo mô hình client/server
-Theo mình nên mua phần mềm của các công ty có uy tín,thương hiệu 
-Các hệ thống lớn như ngân hang,bảo hiểm dùng hoàn toàn phần mềm của nước ngoài
-Mô hình lập trình của họ ít nhất là 3 lớp thậm chí là nhiều hơn
Chữ ký của hoanbhxhls Xin chào, mình là hoanbhxhls, Tham gia http://thuthuataccess.com/forum từ ngày 08-03 -13.
Reply
Những người đã cảm ơn
#10
(11-09-15, 10:56 AM)hoanbhxhls Đã viết:
(09-09-15, 09:36 PM)maidinhdan Đã viết:
(09-09-15, 03:17 PM)quocdung9999 Đã viết: Mình có một số vấn đề muốn hỏi mong mọi người giúp đỡ nhé.

Hiện tại mình đang làm phần mềm access, bên công ty mình khoảng có 200 User, mình dùng link table để kết nối các User để sử dụng cùng một database , vì công ty mình dùng mạng lan nên việc đó thực hiện cũng khá đơn giản...


Email: quocdung1222@gmail.com

Một số góp ý trước khi bắt đầu:

1. Xác định lại khả năng lập trình code của bản thân tới đâu. ( ý này không phải chê bay mà có thể làm bạn bỏ cuộc nửa chừng cho 200 cái User)
2. Việc link table qua LAN đến 200 User sử dụng. Vấn đền này không cần đến 200 đâu, chỉ cần 3 User đăng nhập cùng lúc thôi là đủ làm bạn điên đầu rồi. Bởi lúc đó cần phải giải quyết rất nhiều vấn đề:
- Load chậm, có khi mở mà không lên.
- Lấy số chứng từ hoặc Mã khóa gì đó...

3. Đã là 200 người chứng tỏ công ty bạn rất lớn, mà lớn như vậy đòi hỏi bảo mật phải cao, an toàn. Riêng Access mình nghĩ không phù hợp đâu.

=> Từ 1+2+3 suy ra: Thuê 1 người chuyên lập trình viết mình nghĩ là hay nhất. Tốt nhất viết bằng VB.NET

Thân mến!
-Mình nghĩ kể cả khi viết bằng VB.NET 1 cá nhân viết cho mô hình database tập chung cho 200 người dùng cũng khó mà đáp ứng được
-Nói chung lập trình viên việt nam cơ bản chỉ viết theo mô hình client/server
-Theo mình nên mua phần mềm của các công ty có uy tín,thương hiệu 
-Các hệ thống lớn như ngân hang,bảo hiểm dùng hoàn toàn phần mềm của nước ngoài
-Mô hình lập trình của họ ít nhất là 3 lớp thậm chí là nhiều hơn

200 người dùng nhưng bạn phải phân tích rõ là dùng như thế nào?
tương tác thêm xóa sửa (CRUD) hay chỉ xem, nếu CRUD thì tần xuất lên các table thế nào...
Mình ví dụ như trang web thuthuataccess.com mà chúng ta tham gia đây mình nghĩ số lượng đối với nó là 200 user chả là vấn đề gì cả, và bạn để ý rằng tất cả các trang đều sử dụng cơ chế phân trang, đều này sẽ làm giảm dung lượng đường truyền.
ví dụ 2 là chương trình bạn Dân về quản lý văn bản nếu có cơ chế phân trang thì 200 user cùng tra cứu văn bản cũng chẳng là vấn đề gì cả.
vậy bạn nên làm thế này
1. Cơ chế phân trang dữ liệu   link tham khảo
2. Vấn đề xung đột dữ liệu thật ra chỉ còn vấn đề cùng tương tác trên 1 record -> liên quan đến transaction. Mình thấy DAO Trong vba có thể giải quyết, đơn cử một số link sau :

DAO transaction
ADO Transaction

có đầy đủ begintrans, commit, rollback....
vài lời thế hy vọng giúp ích cho bạn.
Chữ ký của thucgia Hix, Access quả nhiên lợi hại !!!! http://vibigaba.esy.es/
ღღღღღTài sản của thucgia (View All Items) ღღღღღ
Reply
Những người đã cảm ơn Noname , maidinhdan


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
Question [Help] Link tất các table trong một file.mdb bằng VBA MinhnHang 9 224 9 Giờ trước
Bài mới nhất: maidinhdan
  [Thủ Thuật] Tìm số thứ tự bị thiếu trong dãy toanle 8 204 07-12-16, 02:25 PM
Bài mới nhất: toanle
  [Hỏi] Kết nối nhiều lần hay kết nối 1 lần trong ADO ưu điểm hơn Minh Tiên 1 124 10-11-16, 10:41 AM
Bài mới nhất: maidinhdan
  Summary bằng VBA trong MS Access. MinhnHang 6 320 08-11-16, 08:36 AM
Bài mới nhất: MinhnHang
  [Hỏi] Số Thứ Tự Theo Nhóm Hàng Hóa Trong Access pherotao 2 148 02-11-16, 03:05 PM
Bài mới nhất: pherotao

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ơ