Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
sử dụng chương trình acess trong mạng lan
#1
cho em hỏi 1 vấn đề rất cũ rồi;nhưng e đọc mãi mà vẫn chưa hiểu được:
e có 1 cơ sở dữ liệu gồm (table;form;query). và dự định tạo form login in trong đó có phân cấp và phân quyền sử dụng các form. e share lên mạng lan để các cán bộ trong cq cùng truy cập.nhưng theo như e được biết thì 1 file acess chỉ chứa được 2g là tối đa.e xin có 2 câu hỏi:
1) có cách nào để có thể dùng trong mạng lan nội bộ mà ko bị xung đột dữ liệu khi nhiều người cùng truy cập.dự kiến sẽ cài ở 20 máy con
2)có cách nào để database có thể lưu trữ được nhiều hơn ko a.
mong mọi người giúp e giải đáp? thanks
Chữ ký của honglv157 Xin chào, mình là honglv157, Tham gia http://thuthuataccess.com/forum từ ngày 27-05 -15.
Reply
Những người đã cảm ơn
#2
(24-08-15, 10:22 PM)honglv157 Đã viết: cho em hỏi 1 vấn đề rất cũ rồi;nhưng e đọc mãi mà vẫn chưa hiểu được:
e có 1 cơ sở dữ liệu gồm (table;form;query). và dự định tạo form login in trong đó có phân cấp và phân quyền sử dụng các form. e share lên mạng lan để các cán bộ trong cq cùng truy cập.nhưng theo như e được biết thì 1 file acess chỉ chứa được 2g là tối đa.e xin có 2 câu hỏi:
1) có cách nào để có thể dùng trong mạng lan nội bộ mà ko bị xung đột dữ liệu khi nhiều người cùng truy cập.dự kiến sẽ cài ở 20 máy con
2)có cách nào để database có thể lưu trữ được nhiều hơn ko a.
mong mọi người giúp e giải đáp? thanks
 
1- Để tránh xung đột khi sử dụng dữ liệu, bạn cho các máy khác lấy dữ liệu thông qua querry
2- Dữ liệu của bạn là gì mà lớn vậy, tôi dùng dữ liệu cho một tổng công ty trong vòng 8 năm rồi mà cũng chỉ lên tới hơn 100 mgb
Chữ ký của ledangvan Xin chào, mình là ledangvan, Tham gia http://thuthuataccess.com/forum từ ngày 22-08 -11.
ღღღღღTài sản của ledangvan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn maidinhdan , honglv157
#3
(24-08-15, 10:40 PM)ledangvan Đã viết: 1- Để tránh xung đột khi sử dụng dữ liệu, bạn cho các máy khác lấy dữ liệu thông qua querry
2- Dữ liệu của bạn là gì mà lớn vậy, tôi dùng dữ liệu cho một tổng công ty trong vòng 8 năm rồi mà cũng chỉ lên tới hơn 100 mgb

Nghe anh nói vậy xin cho vài ý kiến về kết nối mạng Lan nhiều người dùng tại Link sau: http://thuthuataccess.com/forum/thread-8695.html
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 ledangvan , honglv157
#4
Anh có thể giải thích rõ hơn giúp em không a?
- Cụ thể là câu hỏi 1: cho các máy lấy dữ liệu qua query, tức là dùng query để làm nguồn cho các form, Sau đó sử dụng spilt database để tạo thành fornt up và back up, rồi share acess lên mạng lan đúng ko a?

- Câu 2: Mỗi năm đào tạo 5000 cán bộ và năm sau lại tích lũy năm trước với lượng thông tin khác. Em bên đào tạo cán bộ của ngân hàng.
 Mong anh giúp e cách để giải quyết các vấn đề trên
