Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Hỏi về tạo query update từ tab này sang tab kia
#11
(02-11-17, 09:54 PM)DooHoaangPhuuc Đã viết: Nhân đây xin hỏi Các Bác, Các Chú hướng dẫn giúp về dò tìm dòng dữ liệu thay đổi (cũng giống của Chú LeDangVan)
Cháu có 2 Bảng Table A và Table B có cấu trúc như nhau trong đó :
+ Bảng Table B là bảng dữ liệu tổng hợp.
+ Bảng A là bảng dữ liệu tạm (dũ liệu thay đổi hàng ngày).

1. Để so sánh những dòng record nào trong Bảng Table A (bảng tạm) thay đổi so với những dòng record tương ứng đó trong  bảng tổng hợp Table B . Như vậy phải dùng code như thế nào.
2. Nếu có sự thay đổi những dòng record trong 2 bảng , liệt kê sự thay đổi những dòng record trong bảng Table A vào một bảng Table C khác (Bảng Table C này truy xuất record thay đổi từ Table A nhằm xem xét sự khác biệt xảy ra hàng ngày, tựa như Append Query có điều kiện từ Table A qua Table C). Giải pháp xây dựng trên cơ sở như thế nào.
Cháu xin cảm ơn sự hướng dẫn của Các Bác, Các Chú.
Cháu DooHoaangPhuuc

Bạn tham khảo trước bài này xem có đáp ứng yêu cầu chưa.

Link: http://thuthuataccess.com/forum/post-321...l#pid32146
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn maidinhdan , DooHoaangPhuuc
#12
(03-11-17, 09:48 AM)ongke0711 Đã viết: 007 bởi vậy mới hỏi anh ở trên là update kiểu nào để demo một kiểu cho phù hợp.
Các dòng trong bảng lương anh phân bịêt thông qua mã nv và tháng năm của báo cáo phải ko?

uh, anh phân biệt theo tháng, năm và mã nhân viên; theo ý của em anh làm được rồi, cảm ơn nhé
Chữ ký của ledangvan Xin chào, mình là ledangvan, Tham gia http://thuthuataccess.com/forum từ ngày 22-08 -11.
ღღღღღTài sản của ledangvan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#13
(03-11-17, 11:30 AM)ongke0711 Đã viết:
(02-11-17, 09:54 PM)DooHoaangPhuuc Đã viết: Nhân đây xin hỏi Các Bác, Các Chú hướng dẫn giúp về dò tìm dòng dữ liệu thay đổi (cũng giống của Chú LeDangVan)
Cháu có 2 Bảng Table A và Table B có cấu trúc như nhau trong đó :
+ Bảng Table B là bảng dữ liệu tổng hợp.
+ Bảng A là bảng dữ liệu tạm (dũ liệu thay đổi hàng ngày).

1. Để so sánh những dòng record nào trong Bảng Table A (bảng tạm) thay đổi so với những dòng record tương ứng đó trong  bảng tổng hợp Table B . Như vậy phải dùng code như thế nào.
2. Nếu có sự thay đổi những dòng record trong 2 bảng , liệt kê sự thay đổi những dòng record trong bảng Table A vào một bảng Table C khác (Bảng Table C này truy xuất record thay đổi từ Table A nhằm xem xét sự khác biệt xảy ra hàng ngày, tựa như Append Query có điều kiện từ Table A qua Table C). Giải pháp xây dựng trên cơ sở như thế nào.
Cháu xin cảm ơn sự hướng dẫn của Các Bác, Các Chú.
Cháu DooHoaangPhuuc

Bạn tham khảo trước bài này xem có đáp ứng yêu cầu chưa.

Link: http://thuthuataccess.com/forum/post-321...l#pid32146

