Đánh giá chủ đề:
  • 1 Votes - 4 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Help] [Hàm] Lấy dữ liệu giữa 2 file Access có cùng cấu trúc table
#11
(05-10-16, 11:11 AM)Minh Tiên Đã viết: Chào Dân !
Tiên đang Import dữ liệu bằng cách dùng SQL ( theo bài viết của pausteigel thì phải) như sau:

1. Tạo link table từ CSQL đích vào CSDL hiện tại - Nguồn.
2. Dùng code CurrentDb.Execute "INSERT INTO tableDich(Field1, Field2,...) SELECT  Field1, Field2, ... FROM tableNguon;"
3. Xóa link table.

Tiên đã test thử với table hơn 200.000 record tốc độ chỉ 10 giây (Theo code của Dân mất 26 giây ).
'- ưu điểm của SQL là:
   + Nhanh;
   + Cấu trúc table nguồn và đích ko cần giống nhau ( Chỉ cần các Field có cùng kiểu dữ liệu ).
- Nhượt:
   + Code hơi dài (Code Link, Xóa Link, SQL)

Dân cùng các Pro test lại thử có đúng ko nhé !
Thân./.

Mình nhất trí 2 tay với đoạn Tiên nói đúng là tốc độ truy xuất của nó chậm, như bài đầu tiên Dân có phân tích là 1 triệu record sẽ mất đến 3 phút.

Mình xin bổ sung thêm 2 cái nhược của code Tiên nói:
1. Khi file nguồn có từ 2 người truy cập cùng 1 thời điểm.
2. Có nhiều file nguồn => Suy ra, máy chủ sẽ chậm. ( Tác giả bài viết này là muốn gom dữ liệu từ các máy con. )
3. Code Tiên chỉ thích hợp cho đối tượng là máy con truy xuất đến máy chủ (Linktable trong trường hợp này không thích hợp: Bởi LinkTable là kiểu kết nối không gián đoạn.)

* Kết:
+ Dân và Tiên làm ứng dụng thì việc đưa code SQL vào VBA là chuyện nhỏ, nhưng người mới bắt đầu thì chuyện đó hơi khó.
+ Để mình viết cho tiên code dùng CurrentDb.Execute ....của tiên nhưng không cần Link table ( cái này mình tính viết cho bạn ấy sợ bạn ấy thấy nhiều dài dòng nên không viết)
Chữ ký của maidinhdan * Để được hỗ trợ tốt nhất, nhấn vào link dưới đây để xem.
1. [Hướng dẫn] Kiểu file gửi lên để được giúp đỡ
2. [Hướng dẫn] Nội quy diễn đàn
3. [Hướng dẫn] Cách Đưa file và hình vào diễn đàn
4.[Hướng dẫn] Để xây dựng một ứng dụng hoàn hảo và lời cảm tạ
5. Cần tìm Demo hay ứng dụng sử dụng thanh tìm kiếm phía trên cùng, bên phải của diễn đàn.
* Nếu muốn cảm ơn, hãy nhấn nút thank, không cần viết thêm bài nào nửa.



ღღღღღTài sản của maidinhdan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn Minh Tiên
#12
Thanks Dân !
Tiên đang tìm: "code Import dùng CurrentDb.Execute .... từ file này sang file khác nhưng không cần Link table".
Dân giúp code nhé !
Cảm ơn nhiều !
Chữ ký của Minh Tiên -----------------------------------------------
Đường tuy ngắn, không đi không đến
Việc tuy nhỏ, không làm không nên.
                                           Tuân Tử
-----------------------------------------------
Reply
Những người đã cảm ơn maidinhdan
#13
(05-10-16, 03:13 PM)Minh Tiên Đã viết: Thanks Dân !
Tiên đang tìm: "code Import dùng CurrentDb.Execute .... từ file này sang file khác nhưng không cần Link table".
Dân giúp code nhé !
Cảm ơn nhiều !

Toàn bộ Hàm

