Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Làm sao để 1 PM Access mở được ở nhiều máy tính?
#1
Lightbulb 
Xin chào các anh chị trong Thuthuataccess.com
Cho mình hỏi: chương trình access của mình viết cho phòng mạch tư,
Khi mình chia sẻ file access cho nhiều máy trong mạng LAN thì gặp một số lỗi sau.
1: Máy chủ mở phần mềm thì máy con mở không được
2: máy con này mở thì máy con khác mở cũng không được
Vậy cho mình hỏi có cách nào để mở được hết trên tất cả các máy không ah?
Xin cảm ơn rất nhiều.
Chữ ký của danhxetnghiem Đừng bao giờ so sánh đoạn đầu của bạn với đoạn giữa của người khác
Reply
Những người đã cảm ơn
#2
(18-07-13, 03:54 PM)danhxetnghiem Đã viết: Xin chào các anh chị trong Thuthuataccess.com
Cho mình hỏi: chương trình access của mình viết cho phòng mạch tư,
Khi mình chia sẻ file access cho nhiều máy trong mạng LAN thì gặp một số lỗi sau.
1: Máy chủ mở phần mềm thì máy con mở không được
2: máy con này mở thì máy con khác mở cũng không được
Vậy cho mình hỏi có cách nào để mở được hết trên tất cả các máy không ah?
Xin cảm ơn rất nhiều.

Trong trường hợp này, bạn cần thiết kế ứng dụng theo dạng máy trạm, máy chủ và tách phần chương trình ra khỏi phần dữ liệu. Kết nối đến dữ liệu thì cần thực hiện qua ODBC và khai báo DSN trong đó file dữ liệu đặt trên máy chủ đặt tại một thư mục Share với quyền đọc, ghi....
Câu lệnh kết nối thường có dạng thế này:
"Driver={Microsoft Access Driver (*.mdb);DBQ=\\HomeServer\Data\Northwind.mdb"
Bạn có thể tham khảo thêm trên mạng nhé
Lỗi bạn gặp phải chẳng qua là do việc có xung đột về quyển tương tác với dữ liệu và bạn không có một phần mềm trung gian (dataEngine) để quản lý mà thôi!.
Chữ ký của paulsteigel ====================
Quốc gia hưng vong
Thất phu hữu trách
====================
Reply
Những người đã cảm ơn Noname
#3
(18-07-13, 04:14 PM)paulsteigel Đã viết:
(18-07-13, 03:54 PM)danhxetnghiem Đã viết:

Trong trường hợp này, bạn cần thiết kế ứng dụng theo dạng máy trạm, máy chủ và tách phần chương trình ra khỏi phần dữ liệu. Kết nối đến dữ liệu thì cần thực hiện qua ODBC và khai báo DSN trong đó file dữ liệu đặt trên máy chủ đặt tại một thư mục Share với quyền đọc, ghi....
Câu lệnh kết nối thường có dạng thế này:
"Driver={Microsoft Access Driver (*.mdb);DBQ=\\HomeServer\Data\Northwind.mdb"
Bạn có thể tham khảo thêm trên mạng nhé
Lỗi bạn gặp phải chẳng qua là do việc có xung đột về quyển tương tác với dữ liệu và bạn không có một phần mềm trung gian (dataEngine) để quản lý mà thôi!.
Xin cảm ơn bạn
Mình cũng không rành về kết nối này, mình chỉ biết là các máy tính ở phòng Mạch liên kết hết với nhau qua mạng LAN, và flie của mình được chia sẻ ở hết các máy.
vậy bạn có thể cho mình biết rỏ hơn về kết nối đó được không, có một ví dụ nào không?
Chữ ký của danhxetnghiem Đừng bao giờ so sánh đoạn đầu của bạn với đoạn giữa của người khác
Reply
Những người đã cảm ơn
#4
Trước hết CSDL của bạn phải ở dạng Back-End
Phần End đặt trong thư mục ở máy chủ và thư mục này được chia sẻ toàn quyền (full) Lightbulb
Chữ ký của cpucloi Tôi chỉ biết mỗi một điều là những điều tôi biết được còn quá ít 021
Gmail: cpucloi@gmail.com
Yahoo: cpucloi@yahoo.com.vn
Skype: cpucloi
Facebook: cpucloi
Two: cpucloi

