Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Help] Sử dụng Append Query
#21
(27-01-16, 06:49 PM)jason Đã viết: cái  anh nói không phải của em .
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 !
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:
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.
Chữ ký của tranthanhan1962 Kết quả cuối cùng của một đời người, không phải bạn có được bao nhiêu tiền bạc, tài sản. Mà bạn còn bao nhiêu người bạn  thumbs up
ღღღღღTài sản của tranthanhan1962 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn jason , Noname
#22
(27-01-16, 11:08 PM)tranthanhan1962 Đã viết:
(27-01-16, 06:49 PM)jason Đã viết: cái  anh nói không phải của em .
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 !
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:
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.
 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
Chữ ký của jason Học ...học nữa và học mãi 53_53 !

ღღღღღTài sản của jason (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#23
(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.
Chữ ký của tranthanhan1962 Kết quả cuối cùng của một đời người, không phải bạn có được bao nhiêu tiền bạc, tài sản. Mà bạn còn bao nhiêu người bạn  thumbs up
ღღღღღTài sản của tranthanhan1962 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn jason , Noname
#24
(28-01-16, 12:44 PM)tranthanhan1962 Đã viết:
(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.
em đang làm theo hướng anh nói.
là em tạo 1 query append thứ 1 để lấy dữ liệu ngoài vào 1 table (Table1), sau đó em làm 1 query append  thứ 2 để append dữ liệu từ Table1 qua Table2( ở bước này em sẽ tạo 1 cái ID có khóa chính ở cả 2 Table1 và Table2) nhằm để append những ID khác từ Table1 qua Table2( ở table2 em sẽ làm sủ dụng làm dữ liệu chính) và em làm tiếp 1 query update từ table1 qua table2.
ki em chạy append thứ 2 e sẽ xóa Table1 trước sau đó chạy append thứ 1 . sau đó chạy append thứ 2 và update .
em muốn hỏi có ổn không anh  ? 
với lại dữ liệu của e trên 18000 dòng khi chạy append thứ rất là lâu  anh có cách nào nhanh hơn không ?
cảm ơn anh
Chữ ký của jason Học ...học nữa và học mãi 53_53 !

ღღღღღTài sản của jason (View All Items) ღღღღღ
Reply
Những người đã cảm ơn Noname


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  Lọc query có điều kiện để tạo report honglv157 3 160 01-12-16, 05:15 PM
Bài mới nhất: maidinhdan
  [Help] Xin giúp đỡ về sử dụng hàm Dlookup với nhiều điều kiện dangh5 1 74 30-11-16, 10:44 PM
Bài mới nhất: dangh5
  [Help] ẩn nút ""Close Windown" khi mở query tronghieu9792 4 86 30-11-16, 09:36 PM
Bài mới nhất: tronghieu9792
Question [Help] Cần giúp đỡ tạo query lấy giá trị của dòng liền trước để tính giá trị trung bình luonguct 4 89 23-11-16, 12:33 AM
Bài mới nhất: luonguct
  Hướng Dẫn hướng dẫn làm query tieuho828 6 150 21-11-16, 12:36 AM
Bài mới nhất: toancvp

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ơ