Mã PHP:
Public Function Ketnoi1(TenTable As StringDuongdanfile As String)
    'Xuat file dich len file nguon
    DoCmd.TransferDatabase acImport, "Microsoft Access", Duongdanfile, acTable, TenTable, "tblTam"
    ' 
Khoi tao Quey Loc
    DoCmd
.SetWarnings False
    sql 
"INSERT INTO " TenTable " SELECT * FROM tblTam WHERE tblTam.STT Not In (Select STT from " TenTable ");"
    DoCmd.RunSQL sql
    DoCmd
.DeleteObject acTable"tblTam"
    DoCmd.SetWarnings True
End 
Function 


Cách gọi:
Mã PHP:
Ketnoi1(" Ten table""Đường dẫn file Nguồn"
)

So sánh dựa trên Số thứ tự nhé

Đính kèm Demo, Tiên test dùm về tốc độ của nó.

=> Đã Test: Với Data này
+ 200.000Record : mất 2,5giây
+ 800.000Record : mất 5 giây.


Thực ra còn 2 cách nửa vượt trội hơn nhiều
1. Gồm 3 file Access: Nguồn - Đích - Trung gian ( Trung gian sẽ chứa link table của Nguồn - Đích)
2. Gồn 2 file Access: Nguồn - Đích ( xử lý theo kiểu lấy vị trí)

Không biết Tiên có từng làm qua 2 loại này chưa?


File đính kèm
.zip   ImportfileAccess(2).zip (Kích cỡ: 40.81 KB / Tải về: 21)
Chữ ký của maidinhdan * Để được hỗ trợ tốt nhất, nhấn vào link dưới đây để xem.
1. [Hướng dẫn] Kiểu file gửi lên để được giúp đỡ
2. [Hướng dẫn] Nội quy diễn đàn
3. [Hướng dẫn] Cách Đưa file và hình vào diễn đàn
4.[Hướng dẫn] Để xây dựng một ứng dụng hoàn hảo và lời cảm tạ
5. Cần tìm Demo hay ứng dụng sử dụng thanh tìm kiếm phía trên cùng, bên phải của diễn đàn.
* Nếu muốn cảm ơn, hãy nhấn nút thank, không cần viết thêm bài nào nửa.



ღღღღღTài sản của maidinhdan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn huuduy.duy , Minh Tiên , Noname , ongke0711 , Che_Guevara
#14
(05-10-16, 06:48 PM)maidinhdan Đã viết: Thực ra còn 2 cách nửa vượt trội hơn nhiều
1. Gồm 3 file Access: Nguồn - Đích - Trung gian ( Trung gian sẽ chứa link table của Nguồn - Đích)
2. Gồn 2 file Access: Nguồn - Đích ( xử lý theo kiểu lấy vị trí)

Sẵn anh làm Demo cho 2 trường hợp trên luôn đi anh.

Trân trọng
Chữ ký của huuduy.duy Xin chào, mình là huuduy.duy, Tham gia http://thuthuataccess.com/forum từ ngày 24-06 -13.
ღღღღღTài sản của huuduy.duy (View All Items) ღღღღღ
Reply
Những người đã cảm ơn maidinhdan
#15
(06-10-16, 06:35 AM)huuduy.duy Đã viết:
(05-10-16, 06:48 PM)maidinhdan Đã viết: Thực ra còn 2 cách nửa vượt trội hơn nhiều
1. Gồm 3 file Access: Nguồn - Đích - Trung gian ( Trung gian sẽ chứa link table của Nguồn - Đích)
2. Gồn 2 file Access: Nguồn - Đích ( xử lý theo kiểu lấy vị trí)

Sẵn anh làm Demo cho 2 trường hợp trên luôn đi anh.

Trân trọng

Đã làm hết rồi, Có 6 loại Kết nối từ 1-6 nhưng chưa phải lúc để Post lên, vì nhu cầu mọi người cần ít quá.
Chữ ký của maidinhdan * Để được hỗ trợ tốt nhất, nhấn vào link dưới đây để xem.
1. [Hướng dẫn] Kiểu file gửi lên để được giúp đỡ
2. [Hướng dẫn] Nội quy diễn đàn
3. [Hướng dẫn] Cách Đưa file và hình vào diễn đàn
4.[Hướng dẫn] Để xây dựng một ứng dụng hoàn hảo và lời cảm tạ
5. Cần tìm Demo hay ứng dụng sử dụng thanh tìm kiếm phía trên cùng, bên phải của diễn đàn.
* Nếu muốn cảm ơn, hãy nhấn nút thank, không cần viết thêm bài nào nửa.



