-
RE: tự động cập nhật kết quả từ bảng excel vào table
ongke0711 > 05-10-20, 02:24 PM
À cái này do lỗi tôi không kiểm tra chính tả và sửa lại tên biến.
Lưu ý: chỉ dùng một dòng: sConnString=... thôi nhé. Dòng còn lại bạn thêm dấu nháy đơn vào đầu chuỗi để vô hiệu hoá nó.
câul lệnh đúng:
sConnString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & sDBFullPath & ";" & _
"Extended Properties=""Excel 8.0;HDR=Yes"""
Hoặc:
sConnString = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & sDBFullPath & ";" & _
"Extended Properties=""Excel 8.0;HDR=Yes""" -
RE: tự động cập nhật kết quả từ bảng excel vào table
phương > 06-10-20, 12:02 PM
(05-10-20, 02:24 PM)ongke0711 Đã viết: À cái này do lỗi tôi không kiểm tra chính tả và sửa lại tên biến.
Lưu ý: chỉ dùng một dòng: sConnString=... thôi nhé. Dòng còn lại bạn thêm dấu nháy đơn vào đầu chuỗi để vô hiệu hoá nó.
câul lệnh đúng:
sConnString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & sDBFullPath & ";" & _
"Extended Properties=""Excel 8.0;HDR=Yes"""
Hoặc:
sConnString = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & sDBFullPath & ";" & _
"Extended Properties=""Excel 8.0;HDR=Yes"""
@Ongke0711,
Cám ơn ongke0711 rất nhiều, CT đã chạy được rồi, tuy nhiên cho mình hỏi thêm 01 ít:
- cái Table thì mình có thể đổi tên( như bạn nói) nhưng mình có thể thay đổi số cột được không? thay đổi tên côt được không? vì thực ra từ cái bảng excel đó mình phải cập nhật vào nhiều Table khác nhau, có cấu trúc khác nhau tùy theo cái "ID" để làm CSDL
- khi thay đổi thì mình cần phải sửa code ở đâu trong VBA, hay cần phải làm cái gì.
Rất mong bạn tư vấn cho mình
cám ơn Bạn -
RE: tự động cập nhật kết quả từ bảng excel vào table
ongke0711 > 06-10-20, 01:52 PM
(06-10-20, 12:02 PM)phương Đã viết: - cái Table thì mình có thể đổi tên( như bạn nói) nhưng mình có thể thay đổi số cột được không? thay đổi tên côt được không? vì thực ra từ cái bảng excel đó mình phải cập nhật vào nhiều Table khác nhau, có cấu trúc khác nhau tùy theo cái "ID" để làm CSDL
- khi thay đổi thì mình cần phải sửa code ở đâu trong VBA, hay cần phải làm cái gì.
- Thay đổi được hết nhưng bạn cần phải có kiến thức VBA.
- Bạn xem hình.
-
RE: tự động cập nhật kết quả từ bảng excel vào table
phương > 07-10-20, 10:50 AM
(06-10-20, 01:52 PM)ongke0711 Đã viết:
(06-10-20, 12:02 PM)phương Đã viết: - cái Table thì mình có thể đổi tên( như bạn nói) nhưng mình có thể thay đổi số cột được không? thay đổi tên côt được không? vì thực ra từ cái bảng excel đó mình phải cập nhật vào nhiều Table khác nhau, có cấu trúc khác nhau tùy theo cái "ID" để làm CSDL
- khi thay đổi thì mình cần phải sửa code ở đâu trong VBA, hay cần phải làm cái gì.
- Thay đổi được hết nhưng bạn cần phải có kiến thức VBA.
- Bạn xem hình.
Ongke0711,
về VBA thì xưa đi học được học qua, tuy nhiên không phải chuyên ngành nên hiện tại kiến thức chắc cũng hạn chế, mình có thể đọc lại sách để hiểu sơ sơ.
Một lần nữa mình làm phiền bạn, mình gởi file dữ liệu( table mới, file excel như cũ) mục đích tương đối giống như bài trước:
- tìm cái ID nào trùng với "SZ_ Stranded_ Module_ ID" trong table thì cập nhật như sau
Notice3 = KET_QUA & "," & "OPTL="& CHIEU_DAI &"," &REMARKS
Mình nghĩ bạn chỉ cần sửa vài dòng code là OK, nếu được bạn chú thích vào dòng thêm, sửa để mình dễ hiểu
file dữ liệu: http://www.mediafire.com/file/8eg0fhnc73...e.rar/file
cám ơn Ongke0711 trước nha -
RE: tự động cập nhật kết quả từ bảng excel vào table
ongke0711 > 07-10-20, 03:13 PM
Chú ý tên Field (cột): "SZ_ Stranded_ Module_ ID" có khoảng trắng nên phải đưa nó vào dấu ngoặc vuông [SZ_ Stranded_ Module_ ID] thì Access mới hiểu.
Bạn xem file đính kèm.
Link: https://drive.google.com/file/d/1YsPLmggUKWgCcaAumy0TvarwwoPuUxMf/view?usp=sharing -
RE: tự động cập nhật kết quả từ bảng excel vào table
phương > 07-10-20, 03:51 PM
(07-10-20, 03:13 PM)ongke0711 Đã viết: Chú ý tên Field (cột): "SZ_ Stranded_ Module_ ID" có khoảng trắng nên phải đưa nó vào dấu ngoặc vuông [SZ_ Stranded_ Module_ ID] thì Access mới hiểu.
OK rồi ongke0711,
Bạn xem file đính kèm.
Link: https://drive.google.com/file/d/1YsPLmggUKWgCcaAumy0TvarwwoPuUxMf/view?usp=sharing
làm 01 phát được liền
không biết phải cám ơn bạn như thế nào, bạn giúp cho mình đơn giản công việc hơn rất nhiều
mình tính cài lại cái WIN lên 2010, cái CT access 2003 đang dùng chắc cũng phải viết lại phải không bạn? có cách nào đơn giản?
một lẫn nữa cám ơn ongke0711 -
RE: tự động cập nhật kết quả từ bảng excel vào table
ongke0711 > 07-10-20, 03:59 PM
-
RE: tự động cập nhật kết quả từ bảng excel vào table
phương > 07-10-20, 04:09 PM
(07-10-20, 03:59 PM)ongke0711 Đã viết:
vậy hả bạn(07-10-20, 03:51 PM)phương Đã viết: mình tính cài lại cái WIN lên 2010, cái CT access 2003 đang dùng chắc cũng phải viết lại phải không bạn? có cách nào đơn giản?
- Bạn nên cài Access 2013 trở lên. Access 2010 còn nhiều lỗi lắm.
- Cái file Access trên không cần viết lại.
để khi nào cài lai win, có gì trục trạc nhờ ongke0711 tư vấn dùm
chao bạn -
RE: tự động cập nhật kết quả từ bảng excel vào table
phương > 08-10-20, 02:45 PM
(07-10-20, 03:51 PM)phương Đã viết: [quote="ongke0711" pid='47833' dateline='1602054801']
ongke0711 ơi,
Chú ý tên Field (cột): "SZ_ Stranded_ Module_ ID" có khoảng trắng nên phải đưa nó vào dấu ngoặc vuông [SZ_ Stranded_ Module_ ID] thì Access mới hiểu.
Bạn xem file đính kèm.
Link: https://drive.google.com/file/d/1YsPLmggUKWgCcaAumy0TvarwwoPuUxMf/view?usp=sharing
khi mình đưa cái table thưc tế mà mình đang sử dụng để làm CSDL vào file Access để cập nhật hằng ngày ( mấy ngàn records, từ nhiều năm) thì khi chạy nó báo lỗi, thực tế mình chỉ cần nó loop khoảng 20-30 records đầu tiên hoặc trong khoảng thời gian 1-2 tuần là ok rồi.
Bạn có thể giúp mình không?
thanks you bạn trước -
RE: tự động cập nhật kết quả từ bảng excel vào table
ongke0711 > 08-10-20, 03:22 PM
(08-10-20, 02:45 PM)phương Đã viết: khi mình đưa cái table thưc tế mà mình đang sử dụng để làm CSDL vào file Access để cập nhật hằng ngày ( mấy ngàn records, từ nhiều năm) thì khi chạy nó báo lỗi, thực tế mình chỉ cần nó loop khoảng 20-30 records đầu tiên hoặc trong khoảng thời gian 1-2 tuần là ok rồi.
Làm gì mà cập nhật hàng loạt cho nhiều năm dữ vậy.
Nó báo lỗi gì? tràn bộ nhớ à?
Cái ứng dụng này viết theo dữ liệu bạn đưa ra và thực chất dữ liệu (Table) nó cũng không phản ánh đúng thực tế nên tôi cũng không có lọc dữ liệu để giảm bớt số dòng trong vòng lặp.
Nếu qui trình cập nhật hàng tuần, tháng thì chỉ cần lọc dữ liệu phát sinh trong Tuần, tháng để xử lý, khi đó sẽ giảm tải cho code hoạt động.