Chữ ký của honglv157 Xin chào, mình là honglv157, Tham gia http://thuthuataccess.com/forum từ ngày 27-05 -15.
Reply
Những người đã cảm ơn
#5
(24-08-15, 10:40 PM)ledangvan Đã viết: 1- Để tránh xung đột khi sử dụng dữ liệu, bạn cho các máy khác lấy dữ liệu thông qua querry
2- Dữ liệu của bạn là gì mà lớn vậy, tôi dùng dữ liệu cho một tổng công ty trong vòng 8 năm rồi mà cũng chỉ lên tới hơn 100 mgb

  Ledangvan ơi! Cái đó còn tùy ứng dụng nữa bạn ạ. Mấy cái ứng dụng dành cho các đại lý cung cấp bánh, nước giải khát trung bình mỗi ngày 200 hóa đơn, mỗi hóa đơn khoảng 1 – 2 chục tên hàng chỉ cần đến tháng 12 dung lượng khi nén lại khoảng 300 Mb, nhưng khi làm việc trên 1 máy nó nở ra trên dưới một Gb, còn chạy lan với 4 – 5 máy nó phình ra khoảng 1.6 – 1.7 Gb. Nên nỗi năm phải tạo lại tồn đầu để làm mới đó bạn. Còn mấy công ty lớn bán hàng theo khối lượng thì nhằm nhò gì với mấy thằng bán tạp hóa.
  Nếu chỉ có một máy nhập dữ liệu, còn các máy khác chỉ xem, kiểm tra thì tất nhiên sẽ không có chuyện xung đột dữ liệu. Nhưng nếu nhiều máy nhập dữ liệu cho cùng một table thì chuyện xung đột dữ liệu là điều phải có. Có nhiều cách để xử lý việc này. 
  1/ Dùng chiến thuật RecordLocks, tôi nói là dùng chiến thuật vì phải tính toán khi nào All Records, khi nào Edited Record. Rồi máy nào có quyền khóa, máy nào không có quyền khóa. Mệt chết được.  021
  2/Tạo table riêng cho từng máy, khi nào nhập liệu xong thì append lên table chung. Cái này thì nhẹ nhàng khi nhập dữ liệu không sợ xung đột. Còn khi chỉnh sửa vẫn phải xử lý RecordLocks Edited… Tất nhiên làm kiểu này sẽ bị phình dữ liệu. 
  Vì vậy mình thích viết phần mềm cho mấy công ty lớn nhất là công ty dạng sản xuất hơn cho mấy cái nhà phân phối ba lăng nhăng (vừa lượm tiền không bao nhiêu mà vô cùng cực khổ).  004
  Thấy Dân viết mấy chuyên đề về Lan đôi khi mình cũng muốn tham gia. Nhưng thú thật thấy chữ "Lan" là mình sợ rồi  surprise
  Nói riêng với bạn honglv157 Nếu bạn muốn viết 1 CSDL lan với 20 máy con. Nếu yêu cầu nhập dữ liệu là 1 vài máy. Các máy khác chỉ làm nhiệm vụ kiểm tra thì được. Cỏn nếu 20 máy đều nhập dữ liệu cùng một lúc thì đấy là điều không thể. Microsoft cũng thống nhất với điều này. Gần gủi nhất với Microsoft Access bạn có thể nghiên cứu Microsoft SQL Server để thực hiện công việc của mình.
  Còn về việc khả năng chứa Dữ liệu của Access. Dữ liệu của bạn phát sinh khoảng 5.000 record học viên / năm + các record liên kết tối đa khoảng 20.000 (cái này mình trừ hao hơi lố cho chắc ăn). Theo lý thuyết của Microsoft thì tổng các table có thể lên đến 1 tỷ record. Vậy là có thể xử dụng đến 50.000 năm (với điều kiện chỉ một vài máy nhập liệu) 027
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 , ledangvan , honglv157
#6
Cảm ơn anh Ân có bài viết này, rất hay.

Thật là tiếc là trong vòng tháng này và tháng tiếp theo không thể tập trung vào diễn đàn để nói tỉ mĩ về mạng LAN với nhiều người  dùng, nhất là truy cập vào cùng một thời điểm. Cách khắc phục thì đã có và đang hoàn thành chuyên đề nay để chuẩn bị một báo cáo tổng quan chia sẽ cùng anh/chị.

Cho nên em lập Topic có cụm từ phía sau là Vấn đề nhức nhói, nếu không "nhức nhói" không lẽ phải tìm đến SQL Server để khắc phục, Yếu ở đâu thì đào sâu xử lý ở đó. Đó là suy nghĩ của riêng em, có thể sẽ xin thêm ý kiến của các Anh/chị khi hoàn thành xong cách khắc phục nhất là anh Ân về vấn đề này.