ღღღღღTài sản của maidinhdan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn huuduy.duy
#16
Chào Dân !
Tiên đã test với 500.000 Record mất tới 45 giây lận Dân ơi !

Dân cho Demo 2 phương pháp còn lại lun nhé !
Thanks !
Chữ ký của Minh Tiên -----------------------------------------------
Đường tuy ngắn, không đi không đến
Việc tuy nhỏ, không làm không nên.
                                           Tuân Tử
-----------------------------------------------
Reply
Những người đã cảm ơn huuduy.duy
#17
(06-10-16, 05:06 PM)Minh Tiên Đã viết: Chào Dân !
Tiên đã test với 500.000 Record mất tới 45 giây lận Dân ơi !

Dân cho Demo 2 phương pháp còn lại lun nhé !
Thanks !

Tiên Post nguyên đoạn code 26s của Tiên và ghi chú đầy đủ để mình trao đổi 1 chút.

Và Test lại dùm Code của mình với 200.000 ngàn Record xem.

Còn 2 Demo còn lại mình sẽ giới thiệu ở bài khác, để mọi người cùng Test và phát triển nó.
Chữ ký của maidinhdan * Để được hỗ trợ tốt nhất, nhấn vào link dưới đây để xem.
1. [Hướng dẫn] Kiểu file gửi lên để được giúp đỡ
2. [Hướng dẫn] Nội quy diễn đàn
3. [Hướng dẫn] Cách Đưa file và hình vào diễn đàn
4.[Hướng dẫn] Để xây dựng một ứng dụng hoàn hảo và lời cảm tạ
5. Cần tìm Demo hay ứng dụng sử dụng thanh tìm kiếm phía trên cùng, bên phải của diễn đàn.
* Nếu muốn cảm ơn, hãy nhấn nút thank, không cần viết thêm bài nào nửa.



ღღღღღTài sản của maidinhdan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#18
Chào Dân !
Tiên gửi demo test 3 phương án đã nêu.
Dân cùng ACE xem cho ý kiến nhé !
Demo
Thân./.
Chữ ký của Minh Tiên -----------------------------------------------
Đường tuy ngắn, không đi không đến
Việc tuy nhỏ, không làm không nên.
                                           Tuân Tử
-----------------------------------------------
Reply
Những người đã cảm ơn Noname , ongke0711
#19
Oh..FileNguon.accdb Access 2007 mình mở không được rồi. "..cannot recognized.."
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
#20
PC Tiên vẫn mở bt mà [b]ongke0711 ![/b]
Chữ ký của Minh Tiên -----------------------------------------------
Đường tuy ngắn, không đi không đến
Việc tuy nhỏ, không làm không nên.
                                           Tuân Tử
-----------------------------------------------
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
  copy dữ liệu excel vào access có kí tự xuống dòng babyrock2009 2 84 01-12-16, 11:16 AM
Bài mới nhất: babyrock2009
  [Hỏi] Chữ IN HOA trong table diepvien1989 5 309 08-09-16, 10:16 PM
Bài mới nhất: Nguyen Hoang Diep
  [Help] So sánh 2 Table Lấy ra dữ liệu trùng nhau sang 1 table có sẳn khác thdanh 21 1,684 19-07-16, 04:21 PM
Bài mới nhất: maidinhdan
  [Help] ràng buộc dữ liệu giữa 2 field trong 2 bảng khác nhau hoangtiep 5 282 08-07-16, 05:07 PM
Bài mới nhất: maidinhdan
  Chuyển dữ liệu từ bảng A qua bảng B có chọn lọc bdbqn2007 5 378 08-06-16, 11:36 PM
Bài mới nhất: maidinhdan

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ơ