Mỗi tuần một chuyên đề

Client - Server trong access

  • Thread starter chihienphuco
  • Ngày gửi
C

chihienphuco

Trung cấp
20/4/09
109
1
0
Bình Chánh
Một số vấn đề của mình ở cơ quan, như sau:
Mình viết nhiều chương trình quản lý khác nhau bằng ngôn ngữ access của microsoft office cho từng bộ phận sử dụng. như là quản lý bán hàng, kế toán công nợ, thu chi, tồn kho, tính giá thành, lương,... những chương trình này lại có CSDL "Table" giống nhau.

Mình thấy nhiều chương trình phần mềm kế toán, quản lý sản xuất, lương - bhxh,... bán trên thị trường thì CSDL được tập trung và xử lý truy xuất nhập trên một máy server, còn mấy máy con là nhập liệu và truy xuất rồi cả phân quyền.

Giờ mình muốn thống nhất CSDL mấy chương trình trên thành quản lý trên server giống như mấy soft thương mại trên, vậy mình cần học thêm môn nào về server - máy con? access có hổ trợ vấn đề này ko? và cần đọc thêm sách nào để hướng dẫn thực hành.

Có nhiều người trả lời thế này, ko biết đâu mà lần: Access ko hỗ trợ mô hình client-server, các chương trình thương mại thường xài foxfro, Bạn có thể học Visual Studio 2005 (C# or Visual Basic) hay java để viết soft. CSDL vẫn dùng lại access hay có thể nghiên cứu thêm SQL server, Về CSDL thì sử dụng Access hay SQL, đây là 2 csdl thông dụng hiện nay, và sử dụng 2 csdl này bằng việc lập trình trên VB, VB.net, C#, java... Nhưng theo mình biết, hỗ trợ CSDL nhanh và mạnh nhất hiện nay là họ VB : vb, vb.net.

Mong chỉ con đường đúng nhất!
 
Khóa học Quản trị dòng tiền
hai2hai

hai2hai

VNUNI Makes a difference
29/4/04
2,032
125
63
50
Hà nội
vnuni.net
Có nhiều người trả lời thế này, ko biết đâu mà lần: Access ko hỗ trợ mô hình client-server, các chương trình thương mại thường xài foxfro, Bạn có thể học Visual Studio 2005 (C# or Visual Basic) hay java để viết soft. CSDL vẫn dùng lại access hay có thể nghiên cứu thêm SQL server, Về CSDL thì sử dụng Access hay SQL, đây là 2 csdl thông dụng hiện nay, và sử dụng 2 csdl này bằng việc lập trình trên VB, VB.net, C#, java... Nhưng theo mình biết, hỗ trợ CSDL nhanh và mạnh nhất hiện nay là họ VB : vb, vb.net.

Mong chỉ con đường đúng nhất!

Đọc xong đúng là loạn. Đó là 1 câu trả lời của 1 người có một mớ lộn xộn trong đầu và ko hiểu các khái niệm căn bản.

Bạn cần phân biệt cho tớ:
- Hệ quản trị CSDL (1)
- Ngôn ngữ lập trình (2)

và sau đó trả lời câu hỏi: Mô hình Client/Server là gì? Nó liên quan tới (1) hay (2)

Tiếp tục, trong (1) thì tìm hiểu đâu là Desktop Database (Ví dụ: *.mdb, *.dbf, và thậm chí *.xls, *.txt) và đâu là Client/Server Database (MS SQL, Oracle, DB2, My SQL, Firebird, v.v...). Tại sao lại gọi là "Client", là "Server". Mỗi hệ quản trị CSDL thì phải tìm hiểu là của hãng nào phát triển, có các phiên bản nào, ưu và nhược điểm (giới hạn) của từng phiên bản, v.v...

Chú ý: SQL khác với MS SQL nhé, 1 cái là ngôn ngữ, 1 cái là hệ quản trị CSDL.

MS Access và Visual Foxpro là loại "2 trong 1" bao gồm: Ngôn ngữ lập trình và CSDL (cả 2 đều là dạng Desktop Database).

Còn nói về các ngôn ngữ lập trình thì có nhiều dòng. Nói về cái này thì nói cả ngày ko hết nhưng tôi chỉ có 1 câu dành cho các bạn lập trình. Viết trên nền nào thì cần HIỂU BẢN CHẤT của nền tảng đang được sử dụng. Kẻo cứ C#, .NET ầm ầm mà chả hiểu .NET Framework là gì, các phần mềm mình đang viết đi theo kiến trúc ứng dụng nào, v.v... (đa phần là nhắm mắt vào vẽ form, vẽ đủ thứ miễn là cho ra cái cần thiết mà chả hiểu nền tảng gì cả)
 
Sửa lần cuối:
C

chihienphuco

Trung cấp
20/4/09
109
1
0
Bình Chánh
Huynh hai2hai viết mình hiểu thêm về ngôn ngử lập trình và quản trị CSDL hơn, giờ mình muốn thiết kế mô hình client/server ( máy client: để nhập liệu, xử lý thông tin, in báo biểu,... gồm mấy anh xài: Bán hàng, Thủ Kho, Kế toán CN KH - NCC, Thu - Chi, Tổng Hợp,... máy Server: nơi chứa CSDL toàn bộ )

* Client được thiết kế nhập liệu, xử lý, kiểm tra,... bằng chương trình MS Access (Query, Form, Report, Marco, Module )

* Server được thiết kế và chứa đựng CSDL bằng MS SQL (Table)


bằng cách nào để thực hiện việc liên kết giữa MS access và MS SQL "và làm sao thiết kế CSDL liệu trong này"? Có thể từ access dùng link table như ngôn ngử access? rất mong huynh hướng dẫn cụ thể và tài liệu học vấn đề liên quan.

Chân thành cảm ơn!
 
Sửa lần cuối:
hai2hai

hai2hai

VNUNI Makes a difference
29/4/04
2,032
125
63
50
Hà nội
vnuni.net
Sau khi bạn đã biết đâu là hệ CSDL, đâu là ngôn ngữ lập trình (NNLT) rồi thì bạn cần tìm hiểu tiếp quan hệ giữa NNLT với CSDL thông qua các kiến trúc ứng dụng. Có lẽ gần gũi với bạn nhất là mô hình kiến trúc Client/Server (Tức là ứng dụng chỉ có 2 lớp, ko có lớp xử lý nghiệp vụ nằm giữa mà có thể phần xử lý nghiệp vụ nằm phân tán ở client hoặc server mà chỉ yếu chắc bạn sẽ chỉ viết ở client thôi).

Với kiến trúc ứng dụng 2 lớp (Client/Server), chúng ta cần biết trong NNLT, phải làm sao để từ client, có thể kết nối được CSDL để thực hiện các thao tác với CSDL như C.R.U.D (Create, Read, Update, Delete). Khi đó, bạn cần tìm hiểu về các engine truy cập CSDL với các khái niệm như DAO, ADO, ODBC, v.v... Đến đây thì bạn phải tìm cách học qua Internet thôi. Chứ còn để nói về lập trình, nhất là lập trình sao cho chuyên nghiệp thì nhiều thời gian lắm lắm.

Chúc thành công!
 
H

hochoi1

Guest
17/12/05
8
1
0
44
kkk
TRong Access cũng thiết lập được, nhưng bạn phải tách dữ liệu thành 1 tập tin và chương trình thành 1 tập tin. Sau đó đặt tập tin dữ liệu tại máy làm server và share thư mục đó cho các máy khác truy cập được. Tập tin chứa chương trình chép vào các máy sử dụng và xoá tất cả các bảng trong tập tin này, sau đó thực hiện link đến các bảng ở tập tin dữ liệu: chọn thẻ Table -> nhắp phải chuột tại vùng trống -> chọn Link Table -> tìm và chọn tập tin chứa dữ liệu -> chọn tất cả các bảng để tạo link đến các bảng này? sau đó thì các máy có thể sử dụng bình thường
 
hai2hai

hai2hai

VNUNI Makes a difference
29/4/04
2,032
125
63
50
Hà nội
vnuni.net
TRong Access cũng thiết lập được, nhưng bạn phải tách dữ liệu thành 1 tập tin và chương trình thành 1 tập tin. Sau đó đặt tập tin dữ liệu tại máy làm server và share thư mục đó cho các máy khác truy cập được. Tập tin chứa chương trình chép vào các máy sử dụng và xoá tất cả các bảng trong tập tin này, sau đó thực hiện link đến các bảng ở tập tin dữ liệu: chọn thẻ Table -> nhắp phải chuột tại vùng trống -> chọn Link Table -> tìm và chọn tập tin chứa dữ liệu -> chọn tất cả các bảng để tạo link đến các bảng này? sau đó thì các máy có thể sử dụng bình thường

Server ở đây tức là phần mềm Server chứ ko phải là máy server. Server tức là có ... 1 Server (1 remote running service) lắng nghe các yêu cầu (requests) từ client gọi đến (thông qua 1 giao thức + bảo mật nào đó) chứ ko phải là 1 file tĩnh nằm chết gí tại 1 thư mục nào đó ở 1 máy mạng (mà phải share full)

Cách tạo attach table chỉ là chạy qua mạng chứ ko hẳn là có Server (để trở thành mô hình CSDL Client/Server)

Nói thế nào cho dễ hiểu nhỉ? À, Server tức là ông chủ cửa hàng, client là khách hàng. KH lên giọng order "Cho tôi 1 đĩa súp". Ông chủ lắng nghe được yêu cầu đó và lập tức đi thực hiện yêu cầu của KH (có thể sai nhân viên thực hiện), sau đó "return" lại cho KH kết quả là 1 "đĩa súp" (nếu return cái khác hoặc 1 tiếng sau mới return thì tức là lập trình có "vấn đề" đó - người ta gọi là "error" đó). Nếu KH order sai (giống như ta nhập liệu sai ấy) thì ông chủ cửa hàng thông báo "không thực hiện được yêu cầu đó do..." (giống như sql server báo lỗi như duplicate... ấy)

Còn nếu dạng Attach table của Access hay fox thì tức là: Khách hàng muốn đĩa súp thì vào bếp mà nấu và tự mang ra dùng (cho dù đĩa súp đó để ở đâu, ở "máy" nào đi chăng nữa).

Cũng có thể nếu ai đó viết 1 PM dựa trên Winsock, lắng nghe các yêu cầu qua TCPIP + port nào đó từ client, sau đó sục vào CSDL mdb nằm trên 1 máy tính khác và return kết quả (ví dụ Update/Insert thành công, hoặc trả về 1 recordset chẳng hạn) tới máy trạm (khách) thì cũng có thể gọi là client/server được (nhưng cách này tôi thấy hầu như ko ai làm cả vì quá nhiều hệ quản trị Client/Server có mặt rồi)

Còn hiểu đúng bản chất thì

hai2hai nói:
Tiếp tục, trong (1) thì tìm hiểu đâu là Desktop Database (Ví dụ: *.mdb, *.dbf, và thậm chí *.xls, *.txt) và đâu là Client/Server Database (MS SQL, Oracle, DB2, My SQL, Firebird, v.v...). Tại sao lại gọi là "Client", là "Server". Mỗi hệ quản trị CSDL thì phải tìm hiểu là của hãng nào phát triển, có các phiên bản nào, ưu và nhược điểm (giới hạn) của từng phiên bản, v.v...
 
Sửa lần cuối:

Xem nhiều

Webketoan Zalo OA