Cũng xin đóng góp chút kinh nghiệm trong vụ này.
Thứ nhất là nói về Access:
- Để thiết kế cho môi trường đa người dùng thì làm như post #5 của bạn quanluu1989 đã đề cập là đúng nhất rồi. Tức là file ứng dụng phải chia (Split database) ra làm 2 phần tạm gọi là Font End (FE) và Back End (BE). FE lưu các Query, Form, Report, Module liên quan đến giao diện xử lý của người dùng. Còn file BE chỉ lưu Table là CSDL chính của ứng dụng. File FE sẽ kết nối với dữ liệu BE thông qua Linked Table hoặc dùng thư viện ADO.
- Access dùng trong mạng LAN: Bạn lưu file BE (CSDL) vào một máy nào đó trong mạng LAN (tạm gọi máy chủ) và file BE này phải được Share Full quyền cho tất cả các máy con khác nào muốn truy cập. Các máy con này sẽ lưu file FE riêng và khi khởi động sẽ tự động kết nối tới cùng 1 file BE để xử lý dữ liệu.
- File BE của Access cho tới giờ chưa kết nối được với FE qua internet như SQL Server (Tôi không đề cập tới kết nối VPN nhé). Có một cách không chính thống như cũng giải quyết được bài toán là dùng Google Drive (nó sẽ có độ trễ khi cập nhật dữ liệu vì file FE sẽ phải cập nhật dữ liệu lên Folder Google drive trên máy local rồi nó mới đồng bộ lên GDrive trên mạng).
Do đó nếu dùng file BE là Ms Access thì tốt nhất nên xài trong mạng LAN thôi. Nếu muốn kết nối tốt qua internet thì nên đổi sang SQL Server làm BE và Access sẽ làm FE. Nếu ứng dụng nhỏ nhỏ và vẫn muốn kết nối dữ liệu qua internet thì dùng công cụ trung gian Google Drive.
Thứ 2 nói về Free DDNS:
Tôi cũng đang dùng cái Free DDNS của NoIp vì giống bạn Kieu Manh là dùng để test CSDL không cần đầu tư mua IP tĩnh chi cho tốn kém.
- Một cái bất tiện là hàng tháng bạn phải lên trang NoIp để cập nhật lại cái DDNS chứ không nó sẽ xoá.
- Phải download cái công cụ tự động cập nhật IP của NoIP để mỗi khi cúp điện, khởi động lại Router thì nó sẽ tự động cập nhật cái IP động vô cái DDNS mà bạn đã đăng ký. Do đó bạn không cần phải cung cấp lại IP cho người dùng như bạn KieuManh đang làm. Người dùng chỉ kết nối thông qua cái DDNS mà bạn cung cấp ban đầu là được rồi.
Về cái file bạn KieuManh dùng test về việc "lấy dữ liệu" thì nếu không lầm là nó thuộc dạng FTP (File Transmitting Protocol). Nó không phải là dạng kết nối với dữ liệu BE của Access hay SQL Server.
Việc tạo FTP server trên máy mình để chuyển dữ liệu lên hoặc lấy dữ liệu về trong mạng LAN hoặc Internet thì các bạn có thể xem hướng dẫn ở link bên dứoi.
Chút kinh nghiệm, hy vọng có ích cho các bạn.