Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Help] Sử dụng Append Query
#11
các anh ơi
trong trường hợp mình dùng append và update khi số lượng record it thì nhanh chứ như em dùng cho chương trình mạng số lượng record khoảng > 1000 ngàn record thì rất là lâu
Mong các huynh có giải pháp nào nhanh hơn không .
vì e dùng một chương trình quản lý sản phẩm nếu dùng dcount check file đã tồn tại trên máy chủ thì rất mất thời gian. nên e dùng chương trình append và update về máy con thì chạy không nối 021021021021021LightbulbLightbulbLightbulbLightbulbLightbulbLightbulb
Chữ ký của ducphu1975 Xin chào, mình là ducphu1975, Tham gia http://thuthuataccess.com/forum từ ngày 04-11 -12.
Reply
Những người đã cảm ơn
#12
(19-11-12, 01:22 PM)ducphu1975 Đã viết: các anh ơi
trong trường hợp mình dùng append và update khi số lượng record it thì nhanh chứ như em dùng cho chương trình mạng số lượng record khoảng > 1000 ngàn record thì rất là lâu
Mong các huynh có giải pháp nào nhanh hơn không .
vì e dùng một chương trình quản lý sản phẩm nếu dùng dcount check file đã tồn tại trên máy chủ thì rất mất thời gian. nên e dùng chương trình append và update về máy con thì chạy không nối 021021021021021LightbulbLightbulbLightbulbLightbulbLightbulbLightbulb

Dùng mạng nội bộ hay ngoài vậy bạn, hiện mình cũng thiết kế chương trình access cho CTy mình và đang sử dụng mạng nội bộ kèm theo Dropbox qua Internet và mỗi lần Update tới 14000 dòng lận mà cả 2 điều chạy rất nhanh mà.Bạn nên gửi file lên để mọi người cùng tham khảo!034
Chữ ký của trungn077 Xin chào, mình là trungn077, Tham gia http://thuthuataccess.com/forum từ ngày 09-07 -12.
ღღღღღTài sản của trungn077 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#13
cám ơn bạn đã đọc
chương trình mình dùng trong nội bộ cơ quan hà để quản lý số liệu có ô số code sản phẩm nếu mình nah65p vào lần đầu mà sai thi nó thông báo và nhảy con trỏ trở về ô chỉ định sau đó nnhap lại nó khong kiểm tra dữ liệu ô đó nữa
đây là đoạn code mình dùng để kiểm tra
If DCount("lacsanpham", "TNOIDULIEU1", "LACSANPHAM =Forms!Fngaynhap!Fnhaplop!LACSANPHAM") > 0 And DCount("lacsanpham", "T-nhaplop", "LACSANPHAM =Forms!Fngaynhap!Fnhaplop!LACSANPHAM") > 0 Then
MsgBox " SO LAC NAY DA NHAP - DE NGHI NHAP LAI QUY CACH LOP KHAC!"
Beep
lacsanpham = 0
quycach.SetFocus
End If
Else
MsgBox " SO LAC NAY NHAP KHONG DUNG - DE NGHI NHAP LAI!"
Beep
lacsanpham = 0
quycach.SetFocus

End If[/i][/i]
Chữ ký của ducphu1975 Xin chào, mình là ducphu1975, Tham gia http://thuthuataccess.com/forum từ ngày 04-11 -12.
Reply
Những người đã cảm ơn
#14
(20-11-12, 01:12 PM)ducphu1975 Đã viết: cám ơn bạn đã đọc
chương trình mình dùng trong nội bộ cơ quan hà để quản lý số liệu có ô số code sản phẩm nếu mình nah65p vào lần đầu mà sai thi nó thông báo và nhảy con trỏ trở về ô chỉ định sau đó nnhap lại nó khong kiểm tra dữ liệu ô đó nữa
đây là đoạn code mình dùng để kiểm tra
If DCount("lacsanpham", "TNOIDULIEU1", "LACSANPHAM =Forms!Fngaynhap!Fnhaplop!LACSANPHAM") > 0 And DCount("lacsanpham", "T-nhaplop", "LACSANPHAM =Forms!Fngaynhap!Fnhaplop!LACSANPHAM") > 0 Then
MsgBox " SO LAC NAY DA NHAP - DE NGHI NHAP LAI QUY CACH LOP KHAC!"
Beep
lacsanpham = 0
quycach.SetFocus
End If
Else
MsgBox " SO LAC NAY NHAP KHONG DUNG - DE NGHI NHAP LAI!"
Beep
lacsanpham = 0
quycach.SetFocus

End If[/i][/i]

Sry!Thiệt tình là chưa hiểu rõ ý bạn lắm.Bạn muốn hỏi về cái nào? Tách frm ra gửi file lên sẽ có người giúp, trực tiếp file sẽ đỡ hao công và chính xác!034
Chữ ký của trungn077 Xin chào, mình là trungn077, Tham gia http://thuthuataccess.com/forum từ ngày 09-07 -12.
ღღღღღTài sản của trungn077 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#15
(12-11-12, 12:40 PM)Noname Đã viết: Vấn đề đồng bộ bạn cần kết hợp linh hoạt giữa update query và append query.

1/ Đặt khóa cho cả hai bảng. Điều này đảm bảo rằng sẽ không có record nào bị trùng lại.
2/ Append từ bảng A sang bảng B để thêm các record mới. Với điều kiện là các khóa đó chưa tồn tại trong tableB.

Ví dụ:
Mã:
INSERT INTO TableB ( khoa, noidung )
SELECT TableA.khoa, TableA.noidung
FROM TableA
WHERE (((TableA.khoa) Not In (select khoa from tableB)));

