1 file.mdb dùng cho nhiều máy tính.

tienduyet

Member
Hội viên mới
Em có 1 file KeToan.mdb trên máy dùng OS WindowsXP SP2 (có cả IIS), 10 máy tính khác trong mạng LAN dùng OS WindowsXP SP2 (ko có IIS).

Vậy cho em hỏi là: Làm thế nào để cùng một lúc 11 máy tính kia có thể thêm, bớt bản ghi vào file KeToan.mdb ? (ngoài chức năng em dùng 1file khác để link đến KeToan.mdb, trên máy chứa KeToan.mdb em Sharing Full)

Em xin cảm ơn!
 
Ðề: 1 file.mdb dùng cho nhiều máy tính.

Em có 1 file KeToan.mdb trên máy dùng OS WindowsXP SP2 (có cả IIS), 10 máy tính khác trong mạng LAN dùng OS WindowsXP SP2 (ko có IIS).

Vậy cho em hỏi là: Làm thế nào để cùng một lúc 11 máy tính kia có thể thêm, bớt bản ghi vào file KeToan.mdb ? (ngoài chức năng em dùng 1file khác để link đến KeToan.mdb, trên máy chứa KeToan.mdb em Sharing Full)

Em xin cảm ơn!

Theo nguyên tắc thì Access cho phép chạy chế độ dùng chung, miễn là người nào muốn sử dụng nó thì phải có toàn quyền trên nó. Tuy nhiên trên thực tế thì không phải như vậy, vì mặc định khi mở file mdb, bạn dùng quyền cao nhất (quyền admin). Mà tài khoản admin chỉ được phép sử dụng một lần trong cùng một chầu làm việc. Do vậy, không có gì tốt hơn là file mdb đó sẽ được cho link từ một mdb trên máy tính của từng người. Cái này là dễ nhất. Lưu ý: là vào option định lại là record lock để khi có ai đó đang chiếm quyền trên một record thì người khác không thể thay đổi cho đến khi người kia cập nhật xong hoặc rời bỏ record.
 
Ðề: 1 file.mdb dùng cho nhiều máy tính.

:smilielol5:
Theo nguyên tắc thì Access cho phép chạy chế độ dùng chung, miễn là người nào muốn sử dụng nó thì phải có toàn quyền trên nó. Tuy nhiên trên thực tế thì không phải như vậy, vì mặc định khi mở file mdb, bạn dùng quyền cao nhất (quyền admin). Mà tài khoản admin chỉ được phép sử dụng một lần trong cùng một chầu làm việc. Do vậy, không có gì tốt hơn là file mdb đó sẽ được cho link từ một mdb trên máy tính của từng người. Cái này là dễ nhất. Lưu ý: là vào option định lại là record lock để khi có ai đó đang chiếm quyền trên một record thì người khác không thể thay đổi cho đến khi người kia cập nhật xong hoặc rời bỏ record.

Mấy ứng dụng nhỏ của em cũng liên quan đến cái này. I'm waiting..........
 
Ðề: 1 file.mdb dùng cho nhiều máy tính.

Mình có một cách này. Nếu bạn biết sử dụng SQL Server 2000 (hoặc version khác)
1. Bạn tạo 1 database ở SQL2000 với các bảng giống y như trong file kế toán access đó của bạn (tên bảng, kiểu dữ liệu...). Tạo các user login vào SQL database, lưu database này trên server hoặc 1 máy nào đó và coi nó là server cũng được miễn sao các máy trạm có thể connect đến máy đó là được.
2. Trên các máy trạm bạn thiết lập ODBC \ System DSN đến SQL Database trên server ở trên.
3. Trên file kế toán access:
- New/link table: bạn link tất cả các table trong SQL vào access. lúc này file kế toán access của bạn bao gồm 2 hệ thống table bao gồm các table gốc của access và các link table (tên các link table này bao gồm phần đầu là dbo_ và phần đuôi là tên của bảng gốc trên access).
- Bạn mở từng bảng gốc ra và copy toàn bộ dữ liệu từ bảng gốc đó sang bảng link table tương ứng (VD: bạn copy toàn bộ dữ liệu từ bảng DMTAIKHOAN sang bảng dbo_DMTAIKHOAN). Sau khi copy xong dữ liệu bạn xóa bảng gốc của access đi và đổi tên bảng link table tương ứng cho giống với tên bảng gốc đã xóa (chỉ cần xóa dbo_). Đây la bước chuyển data của bạn từ file access cục bộ lên SQL server dùng chung. Hệ thống table của bạn ở file access sẽ vẫn được giữ nguyên như cũ và bạn hoàn toàn yên tâm rằng các query, form... vẫn lấy dữ liệu trong bảng ra như thường vì tên bảng vẫn không thay đổi mà. Chỉ khác lầ trước kia các bảng là bảng cục bộ còn bây giờ là link table thôi.
4. Sau khi thiết lập DSN cho các máy trạm thì bạn chỉ cần copy file access kế toán đó sang các máy trạm là co thể chạy ngon lành cả trăm người cùng nhập dữ liệu 1 lúc cũng được.
Chúc bạn thành công
 