ღღღღღTài sản của cpucloi (View All Items) ღღღღღ
Reply
Những người đã cảm ơn danhxetnghiem
#5
Thôi thì xin phép được giải thích dài dòng 1 tẹo;
Giả định là bạn hiểu cách tách phần ứng dụng ra khỏi phần dữ liệu rồi. Giả sử máy chủ có tên là HOMESERVER và thư mục chia sẻ toàn quyền là data.
Thông thường, các chương trình tương tác với cơ sở dữ liệu thông qua Môi trường quản lý dữ liệu (Database Engine). Có nhiều dạng data engine khác nhau và chúng sử dụng các thư viện liên kết khác nhau để kết nối với CSDL, chẳng hạn DAO, ADODB. Các thư viện này sẽ tương tác với phần mềm quản trị dữ liệu, chẳng hạn SQL SERVER là một dạng phần mềm quản trị dữ liệu trong đó nó kiểm soát việc người dùng truy cập vào dữ liệu vật lý hoặc JET, JET ISAM quản lý truy cập vào các tập tin dữ liệu đồng bộ (ví dụ MDB ...vv).
Bản thân Access chỉ là một ứng dụng cho phép tích hợp việc vừa quản lý và tương tác với dữ liệu vật lý theo định dạng chuẩn MDB. Và nó cũng tuân thủ nghiêm ngặt nguyên tắc Quản lý => Kết nồi => Dữ liệu vật lý. Khi bạn sử dụng 1 file Access chung cho nhiều máy, vô hình chung bạn đã đưa nhiều ông sếp vào quản lý 1 ông nhân viên mà không có cái gì đảm bảo rằng các ông sếp này đang cùng ở trong 1 cấu trúc của công ty hay là ở các công ty khác nhau đến quát tháo 1 ông nhân viên ở đâu đó của một công ty A. Vậy để giải quyết điều này, bạn có thể sử dụng cơ chế tạo kết nối đồng nhất trong Windows để nó đảm nhiệm việc khai báo danh tính thay cho Access trực tiếp. Cái đó thường được kết nối trong một trình quản trị có tên ODBC nằm trong Control Panel. Như vậy thì các ông khác nhau sẽ được xếp hàng và quản lý truy cập một cách có trật tự.
Với bài toàn của bạn, có nhiều cách giải khác nhau, nhưng sau đây là một cách tiếp cận trong đó bạn cần thiết lập những thứ sau:
1. Tập tin dữ liệu, chẳng hạn là Data.mdb, bạn đặt tại thư mục data, đường dẫn để truy cập vào file dữ liệu này là \\homeserver\data.mdb.
2. Trong tập tin Data.mdb, bạn cần thiết lập chế độ phân quyền cho những người dùng khác nhau cũng như cách truy cập vào các bảng khác nhau. Với Access 2003 thì bạn chỉ cần vào Tool/Security/User group administration để định nghĩa người dùng, phân quyền.
3. Phần chương trình sẽ đặt tại các máy trạm và các máy này sẽ kết nối với Cơ sở dữ liệu Data.mdb tại máy chủ qua đường dẫn \\homeserver\data.mdb được khai báo trong ODBC.
Bạn hãy vào Control Panel, vào ODBC và tạo một kết nối DSN với CSDL Access theo đường dẫn, người dùng và mật khẩu được cấp cho người dùng tại máy trạm nói trên.
4. Sau đó tại phần chương trình của các máy trạm, bạn phải Refresh Link lại thông qua kết nối DSN đã khai báo.
Từ đây bạn có thể sử dụng được chung CSDL với nhiều máy khác nhau.
Tuy nhiên, cũng cần lưu ý rằng, cách này hạn chế và khó triển khai trên phạm vi rộng. Và để đảm bảo số kết nối hơn 10 máy cùng lúc thì máy chủ nên được cài phần mềm máy chủ Windows Server.
Để giải quyết dứt điểm việc xung đột người dùng, bạn nên chuyển sang quản trị CSDL bằng SQL Server bằng cách thiết kế Acces Project (với Access 2003 có phần mở rộng là adp). Tất nhiên bạn cũng sẽ phải học một chút cách lập trình với SQL server.
Và tốt nhất là nên đọc kỹ thêm về các dạng kết nối dữ liệu thì mới làm chủ được việc lập trình phân quyền trên Access.
Xin có vài dòng võ vẽ thế!
Chữ ký của paulsteigel ====================
Quốc gia hưng vong
Thất phu hữu trách
====================
Reply
Những người đã cảm ơn danhxetnghiem , Noname , AccessGuy
#6
Minh dang có một phần mềm quản lý phong khám kết nối mạng lan nhiều máy bạn có cần không mình shel cho
hoặc liên hệ với mình ĐT 0989276236
Chữ ký của tt1212 Nhận viết phần mềm, hỗ trợ viết phần mềm, hợp tác viết phần mềm trên nên Access mọi phiên bản Liên hệ: Mr Đức -989276236.
Reply
Những người đã cảm ơn
#7
(18-07-13, 10:03 PM)paulsteigel Đã viết: Thôi thì xin phép được giải thích dài dòng 1 tẹo;
Giả định là bạn hiểu cách tách phần ứng dụng ra khỏi phần dữ liệu rồi. Giả sử máy chủ có tên là HOMESERVER và thư mục chia sẻ toàn quyền là data.
Thông thường, các chương trình tương tác với cơ sở dữ liệu thông qua Môi trường quản lý dữ liệu (Database Engine). Có nhiều dạng data engine khác nhau và chúng sử dụng các thư viện liên kết khác nhau để kết nối với CSDL, chẳng hạn DAO, ADODB. Các thư viện này sẽ tương tác với phần mềm quản trị dữ liệu, chẳng hạn SQL SERVER là một dạng phần mềm quản trị dữ liệu trong đó nó kiểm soát việc người dùng truy cập vào dữ liệu vật lý hoặc JET, JET ISAM quản lý truy cập vào các tập tin dữ liệu đồng bộ (ví dụ MDB ...vv).
Bản thân Access chỉ là một ứng dụng cho phép tích hợp việc vừa quản lý và tương tác với dữ liệu vật lý theo định dạng chuẩn MDB. Và nó cũng tuân thủ nghiêm ngặt nguyên tắc Quản lý => Kết nồi => Dữ liệu vật lý. Khi bạn sử dụng 1 file Access chung cho nhiều máy, vô hình chung bạn đã đưa nhiều ông sếp vào quản lý 1 ông nhân viên mà không có cái gì đảm bảo rằng các ông sếp này đang cùng ở trong 1 cấu trúc của công ty hay là ở các công ty khác nhau đến quát tháo 1 ông nhân viên ở đâu đó của một công ty A. Vậy để giải quyết điều này, bạn có thể sử dụng cơ chế tạo kết nối đồng nhất trong Windows để nó đảm nhiệm việc khai báo danh tính thay cho Access trực tiếp. Cái đó thường được kết nối trong một trình quản trị có tên ODBC nằm trong Control Panel. Như vậy thì các ông khác nhau sẽ được xếp hàng và quản lý truy cập một cách có trật tự.
Với bài toàn của bạn, có nhiều cách giải khác nhau, nhưng sau đây là một cách tiếp cận trong đó bạn cần thiết lập những thứ sau:
1. Tập tin dữ liệu, chẳng hạn là Data.mdb, bạn đặt tại thư mục data, đường dẫn để truy cập vào file dữ liệu này là \\homeserver\data.mdb.
2. Trong tập tin Data.mdb, bạn cần thiết lập chế độ phân quyền cho những người dùng khác nhau cũng như cách truy cập vào các bảng khác nhau. Với Access 2003 thì bạn chỉ cần vào Tool/Security/User group administration để định nghĩa người dùng, phân quyền.
3. Phần chương trình sẽ đặt tại các máy trạm và các máy này sẽ kết nối với Cơ sở dữ liệu Data.mdb tại máy chủ qua đường dẫn \\homeserver\data.mdb được khai báo trong ODBC.
Bạn hãy vào Control Panel, vào ODBC và tạo một kết nối DSN với CSDL Access theo đường dẫn, người dùng và mật khẩu được cấp cho người dùng tại máy trạm nói trên.
4. Sau đó tại phần chương trình của các máy trạm, bạn phải Refresh Link lại thông qua kết nối DSN đã khai báo.
Từ đây bạn có thể sử dụng được chung CSDL với nhiều máy khác nhau.
Tuy nhiên, cũng cần lưu ý rằng, cách này hạn chế và khó triển khai trên phạm vi rộng. Và để đảm bảo số kết nối hơn 10 máy cùng lúc thì máy chủ nên được cài phần mềm máy chủ Windows Server.
Để giải quyết dứt điểm việc xung đột người dùng, bạn nên chuyển sang quản trị CSDL bằng SQL Server bằng cách thiết kế Acces Project (với Access 2003 có phần mở rộng là adp). Tất nhiên bạn cũng sẽ phải học một chút cách lập trình với SQL server.
Và tốt nhất là nên đọc kỹ thêm về các dạng kết nối dữ liệu thì mới làm chủ được việc lập trình phân quyền trên Access.
Xin có vài dòng võ vẽ thế!