Em xin chào các anh!.
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 tranthanhan1962 , honglv157
#7
Maidinhdan: Rất hy vọng chủ đề của em sẽ sớm ra mắt. (vì chị và nhiều bạn đang rất băn khoăn)

 Anh Ân ơi: em dự định là cài chương trình ở 20 máy, nhưng nếu nhập liệu cùng lúc thì chỉ tối đa 5 máy thôi a
Qua đây em cũng xin tâm sự thật với các anh và với em dân là cũng đã  viết tàm tạm acess của mình, nhưng không tự tin để đưa ra sử dụng, mặc dù biết chương trình mình viết rất cần để tăng tính chuyên nghiệp trong công việc của cq. Nhưng vì lăn tăn về mạng Lan và dung lượng lưu trữ của acess. Em xin các cao thủ có thể  hướng dẫn rõ việc share dữ liệu trong mạng lan phải thực hiện các bước như thế nào để hiệu quả và tiết kiệm được dung lượng sử dụng nhất. Đồng thời có cách nào để biết ai vừa truy cập vào chương trình và thực hiện những hành động gì (giống như trong drive của google drive ý ạ).
Thanks all 
Chữ ký của honglv157 Xin chào, mình là honglv157, Tham gia http://thuthuataccess.com/forum từ ngày 27-05 -15.
Reply
Những người đã cảm ơn
#8
(25-08-15, 07:33 PM)honglv157 Đã viết: Maidinhdan: Rất hy vọng chủ đề của em sẽ sớm ra mắt. (vì chị và nhiều bạn đang rất băn khoăn)

 Anh Ân ơi: em dự định là cài chương trình ở 20 máy, nhưng nếu nhập liệu cùng lúc thì chỉ tối đa 5 máy thôi a
........ Em xin các cao thủ có thể  hướng dẫn rõ việc share dữ liệu trong mạng lan phải thực hiện các bước như thế nào để hiệu quả và tiết kiệm được dung lượng sử dụng nhất. Đồng thời có cách nào để biết ai vừa truy cập vào chương trình và thực hiện những hành động gì (giống như trong drive của google drive ý ạ).
Thanks all 

Trả lời:
1. hướng dẫn rõ việc share dữ liệu trong mạng lan phải thực hiện các bước như thế nào để hiệu quả và tiết kiệm được dung lượng sử dụng nhất

- Vào ứng dụng quản lý văn bản điện tử của mình và xem trong phần báo cáo: Chỉ rất chi tiết việc Shared, còn làm thế nào để giảm thiểu dung lượng thì có một số hướng cần suy nghĩ.... (phiên bản Quản lý văn bản điện tử qua LAN v1.4.3 )
+ Thứ nhất, Thông thường người lập trình phải tạo CSDL làm sao đạt mức tối thiểu, tối thiểu không phải chỉ cố 1 hoặc 2 table đâu, mà xác định làm sao table nào là chủ đạo trong việc xây dựng dữ liệu....
+ Thứ 2, Tạo hàm tự động Repaire hàng tháng để giảm dung lượng kể cả file Back và Front End
+ Thứ 3, Như anh Ân nói trên việc nhập dữ liệu hàng ngày nhiều hay ít sẽ tạo cho ứng dụng phìn to đột biến, nên như ý 2 mình nói, tùy vào số lượng record nhập vào hàng ngày mà ta sẽ cho nó Repaire hàng tháng hay hàng tuần, nếu không nó sẽ bung cả trăm MB, vấn đề này mình đã làm 1 Demo tự động Repaire dữ liệu 1 tháng 1 lần, không cần phải nhấn nút, bạn tự tìm nhé
+ Thứ 4, Việc nhập dữ liệu cùng một điểm với cả trăm cái máy như anh Ân phân tích là khó vô cùng. Vì thế em mới có 1 chuyên mục Kết nối Data qua mạng LAN ( Vấn đề nhức nhối) nhằm tìm ra 1 đoạn code để xử lý vấn đề này và muốn làm được như vậy đòi hỏi phải có nhiều kinh nghiệm khi viết code. ( cài này có lẽ Chị phải chờ đến khi em test mới post lên được, có gì ta sẽ thảo luận trong chuyên mục theo link trên)