3/ Update dữ liệu bảng A có nguồn từ bảng B với điều kiện dữ liệu có cùng khóa nhưng khác các nội dung khác
Ví dụ:
Mã:
UPDATE TableA INNER JOIN TableB ON TableA.khoa = TableB.khoa SET TableB.noidung = tableA.noidung
WHERE (((TableB.noidung)<>[tableA].[noidung]));
Xem file
https://dl.dropbox.com/u/38360355/Access/dongbo.zip

Chào Noname!
Mình rất thích kiểu Append Query và làm theo được, nhưng khi nào mình chạy Query update thì mình chưa hiểu lắm! Về nguyên tắc mình chạy Append trước rồi chạy tiếp update phải không?
Mong anh giúp đỡ nhé!
Chữ ký của duyennguyen2008 Xin chào, mình là duyennguyen2008, Tham gia http://thuthuataccess.com/forum từ ngày 19-11 -12.
Reply
Những người đã cảm ơn
#16
Mình nghĩ có thể xóa nội dung bảng B trước khi thực hiện append nôi dung từ bảng A qua bảng B. Về thao tác cũng chỉ bằng một cú lick, chỉ thêm một vài dòng lệnh trong thủ tục mà thôi.
Chữ ký của Nilbo Châu Sẵn sàng tiếp chiêu ! Tham gia http://thuthuataccess.com/forum từ ngày 02-01 -13.
Reply
Những người đã cảm ơn
#17
Chào các ace diễn đàn,
em cũng đang gặp vấn đề giống giống ở trên, và đã chạy thử demo của bác Noname thấy đúng với vấn đề em đang mắc phải, nhưng khác cái là dữ liệu của em(1 cái là dữ của query và 1 cái là table) không có khóa chính ở cả 2 bảng (Query và table) nên em chưa biết xử lý thế nào.
Em sẽ làm query append (lần thứ 1) cho tất cả record ở bảng A qua bảng B. ở bảng B em sẽ tạo thêm 1 cột PONo cho người sử dụng nhập dữ liệu và lưu lại ở cột đó.
dữ liệu ở bảng A luôn luôn có dữ liệu mới ( tức record mới hoặc record được chỉnh sửa) 
em muốn có 1 nút ( khi chạy query append lần thứ 2,3,...) thì dử liệu mới hoặc chỉnh sửa ở bảng A sẽ được cập nhật vào bảng B và dữ liệu của cột PONo(bảng B) sẽ không thay đổi.(bảng B sẽ không thay đổi gì hết chỉ thêm những cái mới từ bảng A).
mong các ace hướng dẫn em cách giải quyết với ạ
em xin cảm ơn
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
#18
(26-01-16, 05:12 PM)jason Đã viết: Chào các ace diễn đàn,
em cũng đang gặp vấn đề giống giống ở trên, và đã chạy thử demo của bác Noname thấy đúng với vấn đề em đang mắc phải, nhưng khác cái là dữ liệu của em(1 cái là dữ của query và 1 cái là table) không có khóa chính ở cả 2 bảng (Query và table) nên em chưa biết xử lý thế nào.
Em sẽ làm query append (lần thứ 1) cho tất cả record ở bảng A qua bảng B. ở bảng B em sẽ tạo thêm 1 cột PONo cho người sử dụng nhập dữ liệu và lưu lại ở cột đó.
dữ liệu ở bảng A luôn luôn có dữ liệu mới ( tức record mới hoặc record được chỉnh sửa) 
em muốn có 1 nút ( khi chạy query append lần thứ 2,3,...) thì dử liệu mới hoặc chỉnh sửa ở bảng A sẽ được cập nhật vào bảng B và dữ liệu của cột PONo(bảng B) sẽ không thay đổi.(bảng B sẽ không thay đổi gì hết chỉ thêm những cái mới từ bảng A).
mong các ace hướng dẫn em cách giải quyết với ạ
em xin cảm ơn

 có ai giúp em vấn đề trên với ...???
em đang cần...
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
#19
(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é. 038
Xem qua bảng dữ liệu của bạn mình không hiểu bạn sử dụng 2 bảng để làm gì mà phải sử dụng query Append để lưu dữ liệu từng tháng mới rồi từ table A append lên table B. Trong khi đó chỉ cần 1 table A cũng đủ lưu trữ dữ liệu cho cả năm. Trường hợp lười gõ tên tất cả các học viên vẫn có thể cùng combobox để chọn hay copy record đã có rồi dán thêm sau đó sửa tháng cũng được mà.
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
#20
(27-01-16, 04:35 PM)tranthanhan1962 Đã viết: Xem qua bảng dữ liệu của bạn mình không hiểu bạn sử dụng 2 bảng để làm gì mà phải sử dụng query Append để lưu dữ liệu từng tháng mới rồi từ table A append lên table B. Trong khi đó chỉ cần 1 table A cũng đủ lưu trữ dữ liệu cho cả năm. Trường hợp lười gõ tên tất cả các học viên vẫn có thể cùng combobox để chọn hay copy record đã có rồi dán thêm sau đó sửa tháng cũng được mà.

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 !
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


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  Hướng Dẫn hướng dẫn làm query theo cbobox tieuho828 0 6 2 Giờ trước
Bài mới nhất: tieuho828
  Lọc query có điều kiện để tạo report honglv157 3 164 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 75 30-11-16, 10:44 PM
Bài mới nhất: dangh5
  [Help] ẩn nút ""Close Windown" khi mở query tronghieu9792 4 87 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

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ơ