CẢM ƠN BẠN THẬT NHIỀU, MÌNH ĐANG CỐ GẮN NGHIÊN CỨU BÀI VIẾT CỦA BẠN, ĐANG CỐ TÌM RA ĐÂY, KHI NÀO LÀM ĐƯỢC MÌNH SẼ HỒI ÂM CHO ANH/CHỊ BIẾT. CẢM ƠN
Chữ ký của danhxetnghiem Đừng bao giờ so sánh đoạn đầu của bạn với đoạn giữa của người khác
Reply
Những người đã cảm ơn
#8
(18-07-13, 11:13 PM)tt1212 Đã viết: Minh dang có một phần mềm quản lý phong khám kết nối mạng lan nhiều máy bạn có cần không mình shel cho
hoặc liên hệ với mình ĐT 0989276236

Phần mềm quản lý phòng mạch của bạn có kết nối được với phần mềm ghi hình của máy Siêu âm không,?
Chữ ký của danhxetnghiem Đừng bao giờ so sánh đoạn đầu của bạn với đoạn giữa của người khác
Reply
Những người đã cảm ơn
#9
014Hai vai, may ghi am lai co phan mem ghi hinh
Chữ ký của cpucloi Tôi chỉ biết mỗi một điều là những điều tôi biết được còn quá ít 021
Gmail: cpucloi@gmail.com
Yahoo: cpucloi@yahoo.com.vn
Skype: cpucloi
Facebook: cpucloi
Two: cpucloi

