Đồng thời có thể nhập dữ liệu từ hai PC khác nhau lên một sheet (Excel) hay không?

  • Thread starter phantuannam
  • Ngày gửi
phantuannam

phantuannam

Altria Tax
Thành viên BQT
Quản lý cao cấp
17/12/04
4,331
1,027
113
42
Quận 12 - Hồ Chí Minh
www.tapchiketoan.vn
Đồng thời có thể nhập dữ liệu từ hai PC khác nhau lên một sheet (Excel) hay không?
Đó là câu hỏi mà "sếp" hỏi mình hôm qua trong một buổi tham gia quyên góp từ thiện, để đánh dễ dàng tổng kết danh sách Mạnh Thường Quân, số tiền ủng hộ nhằm cung cấp cho Báo - Đài. Mình trả lời "Bó tay, sếp ơi!!!"
Trường hợp trên có khả năng xảy ra không mấy sư huynh - tỷ.
 
Khóa học Quản trị dòng tiền
L

LAPONA

Guest
2/12/04
6
0
0
HCM CITY
có thể được chứ sao lại không!
Trước tiên hai máy tính phải được kết nối với nhau, hoặc cùng chung hệ thống mạng,
Để thực hiện được, bạn chọn Menu TOOLS/ SHARE WORKBOOK.
Chúc bạn thành công.
 
H

handung107

Cao cấp
28/8/04
576
15
0
VN
www.giaiphapexcel.com
Được, nhưng vì Excel không được thiết kế để làm công việc như vậy nên bạn có thể phân từng vùng dữ liệu để nhập vào các máy trong cùng hệ thống mạng, td : ở máy 1 bạn có thể copy một phần Workbook và Paste vào máy chung. Khi Paste, bạn chọn Paste Special/ Paste Link. Ở máy 2, bạn chọn các phần còn lại của Workbook và cũng làm tương tự như ở máy 1, bạn chép vào máy chung. Khi đó, nếu máy 1 và máy 2 cùng nhập dữ liệu vào thì ở máy chung sẽ tự động cập nhật phần dữ liệu.
Trường hợp bạn muốn cả 2 máy 1 và 2 đều cùng nhập chung khối dữ liệu vào máy chung, bạn phải xác lập thêm nhiều thông tin chia xẻ khác ở Workbook nguồn, và theo tôi, phức tạp hơn bạn làm cách trên nhiều
 
B

Bình_OverAC

Over Abnormal / Crazy
14/5/04
846
10
18
42
Nha Trang
LAPONA nói:
có thể được chứ sao lại không!
Trước tiên hai máy tính phải được kết nối với nhau, hoặc cùng chung hệ thống mạng,
Để thực hiện được, bạn chọn Menu TOOLS/ SHARE WORKBOOK.
Chúc bạn thành công.
Bác hướng dẩn cụ thể hơn giúp em. Em thử rồi nhưng không được
 
C

contraixudao

Guest
29/12/04
9
0
0
HCMC
Cách của Lapona cũng rất hay. tôi đã thử và dưới đây là hình minh hoạ
-Sau khi chọn : Tools\Share Workbook
20ii.jpg

-Bảng này tôi đánh ngay máy tôi đang ngồi
10sv.png

-Phân dưới do bạn tôi đánh, tôi chỉ có việc Save lại là OK
19ju.png
 
Sửa lần cuối:
H

handung107

Cao cấp
28/8/04
576
15
0
VN
www.giaiphapexcel.com
Thế còn việc bảo mật của CSDL ? Và nếu không chỉ có 2 máy với nhau mà là nhiều hơn, 2 người cùng nhập 1 lúc vào cùng 1 Cell, bạn sẽ phân quyền cho ai ? Và xung đột dữ liệu xảy ra thì bạn sẽ lựa chọn ai ? Tất cả những việc đó bạn phải thiết lập thêm thông số, riêng tôi, tôi chọn cách nhẹ nhàng nhất là ai biết việc nấy, tôi phân cho máy nào khu vực nào, thì những phần khác không thuộc phạm vi chỉ được đọc, thế thôi.
 
levanduyet

levanduyet

Welcome
16/10/04
537
19
18
HCM
my.opera.com
Chào,
Tôi cũng đã có sử dụng chức năng này, nhưng đôi khi rất nguy hiểm như ý kiến của handung107. Nếu hai người sử dụng cùng lúc lưu lại thì...lại càng nguy hiểm. Tôi đã bị vấn đề này nhiều lần, nhiều khi người sử dụng không hiểu sao làm mất luôn cả code !!!
Lê Văn Duyệt
 
