Link table qua ODBC

tienduyet

Member
Hội viên mới
Trước tiên, em đã làm như thế này:
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

của anh cuongmyh
nhưng ứng dụng em là đây http://www.4shared.com/file/TNdVYRA3/QLCB12.html
lại không chạy được
Khi em thêm mới thì báo lỗi chỗ AddNew, khi em sửa thông tin thì báo lỗi ở chỗ Edit,...

Cho Em xin thuốc chữa bệnh này.

Em cảm ơn rất nhiều!
 
Ðề: Link table qua ODBC

Trước tiên, em đã làm như thế này:
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

của anh cuongmyh
nhưng ứng dụng em là đây http://www.4shared.com/file/TNdVYRA3/QLCB12.html
lại không chạy được
Khi em thêm mới thì báo lỗi chỗ AddNew, khi em sửa thông tin thì báo lỗi ở chỗ Edit,...

Cho Em xin thuốc chữa bệnh này.

Em cảm ơn rất nhiều!

Access Application tương tác dữ liệu SQL bằng cách tạo Access Project.
Việc link table từ SQL thông qua ODBC chỉ hỗ trợ read Data, còn Add new và Edit chắc chắn xảy ra nhiều vấn đề.

Theo mình bạn nên chuyển sang Access Project luôn, nếu chương trình lớn thì sẽ mất nhiều thời gian. Vì cách tương tác Form đến SQL Table có nhiều điểm khác so với cách tương tác với Access Table.
 
Ðề: Link table qua ODBC

Access Application tương tác dữ liệu SQL bằng cách tạo Access Project.
Việc link table từ SQL thông qua ODBC chỉ hỗ trợ read Data, còn Add new và Edit chắc chắn xảy ra nhiều vấn đề.

Theo mình bạn nên chuyển sang Access Project luôn, nếu chương trình lớn thì sẽ mất nhiều thời gian. Vì cách tương tác Form đến SQL Table có nhiều điểm khác so với cách tương tác với Access Table.

Liệu em làm thế này: SQL chỉ quản lý table, còn query, form, report và mô-đun em làm trên Access vẫn chạy tốt chứ ạ?

Vì em chưa có nhiều kiến thức về SQL, chỉ biết mỗi tạo bảng thôi ạ.
 
Ðề: Link table qua ODBC

Liệu em làm thế này: SQL chỉ quản lý table, còn query, form, report và mô-đun em làm trên Access vẫn chạy tốt chứ ạ?

Vì em chưa có nhiều kiến thức về SQL, chỉ biết mỗi tạo bảng thôi ạ.

Đúng rồi đó bạn, Access Project cho bạn kết nối đến 1 CSDL SQL, việc tạo Form, Report, Module thực hiện bên Access là ok.

View trong SQL chỉ là Select Query của Access, Còn các Query Update, Delete, Insert thì trong SQL chuyển sang xử lý tại Store Procedure.

Bạn nên nghiên cứu SQL nếu bạn muốn xây dựng các ứng dụng cho nhiều người sử dụng và CSDL lớn.
 
Ðề: Link table qua ODBC

Khi bạn link qua ODBC , việc đọc xóa không phải là vấn đề. Vấn đề là bạn kết nối ODBC bằng user nào? User đó có quyền ghi, đọc, xóa không? Quyền của user này do SQL server quản lý!

Xem thêm cách chuyển lên SQL server của mình:
Upsize Access lên MS SQL server
 
Sửa lần cuối:

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


Liên hệ: 090.6969.247

KÊNH YOUTUBE DKT

Kỹ thuật giải trình thanh tra BHXH

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

SÁCH QUYẾT TOÁN THUẾ


Liên hệ: 090.6969.247

Top