ღღღღღTài sản của cpucloi (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#10
Phần mềm quản lý phòng khám của mình mình đã gủi lên diễn đàn bạn có thê xem và có gì hồi âm với minh minh giúp cho
Chữ ký của tt1212 Nhận viết phần mềm, hỗ trợ viết phần mềm, hợp tác viết phần mềm trên nên Access mọi phiên bản Liên hệ: Mr Đức -989276236.
Reply
Những người đã cảm ơn danhxetnghiem


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
Sad [Help] Nhờ giúp sữa lỗi khi in report access ra máy in nhiệt 58mm mohamedtr 3 323 09-06-15, 12:15 PM
Bài mới nhất: tranthanhan1962
  [Hỏi] Tạo khổ giấy máy in bill quán cafe trong report Access tt1212 7 901 09-06-15, 10:11 AM
Bài mới nhất: mohamedtr
  [Help] Muốn biết trang report còn trống bao nhiêu (chiều cao còn lại) nhattiensinh 2 302 09-05-15, 10:52 AM
Bài mới nhất: cpucloi
  Tạo 1 report từ 1 queries theo nhiều điều kiện (trợ giúp dùm mình) ngovanut 2 263 08-05-15, 01:07 PM
Bài mới nhất: tranthanhan1962
  vẽ sơ đồ kho trong access thucgia 2 306 28-02-15, 11:22 AM
Bài mới nhất: luattrihung11

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)