B

Bình_OverAC

Over Abnormal / Crazy
14/5/04
846
10
18
42
Nha Trang
Sử dụng thấy hơi bị kỳ. Cái này không biết phải cải tiến bằng cách nào cho hiệu quả nhỉ. Em dự định đưa nó vào cái cờ caro ý mà nhưng thế này thì hình như không được

to levanduyet: theo em nghĩ việc mất code có thể cho bên kia sài BKAV, nên quét của của anh rồi
 
H

handung107

Cao cấp
28/8/04
576
15
0
VN
www.giaiphapexcel.com
Không phải vậy đâu OverAc à, việc mất code hoàn toàn có thể xảy ra khi nhiều người cùng nhập vào chung một CSDL mà không phân quyền, như chị đã nói ở trên. Nếu cả 2 người cùng nhập vào chung 1 Cell thì việc mất CSDL là xảy ra thôi, vì người này nhập đè lên người trước.... Nên rất cần nhiều giải pháp đưa ra là phải thiết lập ưu tiên, nếu có xung đột dữ liệu sẽ được thông báo (cả 2 người cùng lúc nhập vào 1 Cell nhưng với 2 dữ liệu khác nhau), và ai là người được ưu tiên save dữ liệu đó lên máy chung, hoặc chẳng ai được save cả mà dữ liệu cứ nằm đó và user của máy chung sẽ lựa chọn...Nói chung là chị không khoái cái kiểu này nên không nhớ hết được mặc dù đã từng thử rồi.
Nếu OverAC muốn có một người chuyện nhập dữ liệu đầu vào và 1 người chuyên nhập dữ liệu đầu ra cho 1 File KT thì vấn đề sẽ rất đơn giản. Ở máy 1 chỉ có các Sheet dành cho dữ liệu đầu vào. Ở máy 2 chỉ có các Sheet nhập dữ liệu đầu ra. Ở máy chung, ta copy các Sheet của máy 1 và máy 2 rồi dùng chức năng Edit/Paste Link. Khi nhập dữ liệu từ máy 1 và máy 2, máy chung sẽ tự động cập nhật dữ liệu mà không gặp xung đột dữ liệu cũng như người này khi nhập thì đè lên dữ liệu người trước đã nhập rồi. Còn nếu muốn nhập chung trên cùng 1 Sheet ta cũng nên phân vùng cho từng máy như trên
 
H

handung107

Cao cấp
28/8/04
576
15
0
VN
www.giaiphapexcel.com
À còn OverAC tính đưa cái vụ này vào cờ Caro thì không được là đúng rồi. Tìm cách khác đi thôi.
 
T

Tuanktcdcn

Lão già ham vui
18/6/04
549
52
28
47
Hà Nội
www.bluesofts.net
Để cập nhật dữ liệu trên một Sheet ở các máy tính là được như chúng ta đã nêu trên, bạn nên thay đổi thông số: Share Workbook->Advanced chọn "Ask me which changes win".
Nếu chúng ta muốn dùng chức năng Share của EXCEL thì phải có sự phân quyền ai dùng Sheet1 và ai dùng Sheet2....chứ không nên để sự ngẫu nhiên. Người dùng nên tuân thủ chức năng nhiệm vụ được phân thì sẽ tốt hơn là cứ đụng mỗi nơi một ít.
Trường hợp chúng ta cần biết dữ liệu từ các máy thường xuyên cập nhật thì phải Save thường xuyên, với file khoảng vài trăm kb thì không vấn đề nhưng từ 1Mb trở lên thì không ổn vì tốc độ rất chậm.
Để làm tốt việc trên chúng ta cần phải dùng kỹ thuật lập trình ADO, DAO, ... Tức là việc vào dữ liệu phải gián tiếp thông qua một lệnh Insert, Addnew, Edit, và kết thúc một lệnh Update.... Với phương pháp này chúng ta bóc tách Database với mã VBA nên tốc độ rất nhanh. Nếu chúng ta dùng VBA chung với Workbook, khi cất EXCEL vừa phải cất các Worksheet lại vừa cất lại VBA nên tốc độ rất chậm (nếu Share qua mạng đôi khi còn làm hỏng mã VBA).
 
levanduyet

levanduyet

