tranthanhan1962 > 27-01-16, 11:08 PM
(27-01-16, 06:49 PM)jason Đã viết: cái anh nói không phải của em .Cách lấy dữ liệu mới hoặc đã chỉnh sửa cũng không khác gì bạn chạy query lần đầu. Duy chỉ có khác:
em hỏi vấn đề khác . em nói rõ lại nha:
em có làm 1 query(ở đây em có liên kết nhiều table) query này em sẽ làm append luôn. khi chạy em muốn nó lưu được dữ liệu mới hoặc dữ liệu đã chỉnh sửa ở các table (đang kết nối ở query) tới table được chỉ định.
lần đầu tiền khi chạy là ok rồi vì nó chỉ lấy dữ liệu ở query qua table đã chỉ định,
vấn đề là khi chạy lần 2 ,3,4... thì nó chỉ lấy dữ liệu được thêm mới hoặc chỉnh sữa thôi.
mong anh giải giúp em với ạ,
cảm ơn anh nhiều !
jason > 28-01-16, 09:26 AM
(27-01-16, 11:08 PM)tranthanhan1962 Đã viết:cảm ơn anh nhiều !(27-01-16, 06:49 PM)jason Đã viết: cái anh nói không phải của em .Cách lấy dữ liệu mới hoặc đã chỉnh sửa cũng không khác gì bạn chạy query lần đầu. Duy chỉ có khác:
em hỏi vấn đề khác . em nói rõ lại nha:
em có làm 1 query(ở đây em có liên kết nhiều table) query này em sẽ làm append luôn. khi chạy em muốn nó lưu được dữ liệu mới hoặc dữ liệu đã chỉnh sửa ở các table (đang kết nối ở query) tới table được chỉ định.
lần đầu tiền khi chạy là ok rồi vì nó chỉ lấy dữ liệu ở query qua table đã chỉ định,
vấn đề là khi chạy lần 2 ,3,4... thì nó chỉ lấy dữ liệu được thêm mới hoặc chỉnh sữa thôi.
mong anh giải giúp em với ạ,
cảm ơn anh nhiều !
1/ Bạn phải lọc các record mới để append.
2/Lọc các record cũ đã bị chỉnh sửa để update.
3/Sau khi update và append bỏ các điều kiện.
Hướng xử lý như sau:
Thêm table nguồn (table A) 2 field: THEMMOI (Thêm mới) và CHINHSUA (chỉnh sửa) có data type là yes/no. Mặc định trường THEMMOI là true
Trên form nhập liệu cho table nguồn (table A) viết code khi chỉnh sửa bất kỳ trường nào thì trường CHINHSUA có gía trị là true.
Viết code cho phần cập nhật:
1/Sử dụng lệnh RunSQL chạy SQL của query update cho các record có field CHINHSUA = true.
2/Sử dụng lệnh RunSQL chạy SQL của query append cho các record có field THEMMOI = true.
3/Sử dụng lệnh RunSQL chạy SQL của query update table nguồn field THEMMOI = false, CHINHSUA=false.
Chúc bạn thành công.
tranthanhan1962 > 28-01-16, 12:44 PM
(28-01-16, 09:26 AM)jason Đã viết: cảm ơn anh nhiều !
nhưng dữ liệu nguồn của em, em không chỉnh sửa hay thêm field mới được. em chỉ được lấy về rồi làm dữ liệu cho mình.mà dữ liệu nguồn luôn luôn được được chỉnh sửa và có thêm mới từ người khác( tức phần mềm khác) em đang làm 1 phần mềm khác nhưng dữ liệu phải thống nhất với nhau .
mong anh cho em hướng giải khác với
cảm ơn anh
jason > 28-01-16, 02:10 PM
(28-01-16, 12:44 PM)tranthanhan1962 Đã viết:em đang làm theo hướng anh nói.(28-01-16, 09:26 AM)jason Đã viết: cảm ơn anh nhiều !
nhưng dữ liệu nguồn của em, em không chỉnh sửa hay thêm field mới được. em chỉ được lấy về rồi làm dữ liệu cho mình.mà dữ liệu nguồn luôn luôn được được chỉnh sửa và có thêm mới từ người khác( tức phần mềm khác) em đang làm 1 phần mềm khác nhưng dữ liệu phải thống nhất với nhau .
mong anh cho em hướng giải khác với
cảm ơn anh
Về nguyên tắc bạn có thể dùng code để so sánh và kiểm tra record nguồn bị thay đổi hoặc thêm mới bằng code. Nhưng vấn để này rất phức tạp. Bạn có thể xử dụng Unmatched query để xử lý. Nhưng chuẩn record mới hay record cũ bị thay đổi phải căn cứ theo từng trường hợp. Bạn phải có một field ID để so sánh. Nếu ID mới không trùng với các ID cũ có nghĩa là đây là record mới phải append. Nếu Giá trị trường ID trùng với ID đã có nhưng giá trị các trường khác có sự khác nhau thì là record cũ cần update.
Bạn phải có một căn cứ cụ thể thì mới xử lý được. Nếu không thì bó tay.
Trong trường hợp chỉ cần lấy dữ liệu từ ngoài là đủ. Bạn có thể dùng SQL delete query xóa toàn bộ dữ liệu đang có rồi append toàn bộ dữ liệu mới vào.