2. Có cách nào để biết ai vừa truy cập vào chương trình và thực hiện những hành động gì (giống như trong drive của google drive ý ạ).
* Đơn giản là chúng ta bắt sự kiện mở form như bạn đã có kinh nghiệm xử lý phân quyền thôi. Và bạn phải thạo code từ SQL trong Query sang SQL trong VBA,

TRên diễn đàn có 1 bài nói đến vấn đề này, đó là Theo dõi lịch sử đăng nhập của User, còn việc xóa, Edit cũng tương tự như vậy, chỉ có điều ta phải tạo ra nhiều table để quản lý, ví như tạo thêm
+ 1 table quản lý lịch sử đăng nhập
+ 1 table theo dõi việc Sửa, Xóa, Thêm
+ 1 table để xem user đã mở form nào.

Cuối cùng, 1 lời khuyên, là chỉ nên làm cái thứ 1 và thứ 2 thôi, cái thứ 3 mà làm thì Data tăng nhanh lắm nhé.
Cho bạn xem vài hình về câu hỏi thứ 2 này.

[Hình: hinhsuaxoa.jpg]


 Đã post code để cho chị tham khảo, nhưng rất tiếc là diễn đàn cấm một số từ không thể chèn vào, em sẽ gửi qua Hang Out để chị tìm hiểu đối với câu số 2.
Hy vọng bấy nhiêu có thể giúp ít cho Chị.
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 tranthanhan1962 , honglv157 , Noname
#9
Thực khó trả lời với các bạn Dân và honglv157. Bởi vì nếu nói về kinh nghiệm về sử lý access qua lan thì chưa chắc mình đã bằng các cao thủ trong forum kể cả Dân. Thú thật mình trong cả đời viết access thì viết “Lan” cho việc nhập dữ liệu bằng nhiều máy thực sự đếm chưa hết trên đầu ngón tay của một bàn tay. Hì hì, cái này cũng có chiêu. Một, chỉ cho phép nhập dữ liệu trên cho một máy, còn các máy khác chỉ để xem, Hai, nếu không xử lý bằng kiểu một được thì tìm cách phân chia công việc cho các máy nhập liệu, mỗi máy một table, hạn chế tối đa việc 2 máy trở lên cùng xử lý một table. Nếu xử lý tốt việc này thì xem như việc truy cập dữ liệu qua mạng giống như xử lý splitter database mà thôi (nhiều máy cũng như một máy). Ba khi cả hai phương pháp trên đều không được. Ví dụ như một đơn vị bán hàng nhận khoảng vài trăm đơn hàng từ chiều hôm trước, sáng hôm sau phải xuất hàng cho mấy chục xe tải đi giao thì không thể một máy nhập dữ liệu hóa đơn một máy nhập chi tiết hóa đơn còn mấy máy kia ngồi nghỉ được. Cái vụ này phải cho nhập đồng loạt à nha. Không thì mấy cha vận chuyển chưởi cho tắt bếp. Lúc nầy sử dụng form nhập liệu thiết đặt data entry = yes, (hồn ai nấy giữ nhé). Tất nhiên sẽ có một máy có thể thấy hết dữ liệu hoàn chỉnh (dữ liệu nào chưa hoàn chỉnh sẽ không thấy) để sửa những hóa đơn sai. Đây cũng là một biện pháp chống xung đột dữ liệu tương đối tốt. Nếu không sử dụng phương pháp này thì xử lý mỗi máy có một hệ thống table riêng giống hệt như hệ thống table chính. Sau khi nhập liệu xong thì append lên hệ thống table chính. Chỉ có người sửa chữa mới có quyền truy cập vào hệ thống table chính.
Đây là kinh nghiệp xử lý rừng kiểu mì ăn liền của mình. Còn nếu làm đúng theo bài bản thì để xử lý cho việc nhập sửa dữ liệu bạn phải nắm bắt các công việc sau đây.
Mình không nhắc lại việc splitter table cũng như tạo liên kết giữa tập tin dữ liệu và các tập tin ứng dụng vì chắc bạn cũng đã biết rồi.
Vấn đề là để nhập liệu và sửa chữa mà không bị xung đột là không cho phép nhiều máy cùng lúc đụng chạm đến record (hoặc hệ thống record nếu có ảnh hưởng đến subtable). Vì vậy bạn phải khóa dữ liệu:
Có 2 cách khóa dữ liệu:
1/ Khóa trên Form: xử lý properties record locks. (cách này thường hay sử dụng khi nhập sửa dữ liệu)
2/Khóa trên table: recordset.edit = true (cách này khi truy xuất dữ liệu trên table trong lúc máy khác đang xử lý dữ liệu)
Để xử lý tốt các xung đột khóa nói chung cũng vẫn sử dụng các bẫy lỗi error:
3260: record bị đơ vì đang bị người khác khóa.
3197: Người khác vừa thay đổi giá trị phải Refresh một cái chấp nhận hoặc ghi chồng lên bằng giá trị của mình
3167: record bị người khác xóa cũng Refresh một cái luôn
3286: updale để lưu lại record vừa thoát khóa do người khác
Nói chung tìm mọi cách đừng cho hai máy trở lên có điều kiện động chạm cùng một record cùng một lúc là tốt nhất. Việc tính toán để tạo các primary key để cho không trùng nhau khi nhập liệu là rất quan trọng.
 