Sửa lần cuối:
Ðề: 1 file.mdb dùng cho nhiều máy tính.

Thật ra cty mình có mô hình gần giống như bạn cuongmyh nói.
Tất cả các database đều được lưu trữ trên Server. Ngoài ra còn tạo WorkGroup và Hệ Phân quyền trong Access. Nói chung là nhiêu khê. Nhưng đại khái chương trình thì mỗi user đều có nhưng database thì nằm trên server, và dùng Link table
 
Ðề: 1 file.mdb dùng cho nhiều máy tính.

Mình có một cách này. Nếu bạn biết sử dụng SQL Server 2000 (hoặc version khác)
1. Bạn tạo 1 database ở SQL2000 với các bảng giống y như trong file kế toán access đó của bạn (tên bảng, kiểu dữ liệu...). Tạo các user login vào SQL database, lưu database này trên server hoặc 1 máy nào đó và coi nó là server cũng được miễn sao các máy trạm có thể connect đến máy đó là được.
2. Trên các máy trạm bạn thiết lập ODBC \ System DSN đến SQL Database trên server ở trên.
3. Trên file kế toán access:
- New/link table: bạn link tất cả các table trong SQL vào access. lúc này file kế toán access của bạn bao gồm 2 hệ thống table bao gồm các table gốc của access và các link table (tên các link table này bao gồm phần đầu là dbo_ và phần đuôi là tên của bảng gốc trên access).
- Bạn mở từng bảng gốc ra và copy toàn bộ dữ liệu từ bảng gốc đó sang bảng link table tương ứng (VD: bạn copy toàn bộ dữ liệu từ bảng DMTAIKHOAN sang bảng dbo_DMTAIKHOAN). Sau khi copy xong dữ liệu bạn xóa bảng gốc của access đi và đổi tên bảng link table tương ứng cho giống với tên bảng gốc đã xóa (chỉ cần xóa dbo_). Đây la bước chuyển data của bạn từ file access cục bộ lên SQL server dùng chung. Hệ thống table của bạn ở file access sẽ vẫn được giữ nguyên như cũ và bạn hoàn toàn yên tâm rằng các query, form... vẫn lấy dữ liệu trong bảng ra như thường vì tên bảng vẫn không thay đổi mà. Chỉ khác lầ trước kia các bảng là bảng cục bộ còn bây giờ là link table thôi.
4. Sau khi thiết lập DSN cho các máy trạm thì bạn chỉ cần copy file access kế toán đó sang các máy trạm là co thể chạy ngon lành cả trăm người cùng nhập dữ liệu 1 lúc cũng được.
Chúc bạn thành công

Chào các Bạn,
Cả 2 việc theo đề nghị của Bạn đều hoàn toàn không đơn giản chút nào:
1. Chuyển dữ liệu từ file mdb của MS. Access sang MS. SQL: sẽ gặp khó vì kiểu dữ liệu của 2 hệ Quản trị cơ sở dữ liệu này không hoàn toàn đồng nhất như nhau;
2. Chuyển nguồn dữ liệu của các Form và Report trong ứng dụng MS. Access như cách của Bạn càng không đơn giản như vậy, bởi vì:
+ Cách thức truy xuất nguồn dữ liệu MS. Access khác khá nhiều với cách thức truy xuất nguồn dữ liệu MS. SQL;
+ Ngôn ngữ truy vấn được dùng trong MS. Access và MS. SQL cũng có rất nhiều cú pháp và quy tắc khác nhau.

Sau đây tôi sẽ gửi đến các Bạn 1 tài liệu có giá trị giáo khoa cho vấn đề này (bằng tiếng Anh).
Tên tài liệu: Microsoft Access Projects with Microsoft SQL Server
Link tải xuống: http://www.mediafire.com/download.php?az4gm5ghzmh