Chào Chú Ongke0711, Các Chú, Các Bác.
Ý cháu ở đây là tạo chương trình so sánh (Sosanh.accdb) sự thay đổi trên các dòng record của 2 bảng (TableB: tổng hợp, TableA : cập nhật hàng ngày ; các bảng này có cấu trúc như nhau)
Như vậy trong chương trình ban đầu chỉ có TableB lưu dữ liệu tổng hợp chung. 
TableA dữ liệu thay đổi hàng ngày từ cơ sở dữ liệu khác (ví dụ từ capnhat.accdb), được đưa vào Sosanh.accdb thông qua Append Query .
Sau khi append, sẽ so sánh sự thay đổi dữ liệu giữa Bảng TableB và TableA, 
Nếu có sự thay đổi từ các Field của bảng TableA (theo khóa chính chung giữa Tbl.B & Tbl.A), thì sẽ dán đè dòng dữ liệu thay đổi này vào Bảng TableB. Và chỉ riêng các dòng record thay đổi từ Bảng TableA sẽ được Append vào một TableC khác nữa nhằm để kiểm tra dữ liệu thay đổi hàng ngày.
+ Như vậy nguồn dữ liệu mới luôn được cập nhật vào cơ sở dữ liệu.
+ Cũng như diễn biến dữ liệu thay đổi hàng ngày cũng được theo dõi một cách chính xác.
Trên ý tưởng lý thuyết như đã nêu, nhưng cháu cũng chưa biết viết code hay hàm như thế nào.
Nếu có thể, Các Chú, Các Bác hướng dẫn giúp cháu giải pháp.
Cháu xin cảm ơn rất nhiều.
Chữ ký của DooHoaangPhuuc DooHoaangPhuuc,gia nhập Thủ Thuật Access từ 27-06 -17.
ღღღღღTài sản của DooHoaangPhuuc (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#14
(04-11-17, 03:20 PM)DooHoaangPhuuc Đã viết: ...

Ý cháu ở đây là tạo chương trình so sánh (Sosanh.accdb) sự thay đổi trên các dòng record của 2 bảng (TableB: tổng hợp, TableA : cập nhật hàng ngày ; các bảng này có cấu trúc như nhau)
Như vậy trong chương trình ban đầu chỉ có TableB lưu dữ liệu tổng hợp chung. 
TableA dữ liệu thay đổi hàng ngày từ cơ sở dữ liệu khác (ví dụ từ capnhat.accdb), được đưa vào Sosanh.accdb thông qua Append Query .
Sau khi append, sẽ so sánh sự thay đổi dữ liệu giữa Bảng TableB và TableA, 
Nếu có sự thay đổi từ các Field của bảng TableA (theo khóa chính chung giữa Tbl.B & Tbl.A), thì sẽ dán đè dòng dữ liệu thay đổi này vào Bảng TableB. Và chỉ riêng các dòng record thay đổi từ Bảng TableA sẽ được Append vào một TableC khác nữa nhằm để kiểm tra dữ liệu thay đổi hàng ngày.
+ Như vậy nguồn dữ liệu mới luôn được cập nhật vào cơ sở dữ liệu.
+ Cũng như diễn biến dữ liệu thay đổi hàng ngày cũng được theo dõi một cách chính xác.
Trên ý tưởng lý thuyết như đã nêu, nhưng cháu cũng chưa biết viết code hay hàm như thế nào.
Nếu có thể, Các Chú, Các Bác hướng dẫn giúp cháu giải pháp.
Cháu xin cảm ơn rất nhiều.

Tôi nghĩ bạn nên tách ra 2 vấn đề để giải quyết và cần làm rõ thêm một số ý.
1. Việc cập nhật dữ liệu.
2. Theo dõi sự thay đổi dữ liệu.

1. Cập nhật dữ liệu: 
- Việc cập nhật hàng ngày CSDL tại sao bạn lại lưu riêng ra ở 1 CSDL khác (Csdl “capnhat.accdb”) mà không thực hiện trên chính CSDL đó luôn (csdl chứa Table B) Hay bạn muốn xét duyệt trước khi cho cập nhật? Hay đây là 2 ứng dụng khác nhau bạn muốn tận dụng dữ liệu của ứng dụng này dùng cho ứng dụng kia luôn?
- Việc tổ chức 1 csdl khác cho việc cập nhật thì tôi chưa hiểu lắm, bạn có thể nói rõ hơn không. Thường thì ứng dựng được tách thành 2 file Font End (FE) và BackEnd (BE). File BE chỉ lưu các Table và lưu trên máy chủ, share full cho các Users khác link vào để cập nhật dữ liệu. File FE là file phân phôí cho các Users (ngồi trên các máy tính khác nhau) để thao tác trên dữ liệu, gồm Form, Report v… Việc cập nhật dữ liệu từ file FE này có thể  dùng các table tạm để lưu dữ liệu cập nhật, sau đó sẽ append vào table chính ở CSDL BE ở máy chủ.

2. Theo dõi thay đổi dữ liệu: như cái code theo dõi tôi có để cập ở trên.
- Ngay khi User cập nhật dữ liệu từ File FE của họ thì chương trình TrackChange sẽ theo dõi mọi thông tin mà họ cập nhật, lưu vào một table nào đó (vd: tblTheoDoiDuLieu). Nếu bạn muốn kiểm tra thì chỉ cần mở Table đó lên xem thôi.
- Nội dung table theo dõi gồm tên người dùng, tên field nào đã thay đổi, nội dung thay đổi v.v.
[Hình: 38126699242_820809c24f_b.jpg]
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#15
Cảm ơn Chú Ongke0711,
Cháu xin phép được giải thích rõ.
1. Cập nhật dữ liệu: 
+ Do đây là các nguồn dữ liệu trên các ứng dụng khác nhau , nguồn csdl thay đổi hàng ngày (trong chương trình hoạt động độc lập khác) , truy xuất dữ liệu ra thành bảng  capnhat.xlsx (Tbl.A) và chia sẻ chung trên ổ hệ thống mạng.
 + CSDL so sánh tổng hợp (Sosanh.accdb) cũng lấy nguồn từ Table khác (Tbl.B), nguồn tổng hợp này chưa qua xử lý hàng ngày
Dựa vào nguồn cập nhật để tổng hợp cập nhật lại dữ liệu và phân tích số lượng các record thay đổi hàng ngày, sau đó qua các bước xử lý dữ liệu tiếp theo.

Vì thế đây là các chương trình khác nhau, độc lập nhau, chỉ có chung cơ sở dữ liệu để xử lý cho các bước tiếp theo. Nên không áp dụng như hướng ban đầu của Chú Ongke đưa ra.
Cháu cũng đang tìm hiểu về các phép so sánh  chẳng hạn như SEEK, nhưng vẫn chưa ra giải pháp so sánh như thế nào cho phù hợp.
Cảm ơn Chú rất nhiều.
Cháu DooHoaangPhuuc
Chữ ký của DooHoaangPhuuc DooHoaangPhuuc,gia nhập Thủ Thuật Access từ 27-06 -17.
ღღღღღTài sản của DooHoaangPhuuc (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#16
(04-11-17, 07:38 PM)DooHoaangPhuuc Đã viết: + Do đây là các nguồn dữ liệu trên các ứng dụng khác nhau , nguồn csdl thay đổi hàng ngày (trong chương trình hoạt động độc lập khác) , truy xuất dữ liệu ra thành bảng  capnhat.xlsx (Tbl.A) và chia sẻ chung trên ổ hệ thống mạng.
 + CSDL so sánh tổng hợp (Sosanh.accdb) cũng lấy nguồn từ Table khác (Tbl.B), nguồn tổng hợp này chưa qua xử lý hàng ngày
Dựa vào nguồn cập nhật để tổng hợp cập nhật lại dữ liệu và phân tích số lượng các record thay đổi hàng ngày, sau đó qua các bước xử lý dữ liệu tiếp theo.

Nếu vậy là so sánh 2 Table xem có dòng nào có phát sinh thay đổi và thay đổi ở những field nào.
Vụ này thì bạn dùng query cũng được rồi. Dùng Union Query. Table có bao nhiêu Field sẽ Union All bấy nhiêu lần.
Trong query Union đã xác định được các [IDKHACHHANG] nào thay đổi thì sau đó bạn có thể dùng để viết code chỉ cập nhật các ID thay đổi này thôi.
Demo cho bạn đây:

[Hình: 38126650116_671ac9d8eb_b.jpg]

Ví dụ 2 table có các Field như hình trên. Tôi chỉ làm demo thay đổi 2 field là [TINH] và [TENKHACHHANG]. Bạn muốn so sách tất cả các field thì cứ Select ... và Union All tiếp như câu lệnh bên dưới.

Mã PHP:
SELECT TableB.IDKHACHHANG,"TINH" AS FieldThayDoiTableB.Tinh AS TableBGiaTri,TableA_DailyUpdate.Tinh AS TableAGiaTri
FROM TableA_DailyUpdate INNER JOIN TableB ON TableA_DailyUpdate
.IDKHACHHANG TableB.IDKHACHHANG
WHERE 
(((TableB.TINH)<>[TableA_DailyUpdate].[TINH]));
UNION ALL 
SELECT TableB
.IDKHACHHANG,"TENKHACHHANG" AS FieldThayDoiTableB.TENKHACHHANG AS TableBGiaTri,TableA_DailyUpdate.TENKHACHHANG AS TableAGiaTri
FROM TableA_DailyUpdate INNER JOIN TableB ON TableA_DailyUpdate
.IDKHACHHANG TableB.IDKHACHHANG
WHERE 
(((TableB.TENKHACHHANG)<>[TableA_DailyUpdate].[TENKHACHHANG])); 
 

Link file demo: http://www.mediafire.com/file/24gys5lv2s...Tables.mdb
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn DooHoaangPhuuc


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Help] Tạo Query lấy dữ liệu từ 1 cột của Table khác theo điều kiện jeck09nt 2 53 1 Giờ trước
Bài mới nhất: jeck09nt
  Query không cho kết quả đúng? feeling 5 399 17-10-18, 02:20 PM
Bài mới nhất: tranthanhan1962
  [Hỏi] query tuanhungkcs 2 128 12-10-18, 09:48 PM
Bài mới nhất: tuanhungkcs
  [Help] Nhờ xây dựng Query Tranhung84ls 2 268 20-09-18, 10:25 PM
Bài mới nhất: Tranhung84ls
  tự học Access đang bị vướng về Query xin giúp đỡ!!!! datma 3 235 19-09-18, 03:23 PM
Bài mới nhất: datma

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ| PMA Nha Trang| Gỗ Acrylic Không Đường Line