Còn như bạn honglv157 đặt vất đề về việc share dữ liệu qua mạng lan thì cũng vẫn là link table nhưng đường dẫn liên kết thông qua network chứ không có gì khác. Nhớ thư mục liên kết phải được share full. Một điều nữa là vấn đề phần cứng. tốc độ xử lý CPU, các tiếp xúc mạng, các dây mạng … phải luôn bảo đảm tốt. Nếu không có server mà sử dụng một cái PC thông thường làm máy chủ và kết nối bằng 1 switch rẻ tiền thì việc bạn gõ hàng đống chữ cái nhưng các ký tự từ từ mới hiện lên là chuyện bình thường. Chưa nói là bạn phải có cơ chế xử lý lỗi, để trường hợp dữ liệu mới không được cập nhật khi nhập dữ liệu nửa chừng bị rớt mạng.
Nói cho cùng thì cứ làm lỗi tới đâu xử lý tới đó. Từ từ rồi có kinh nghiệm. Mình thì thường xử lý kiểu rừng, mỗi cái mỗi khác. Nên không dám đưa ra một phương pháp chung nào cả. Nếu có trường hợp mình đã trải nghiệm sẽ sẳn sàng hỗ trợ.
Thân.
Hì bài này mình viết hồi chiều nhưng chưa post lên vì đi lai rai với mấy bạn học cũ. Về thấy Dân cũng đã xử lý phần lớn công việc. Mình cắt bớt lại post lên vài ý tưởng thôi.
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 , Noname
#10
(26-08-15, 12:06 AM)tranthanhan1962 Đã viết: Hì bài này mình viết hồi chiều nhưng chưa post lên vì đi lai rai với mấy bạn học cũ. Về thấy Dân cũng đã xử lý phần lớn công việc. Mình cắt bớt lại post lên vài ý tưởng thôi.

3 tháng rồi chưa nhậu, Hồi chiều cũng làm vài chai, giờ mới tỉnh nè lên viết vài bài. 014
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 tranthanhan1962 , Noname


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Hỏi] Việc set thuộc tính OnClick trong Code toancvp 5 229 31-10-16, 10:14 AM
Bài mới nhất: toancvp
  [Hỏi] chương trình đơn giản để so sánh chuỗi text kanmai07 4 315 28-09-16, 06:05 PM
Bài mới nhất: kanmai07
  Thiết kế chương trình quản lý thu chi ChiMai 1 152 03-08-16, 10:52 AM
Bài mới nhất: maidinhdan
  [Hỏi] File chạy chậm vì trong quá trình design phải chỉnh sửa và test thử nhiều. toancvp 4 262 29-07-16, 11:36 PM
Bài mới nhất: toancvp
  [Hỏi] Sử dụng phần mềm viết bằng Access trong mạng LAN chantroi_19 9 751 21-06-16, 10:33 AM
Bài mới nhất: lmthu

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ơ