Welcome
16/10/04
537
19
18
HCM
my.opera.com
OverAC nói:
to levanduyet: theo em nghĩ việc mất code có thể cho bên kia sài BKAV, nên quét của của anh rồi
Hoàn toàn không phải! Anh đã kiểm rồi, vả lại máy làm mất code không có BKAV. Một chú ý nữa là, ở chế độ share thì không mở để sửa code trong module được !
Lê Văn Duyệt
 
levanduyet

levanduyet

Welcome
16/10/04
537
19
18
HCM
my.opera.com
Tuanktcdcn nói:
Trường hợp chúng ta cần biết dữ liệu từ các máy thường xuyên cập nhật thì phải Save thường xuyên, với file khoảng vài trăm kb thì không vấn đề nhưng từ 1Mb trở lên thì không ổn vì tốc độ rất chậm.
Để làm tốt việc trên chúng ta cần phải dùng kỹ thuật lập trình ADO, DAO, ... Tức là việc vào dữ liệu phải gián tiếp thông qua một lệnh Insert, Addnew, Edit, và kết thúc một lệnh Update.... Với phương pháp này chúng ta bóc tách Database với mã VBA nên tốc độ rất nhanh. Nếu chúng ta dùng VBA chung với Workbook, khi cất EXCEL vừa phải cất các Worksheet lại vừa cất lại VBA nên tốc độ rất chậm (nếu Share qua mạng đôi khi còn làm hỏng mã VBA).
Vâng, như bạn Tuanktcdcn thì đây là phương pháp tốt.
Nhưng để lập trình với ADO thì bạn cần phải sử lý nhiều vấn đề lắm. Chắc chắn bạn Tuanktcdcn rành vấn đề này, bạn có thể chia sẻ không !? Dùng Excel chỉ là nơi ta đưa dữ liệu ra mà thôi !
Để biết thêm về ADO bạn có thể vào trang web www.vovisoft.com
Còn về một số module Visual Basic bạn có thể tìm kiếm trên internet !
Xin giới thiệu với các bạn Class Module adoUtils trên trang web http://www.freevbcode.com/
Lê Văn Duyệt
 
T

Tuanktcdcn

Lão già ham vui
18/6/04
549
52
28
47
Hà Nội
www.bluesofts.net
Chia sẻ dữ liệu trên các máy!

To LeVanDuyet: ADO cho phép đọc và ghi dữ liệu trên tất cả các file XLS,MDB,DBF,...
Tôi xin đưa ra một ví dụ nhỏ về chia sẻ dữ liệu trên các máy.
1-Copy file "Phieuchi.XLS" vào các máy (Clients)
2-Copy file "Chungtu.XLS" vào 1 máy chủ (tạm gọi là Server). Share thư mục chứa file "Chungtu.XLS" (giả sử là PHIEUCHI, Share chế độ Full).
Bây giờ ở các máy chúng ta mở file "Phieuchi.XLS" chọn "Enable Macros". Bạn mở Sheet "Setup" để lấy lại địa chỉ và tên file "Chungtu.XLS" (nếu muốn truyền trên mạng chỉ tới file "Chungtu.XLS" trong thu mục đã Share ở SERVER sau khi chọn "OK" đường dẫn thành \\Server\PHIEUCHI\Chungtu.XLS).
Trong Sheet "Phieuchi", cứ mỗi lần bạn chọn nút "Nhapso", "Phieuchi" sẽ ghi dữ liệu lên file "Chungtu.XLS" bạn không cần phải chọn "Save" nữa.
Bạn chú ý rằng file "Chungtu.XLS" không được mở bởi Excel.

(Đã được sửa đổi!)
 
Sửa lần cuối:
levanduyet

levanduyet

Welcome
16/10/04
537
19
18
HCM
my.opera.com
To: Tuanktcdcn
Mình đã thử, nhưng khi mình thử mở file CHUNGTU thì nó vẫn chạy!!!
Không biết đoạn mã có bị gì không?
Lê Văn Duyệt
 
levanduyet

levanduyet

Welcome
16/10/04
537
19
18
HCM
my.opera.com
To: Tuanktcdcn
File CHUNGTU.XLS không nhận dữ liệu. Bạn thử Debug lại xem!
Lê Văn Duyệt
 
levanduyet

levanduyet

Welcome
16/10/04
537
19
18
HCM
my.opera.com
To: Tuanktcdcn
Bạn chạy trên office nào vậy? Tôi thử trên Office 2003, và đoạn mã của bạn không có bẫy lỗi tốt ! Chắc có lẻ bạn chỉ ví dụ thôi !
Lê Văn Duyệt
 

Xem nhiều

Webketoan Zalo OA