Và đây là 1 ví dụ nạp dữ liệu từ 1 file dữ liệu độc lập vào ứng dụng:
http://www.mediafire.com/download.php?hmlwzmdzzem
 
Sửa lần cuối:
Ðề: 1 file.mdb dùng cho nhiều máy tính.

Các vấn đề bạn Lehongduc đưa ra mình xin giải thích:
- Vấn đề 1 của bạn không sai, việc chuyển dữ liệu là khó nhưng không phải không làm được chỉ cần chúng ta thiết lập các bảng trên SQL có kiểu dữ liệu giống hoặc gần giống access là ta có thể chuyển dữ liệu sang được. Quan trọng là tên bảng phải giống như access.
- Vấn đề 2 thì bạn yên tâm chỉ cần tên các bảng và tên các field giống như hệ thống bảng cũ thì các form và report vẫn lấy nguồn dữ liệu vô tư.
Hiện tại công ty mình đang áp dụng như vây mà.
 
Ðề: 1 file.mdb dùng cho nhiều máy tính.

Mình có một cách này. Nếu bạn biết sử dụng SQL Server 2000 (hoặc version khác)
1. Bạn tạo 1 database ở SQL2000 với các bảng giống y như trong file kế toán access đó của bạn (tên bảng, kiểu dữ liệu...). Tạo các user login vào SQL database, lưu database này trên server hoặc 1 máy nào đó và coi nó là server cũng được miễn sao các máy trạm có thể connect đến máy đó là được.
2. Trên các máy trạm bạn thiết lập ODBC \ System DSN đến SQL Database trên server ở trên.
3. Trên file kế toán access:
- New/link table: bạn link tất cả các table trong SQL vào access. lúc này file kế toán access của bạn bao gồm 2 hệ thống table bao gồm các table gốc của access và các link table (tên các link table này bao gồm phần đầu là dbo_ và phần đuôi là tên của bảng gốc trên access).
- Bạn mở từng bảng gốc ra và copy toàn bộ dữ liệu từ bảng gốc đó sang bảng link table tương ứng (VD: bạn copy toàn bộ dữ liệu từ bảng DMTAIKHOAN sang bảng dbo_DMTAIKHOAN). Sau khi copy xong dữ liệu bạn xóa bảng gốc của access đi và đổi tên bảng link table tương ứng cho giống với tên bảng gốc đã xóa (chỉ cần xóa dbo_). Đây la bước chuyển data của bạn từ file access cục bộ lên SQL server dùng chung. Hệ thống table của bạn ở file access sẽ vẫn được giữ nguyên như cũ và bạn hoàn toàn yên tâm rằng các query, form... vẫn lấy dữ liệu trong bảng ra như thường vì tên bảng vẫn không thay đổi mà. Chỉ khác lầ trước kia các bảng là bảng cục bộ còn bây giờ là link table thôi.
4. Sau khi thiết lập DSN cho các máy trạm thì bạn chỉ cần copy file access kế toán đó sang các máy trạm là co thể chạy ngon lành cả trăm người cùng nhập dữ liệu 1 lúc cũng được.
Chúc bạn thành công
Mình đã thực hiện giống như bạn nhưng khi chạy chương trình link đến data source là file .mdb thì nó báo lỗi không phải dữ liệu của chương trình.
 
Ðề: 1 file.mdb dùng cho nhiều máy tính.

minh xin bổ xung cách full quyền:

1. Maùy server
a. Taïo 1 tai khoaûn user : an – pass 123
b. Oå ñæa D phaân vuøng NTFS
c. Chuyeån share folder veà classic ( run-gpedit.msc)
- trong folder – vaøo pemistion – add them 1 tai khoaûn (an)
Ghi chu: co 2 taøi khoaûn [an(may2\an)] vaø everyone . ñieàu full quyeàn
d. map folder ( chua du lieu, o dia mang chung)
e. ghi chu: tren may chu can tao 1 tai khoan administrtor va pass 123
2. Maùy cilent:
- taïo 1 file abc.bat (net use Z: \\IP maùy server hoac tenmay\folder shear/user:an 123 ) va save laïi.
Chay file abc.bat ( neân ñaët ôû oå C)
 

CẨM NANG KẾ TOÁN TRƯỞNG


Liên hệ: 090.6969.247

KÊNH YOUTUBE DKT

Cách làm file Excel quản lý lãi vay

Đăng ký kênh nhé cả nhà

SÁCH QUYẾT TOÁN THUẾ


Liên hệ: 090.6969.247

Top