qhuyhh117 > 12-11-12, 11:23 AM
Noname > 12-11-12, 12:40 PM
INSERT INTO TableB ( khoa, noidung )
SELECT TableA.khoa, TableA.noidung
FROM TableA
WHERE (((TableA.khoa) Not In (select khoa from tableB)));
UPDATE TableA INNER JOIN TableB ON TableA.khoa = TableB.khoa SET TableB.noidung = tableA.noidung
WHERE (((TableB.noidung)<>[tableA].[noidung]));
qhuyhh117 > 13-11-12, 11:26 AM
quan_pc > 13-11-12, 12:03 PM
(13-11-12, 11:26 AM)qhuyhh117 Đã viết: Cảm ơn bạn.
Chắc do mình diễn đạt chưa đúng.
VD: Mình có bảng A gồm nhiều trường, nhưng không có trường nào là khóa chính.
Mong muốn của mình là: Lưu trữ dữ liệu của bảng A sang một bảng B khi có bất khi A có bất kì thay đổi nào.
Chẳng hạn: Khi thay đổi giá trị trên các record hoặc thêm các record mới ở A.
Tuy nhiên, yêu cầu ở B là không được chứa các record giống nhau.
Có thể nói: B là bảng chứa dữ liệu lưu trữ của A theo thời gian.
Các bạn giúp mình nhé.
qhuyhh117 > 13-11-12, 12:38 PM
trungn077 > 13-11-12, 05:17 PM
(13-11-12, 12:38 PM)qhuyhh117 Đã viết: Nếu vậy thì đơn giản quá.
Quan trọng là cần backup chỉ những dữ liệu đã thay đổi từ bảng A sang bảng B.
Chứ làm như bạn thì hai bảng lúc nào cũng giống nhau mất.
Các bạn hiểu cho mình nhé, mình ví dụ này:
Bảng A chứa các trường là: MHS, Ho, Ten, Thang, tienhocphi
Bảng chứa 3 records:
001 Nguyen Van A 10 100.000
002 Nguyen Van B 10+11 200.000
003 Nguyen Văn C 10 100.000
Tháng 10: Mình dùng Query để lưu trữ dữ liệu từ bảng A sang Bảng B, dễ dàng có:
Bảng B:
001 Nguyen Van A 10 100.000
002 Nguyen Van B 10+11 200.000
003 Nguyen Văn C 10 100.000
Tuy nhiên, sang tháng 11, dữ liệu của bảng A được làm lại như sau:
Bảng A:
001 Nguyen Van A 11 100.000
002 Nguyen Van B 10+11 200.000
003 Nguyen Van C 11 100.000
004 Nguyen Van D 11 100.000
Mong muốn của mình là lưu trữ các dữ liệu thay đổi từ bảng A sang bảng B.
Tức kết quả ở bảng B phải là:
Bảng B:
001 Nguyen Van A 10 100.000
002 Nguyen Van B 10, 11 200.000
003 Nguyen Văn C 10 100.000
001 Nguyen Van A 11 100.000
003 Nguyen Van C 11 100.000
004 Nguyen Van D 11 100.000
Còn nếu mình dùng Append Query (không có điều kiện gì) thì sẽ được bảng B là:
001 Nguyen Van A 10 100.000
002 Nguyen Van B 10+11 200.000
003 Nguyen Văn C 10 100.000
001 Nguyen Van A 11 100.000
002 Nguyen Van B 10+11 200.000
003 Nguyen Van C 11 100.000
004 Nguyen Van D 11 100.00
Ở đây có hai record là (002 Nguyen Van B 10, 11 200.000) trùng nhau. Mà điều này mình không muốn.
Vì ghi luôn thế này cho tiện, sợ đưa file Access lên mọi người khó hiểu.
Phải làm như thế nào, mọi người giúp mình nhé.
qhuyhh117 > 14-11-12, 01:39 AM
qhuyhh117 > 14-11-12, 10:29 PM
Noname > 15-11-12, 01:38 AM
cpucloi > 16-11-12, 07:26 AM