[Hỏi] Kết nối Excel vs Access bằng ADODB - Truy vấn bị lỗi khi tên sheet trong file Excel không được đặt tên (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

subasatran

Thành viên hoạt động
Tham gia
17/3/13
Bài viết
114
Được thích
6
Xin chào A/C/E và mọi người.
Em có sử dụng kết nối ADODB kết nối Excel và Access để import data từ excel vào access để xử lý dữ liệu(code import em lấy từ internet).
Tuy nhiên, khi chạy code import thì bị gặp lỗi như sau :
Nếu tên Sheet của file Excel được đặt tên thì code chạy ổn(ví dụ như tên sheet là Data).
Mã:
    Set rs = CreateObject("ADODB.Recordset")
    FilePath = CurrentProject.Path & "\" & FileName & ".xlsx"
    SQL = "select * from [Data$A1:AA]"
    Strconnect = ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & FilePath _
                & ";Extended Properties=""Excel 12.0 Xml;HDR=Yes;"";")
    rs.Open SQL, Strconnect, 3, 1
Trong trường hợp nếu tên Sheet trong file excel không được đặt tên(có nghĩa là để nguyên mặc định Sheet1).
Thì code import báo lỗi ở câu lệnh SQL.
Mã:
    Set rs = CreateObject("ADODB.Recordset")
    FilePath = CurrentProject.Path & "\" & FileName & ".xlsx"
    SQL = "select * from [Sheet1$A1:AA]"
    Strconnect = ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & FilePath _
                & ";Extended Properties=""Excel 12.0 Xml;HDR=Yes;"";")
    rs.Open SQL, Strconnect, 3, 1
Vậy mọi người cho em hỏi là :
a. nguyên nhân báo lỗi là do đâu vậy ?
b. Làm sao để khi tên sheet của file excel để nguyên mặc dịnh là Sheet1 thì code vẫn chạy được ạ ?do các file excel này được exporrt từ hệ thống và rất nhiều file nên không thể mở từng file để đặt tên sheet được
Rất cám ơn A/C/E và mọi người giúp đỡ
 
Giải pháp
Tôi không muốn nhắc lại nhưng như thế này cũng là xúc phạm

1698293448649.png

Và như thế này là khiêu khích (gằn giọng lần 2)

1698293489908.png
Chưa biết ai nặng hơn ai.
Thấy cái địa chỉ này lạ lạ nghe: Sheet1$A1:AA]"
Sao AA lại không có chỉ số dòng?
 
Upvote 0
Thấy cái địa chỉ này lạ lạ nghe: Sheet1$A1:AA]"
Sao AA lại không có chỉ số dòng?
Cái code import này trước đây mình cũng search trên internet(không nhớ ở trên diễn đàn nào).
Nhưng nếu tên Sheet của file excel đã được đặt thì thì code chạy được và chạy ổn.
Nếu tên sheet để mặc định là Sheet1 thì sẽ báo lỗi
"Run-time error '-2147467259 (80004005)':
External table is not in the expected format"
 
Upvote 0
Thấy cái địa chỉ này lạ lạ nghe: Sheet1$A1:AA]"
Sao AA lại không có chỉ số dòng?
Bạn thử chưa vậy? Không có địa chỉ dòng thì nó sẽ lấy dữ liệu có trong cột đó. Người ta ghi rõ ràng là [Sheet1$A1:AA] mà bạn ghi xuống cũng sai???

@subasatran Những file mà bạn lấy dữ liệu đó có 1 sheet hay nhiều sheet?
 
Upvote 0
Bạn thử chưa vậy? Không có địa chỉ dòng thì nó sẽ lấy dữ liệu có trong cột đó. Người ta ghi rõ ràng là [Sheet1$A1:AA] mà bạn ghi xuống cũng sai???

@subasatran Những file mà bạn lấy dữ liệu đó có 1 sheet hay nhiều sheet?
@LePhatHuy file dữ liệu excel(đuôi .xlsx) chỉ lấy đúng 1 sheet thôi bạn.
File này được generate từ system/người khác nên mình không thay đổi định dạng/kiểu file...
 
Upvote 0
Cám ơn bạn đã chỉ dẫn nhé. Tôi làm rồi.
Theo tôi thì Maika không biết có quyền hỏi.
- Quang_Hải cho rằng hỏi là "không đúng" thì Quang Hải không đúng.
- LePhatHuy cho rằng không biết thì phải thử, cũng không đúng. Ai không biết cũng phải thử cho biết, không nên hỏi, thì GPE làm sao tồn tại?
- Cantl cho rằng có 1 thành viên có tài nhưng có tật là khiêu khích xúc phạm người khác (dù không biết nói ai)

Tôi xóa hết các bài liên quan.
 
Lần chỉnh sửa cuối:
Upvote 0
@subasatran

Trước hết bạn hãy thử như sau:
Tệp được xuất ra từ phần mềm, hãy mở nó với Excel xem có được không và lưu lại. Sử dụng mã với tệp mới xem thành công không. Nếu thành công tức là tệp đó không phải đuôi xlsx. Có thể nó là một tệp HTML. Lúc này thì bạn cần thay đổi Extended Properties: Excel 12.0 Xml thành HTML Import.

Nếu trong Sheet1 của bạn dữ liệu chỉ thuộc vùng A1:AA thì chỉ cần nhập [Sheet1$] là được.

Trong mã chuỗi kết nối Data Source luôn luôn có dấu định nghĩa cú pháp chuỗi:

JavaScript:
    Strconnect = ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" & FilePath _
                & "';Extended Properties=""Excel 12.0 Xml;HDR=Yes;"";")
 
Upvote 0
Như vậy hơi thiên vị rồi, đã vi phạm là phải xử. Thấy nhiều không xử cũng không được vì không xử sẽ tạo tiền đề cho những thành viên khác.
Vi phạm có nhiều mức độ, sinh ra nhiều mức xử lý. Bêu tên lên đây cũng là 1 hình thức "xử lý" rồi.
TB:
Tôi xóa tiếp những bài không liên quan chủ đề.
 
Upvote 0
Tôi không muốn nhắc lại nhưng như thế này cũng là xúc phạm

1698293448649.png

Và như thế này là khiêu khích (gằn giọng lần 2)

1698293489908.png
Chưa biết ai nặng hơn ai.
 
Upvote 0
Giải pháp
Nói người khác là dở hơi thì được coi là nhẹ???. Vậy dở hơi là gì???
Nếu bạn muốn tiếp tục trao đổi về nội quy, vi phạm, và xử lý, thì mở chủ đề khác. Nếu cố chấp tra vấn tại đây là vi phạm lần 2, lần 3, và không còn nhẹ nữa.
 
Upvote 0
Tôi hỏi ở trên là file đó có nhiều sheet hay là 1 sheet duy nhất vậy bạn?
Có nhiều file và mỗi file chỉ có một sheet thôi ạ.
Bài đã được tự động gộp:

Ây,
Sáng giờ em ko vào được diễn đàn và giờ vào lại thì thấy câu chuyện nó di khá xa.
Rất xin lôi mọi người vì em câu hỏi của em gây hiểu lầm với A/C.
Thực ra những người trong post này(toàn account em biết) đều đã giúp đỡ em rất nhiều từ trước đến nay nên mọi người thư giãn nhé.
 
Upvote 0
@subasatran

Trước hết bạn hãy thử như sau:
Tệp được xuất ra từ phần mềm, hãy mở nó với Excel xem có được không và lưu lại. Sử dụng mã với tệp mới xem thành công không. Nếu thành công tức là tệp đó không phải đuôi xlsx. Có thể nó là một tệp HTML. Lúc này thì bạn cần thay đổi Extended Properties: Excel 12.0 Xml thành HTML Import.

Nếu trong Sheet1 của bạn dữ liệu chỉ thuộc vùng A1:AA thì chỉ cần nhập [Sheet1$] là được.

Trong mã chuỗi kết nối Data Source luôn luôn có dấu định nghĩa cú pháp chuỗi:

JavaScript:
    Strconnect = ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" & FilePath _
                & "';Extended Properties=""Excel 12.0 Xml;HDR=Yes;"";")
@ HeSanbi
Cái này có lẽ nó không phải nguyên nhân do kiểu file và loại file.
Vì mình test trên cũng một file dataraw.
1. Nếu tên sheet trong file được đặt tên(giả sử là Data) và câu lệnh SQL = "select * from [Data$A1:AA]" => code chạy ok và import bình thường.
2. Cũng file dataraw đó nếu tên sheet là Sheet1 và câu lệnh SQL = "select * from [Sheet1$A1:AA]" => Code chạy bị lỗi và thông báo lỗi như bên dưới :
"Run-time error '-2147467259 (80004005)':
External table is not in the expected format"
 
Upvote 0
Có nhiều file và mỗi file chỉ có một sheet thôi ạ.
Bài đã được tự động gộp:

Ây,
Sáng giờ em ko vào được diễn đàn và giờ vào lại thì thấy câu chuyện nó di khá xa.
Rất xin lôi mọi người vì em câu hỏi của em gây hiểu lầm với A/C.
Thực ra những người trong post này(toàn account em biết) đều đã giúp đỡ em rất nhiều từ trước đến nay nên mọi người thư giãn nhé.
Bạn hãy thử với câu lệnh sau nhé:

SQL:
select * from [A1:AA]
 
Upvote 0
Cái code import này trước đây mình cũng search trên internet(không nhớ ở trên diễn đàn nào).
Nhưng nếu tên Sheet của file excel đã được đặt thì thì code chạy được và chạy ổn.
Nếu tên sheet để mặc định là Sheet1 thì sẽ báo lỗi
"Run-time error '-2147467259 (80004005)':
External table is not in the expected format"
Trên máy tôi dù có đặt tên khác cho Sheet1 hay để nguyên thì vẫn chạy bình thường.

Chắc ăn hơn là bạn hãy gửi cái file Excel dữ liệu đó lên đây (Chỉ để vài dòng dữ liệu thôi)
 
Upvote 0
Trên máy tôi dù có đặt tên khác cho Sheet1 hay để nguyên thì vẫn chạy bình thường.

Chắc ăn hơn là bạn hãy gửi cái file Excel dữ liệu đó lên đây (Chỉ để vài dòng dữ liệu thôi)
Cám ơn @Maika8008
Để mình gởi file mẫu nhờ mọi người xem giúp nguyên nhân
Trong link để 2 file excel (1 rawdata từ hệ thống với tên Sheet1 và 1 file đã đổi tên sheet là Data) + 1 file access để import data.
Rất cám ơn mọi người.
Link file
Bài đã được tự động gộp:

Bạn hãy thử với câu lệnh sau nhé:

SQL:
select * from [A1:AA]
Cám ơn @LePhatHuy.
Để mình thử các này và phản hồi lại liền.
Thanks.
 
Upvote 0
Cám ơn @Maika8008
Để mình gởi file mẫu nhờ mọi người xem giúp nguyên nhân
Trong link để 2 file excel (1 rawdata từ hệ thống với tên Sheet1 và 1 file đã đổi tên sheet là Data) + 1 file access để import data.
Rất cám ơn mọi người.
Link file
Dùng file test.xlsm bị báo lỗi bảng dữ liệu của sheet1 đó không đúng định dạng. Khi mở file lên, cho phép chỉnh sửa, rồi bấm Save - đóng lại thì không báo lỗi nữa.
1698373450910.png

Điều này thì bài #8 đã có nói tới rồi nhưng bạn không thử làm theo.
 
Upvote 0
Lâu quá tôi không dùng Access, nhưng trước kia tôi import table from Excel file (dữ liệu chuẩn và chỉ 1 sheet), only connection hoặc new table đều được và đơn giản. Đâu cần macro với SQL, connection, và recordset.
 
Upvote 0
Dùng file test.xlsm bị báo lỗi bảng dữ liệu của sheet1 đó không đúng định dạng. Khi mở file lên, cho phép chỉnh sửa, rồi bấm Save - đóng lại thì không báo lỗi nữa.
View attachment 296117

Điều này thì bài #8 đã có nói tới rồi nhưng bạn không thử làm theo.
Sao mà trong máy cả 2 nó thể hiện là Microsoft Excel Worksheet(.xlsx) nhỉ ?
Như Maika8008 thì file Test đuôi .xlsm
1698376605656.png
Vậy để sửa lại thì phải chỉnh như #8 mà bạ HeSanbi hướng dẫn ở trên để test lại.
Cám ơn rất nhiều.
 
Upvote 0
Sao mà trong máy cả 2 nó thể hiện là Microsoft Excel Worksheet(.xlsx) nhỉ ?
Như Maika8008 thì file Test đuôi .xlsm
View attachment 296120
Vậy để sửa lại thì phải chỉnh như #8 mà bạ HeSanbi hướng dẫn ở trên để test lại.
Cám ơn rất nhiều.
Vấn đề ở chỗ khi file raw Test.xlsx đó khi xuất ra nó chưa phải là dạng Excel 12.0 xml (còn dạng gì thì tôi không biết). Chỉ khi mở lên, lưu lại thì nó mới đúng dạng. Báo lỗi là ở chỗ này chứ không phải ở chỗ cái tên Sheet1 kia.

Khi bạn đổi tên Sheet1 thành Data thì khi thực hiện thao tác lưu file chính là bạn đã vô tình làm cho file đó trở thành đúng định dạng.
 
Upvote 0
Mắc mệt nhỉ.
Rõ ràng mình thấy có 1 bài (ở đoạn bài 5-10) nhắc gửi cái phai lỗi lầm lên thế mà bị mất tiêu.

Pho mát pho phiếc gì đâu. Cái phai xuất ra bị bung bét, có dùng được đâu.
Còn cái đuôi là gì không quan trọng, bởi cái đuôi đó dùng tay thay đổi được. Muốn xem cái phai là loại tập tin gì thì phải xem mấy cái bai đầu tiên đấy.

Phai xuất ra bị hỏng rồi thì thánh ích mờ lờ hay hát tờ mờ lờ thì cũng cuốn chiếu.

1698380021601.png

1698380121200.png

1698380363274.png
 
Upvote 0
@subasatran
Tệp test.xlsx có chứa tệp Sheet1.xml nhưng không tồn tại tên Table Sheet1, Tệp này ADODB không thể đọc hiểu.
Để đọc được tệp bạn chỉ có thể mở với Excel hoặc bung tập tin, vào tệp Sheet1.xml để lấy dữ liệu.

Bạn phải yêu cầu bên phần mềm kia xuất đúng chuẩn xlsx
 
Upvote 0
Lâu quá tôi không dùng Access, nhưng trước kia tôi import table from Excel file (dữ liệu chuẩn và chỉ 1 sheet), only connection hoặc new table đều được và đơn giản. Đâu cần macro với SQL, connection, và recordset.
Đúng rồi bác. Nếu không cần xử lý gì cái bảng Excel trước khi import vào table Access thì chỉ cần dùng lệnh có của Access là được rồi.
JavaScript:
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12Xml, "TenTableABC", "\duong dan toi file\Test.xls", True
Thường thì phải xử lý, lọc lựa dữ liệu gì đó thì mới thông qua ADO recordset để tiền xử lý trước.
 
Upvote 0
Thường thì phải xử lý, lọc lựa dữ liệu gì đó thì mới thông qua ADO recordset để tiền xử lý trước.
Đúng như vậy, nhưng nếu tiền xử lý không phức tạp thì tôi lại dùng query, không quá lạm dụng code vì query là thế mạnh của access. Tất nhiên với điều kiện là dữ liệu gốc tương đối chuẩn thì "tiền xử lý" mới đơn giản được.
 
Upvote 0
Đúng như vậy, nhưng nếu tiền xử lý không phức tạp thì tôi lại dùng query, không quá lạm dụng code vì query là thế mạnh của access. Tất nhiên với điều kiện là dữ liệu gốc tương đối chuẩn thì "tiền xử lý" mới đơn giản được.
Cám ơn các A/C @ptm0412, @ongke0711 @HeSanbi , @befaint.
Do gà mờ về VBA nên cũng chưa hình dung được nội nguồn cấu trúc file hoặc định dạng file nó ảnh hưởng như thế nào đến việc import ?
Về cơ bản, các file rawdata này em nhận được từ system khác nên mặc nhiên không thể kiểm soát/ thay đổi được.
Nếu mà có giải pháp trực tiếp từ các file rawdata thì tốt quá.
Nếu không thì để em test và thực hiện từ "tiền xử lý" với các hướng dẫn như @ongke0711 hướng dẫn thử xem thế nào.
 
Upvote 0
Về cơ bản, các file rawdata này em nhận được từ system khác nên mặc nhiên không thể kiểm soát/ thay đổi được.

Về siêu siêu tối tối cơ bản là xuất phai ra phải chuẩn chỉ. Hiện tại đang sai bét tè nhè.
Bạn gửi bài phân tích ở trên cho "bên kia", để họ biết mà sửa. Nhanh trí thì cắm mặt vào mà sửa luôn và ngay, chứ để "ai đó" phát hiện ra lỗi đó thì bị chửi cho thối đầu luôn.
 
Upvote 0
Nếu không thì để em test và thực hiện từ "tiền xử lý" với các hướng dẫn như @ongke0711 hướng dẫn thử xem thế nào.
Như @befaint đã đề cập ở trên, nếu file gốc lỗi thì cái lệnh đơn giản trên cũng không chạy được nhé.
Còn không được nữa thì kiếm code convert hàng loạt file Excel sang CSV xem thử.
 
Upvote 0
Thân chào các A/C và các bạn, Tiếp nối chủ đề này,
Em có thêm một điều nhờ các A/C và các bạn hướng dẫn thêm.
Giả sử với code import từ excel vào access mà em đang làm(file đính kèm).
Giờ em muốn khi import vào access thì mình add thêm vào table trong Access một column để ghi nhận lại số thứ tự của dữ liệ đã import vào.Ví dụ:Dữ liệu từ excel có 10 record, được ghi theo thứ tự dòng 1, dòng 2, dòng 3, dòng 4.... theo thứ tự từ trên xuống dướithì khi import vào access sẽ add thêm một field để ghi nhận thứ tự dòng 1 là 1, dòng 2 là 2, dòng 3 là 3....
Vậy,Điều này có thể thực hiện được không và nếu được các A/C và các bạn có thể hướng dẫn mình với ạ.
Untitled1.pngUntitled.png
 

File đính kèm

Upvote 0
Thân chào các A/C và các bạn, Tiếp nối chủ đề này,
Em có thêm một điều nhờ các A/C và các bạn hướng dẫn thêm.
Giả sử với code import từ excel vào access mà em đang làm(file đính kèm).
Giờ em muốn khi import vào access thì mình add thêm vào table trong Access một column để ghi nhận lại số thứ tự của dữ liệ đã import vào.Ví dụ:Dữ liệu từ excel có 10 record, được ghi theo thứ tự dòng 1, dòng 2, dòng 3, dòng 4.... theo thứ tự từ trên xuống dướithì khi import vào access sẽ add thêm một field để ghi nhận thứ tự dòng 1 là 1, dòng 2 là 2, dòng 3 là 3....
Vậy,Điều này có thể thực hiện được không và nếu được các A/C và các bạn có thể hướng dẫn mình với ạ.
Đối với CSDL, cột để đánh số thứ tự không có ý nghĩa gì cả ngoại trừ nó được dùng làm mã định danh ( Primary key) tự động. Theo như bạn mô tả thì nó không phải mã định danh, vậy mục đích cột này dùng để làm gì, có cần thiết hay không để khỏi tốn code, mất thời gian chạy hoặc có thể có giải pháp khác cho nhu cần của bạn.
 
Upvote 0
Đối với CSDL, cột để đánh số thứ tự không có ý nghĩa gì cả ngoại trừ nó được dùng làm mã định danh ( Primary key) tự động. Theo như bạn mô tả thì nó không phải mã định danh, vậy mục đích cột này dùng để làm gì, có cần thiết hay không để khỏi tốn code, mất thời gian chạy hoặc có thể có giải pháp khác cho nhu cần của bạn.
Hi anh @ongke0711 .
Chia sẻ với anh là dữ liệu em import vào access của các file raw excel em cần select dòng đầu tiên của file excel. Các file excel được sắp xếp theo ngày nhưng có những record cùng ngày với nhau và khi export ra excel không có thời gian. Bình thường khi làm trên excel em sẽ lấy dòng đầu tiên(system extract đã sort, dòng đầu tiên là dòng sau cùng) khi import vào access thì em ko lấy được dòng này nữa. Nên mục đích em add thêm field trong access để có thể lọc được dòng có giao dịch sau cùng này.
Anh tư vấn cho em hoặc có giải pháp nào tinh gọn hơn ko ạ.
Cám ơn anh nhiều
 
Upvote 0
Hi anh @ongke0711 .
Chia sẻ với anh là dữ liệu em import vào access của các file raw excel em cần select dòng đầu tiên của file excel. Các file excel được sắp xếp theo ngày nhưng có những record cùng ngày với nhau và khi export ra excel không có thời gian. Bình thường khi làm trên excel em sẽ lấy dòng đầu tiên(system extract đã sort, dòng đầu tiên là dòng sau cùng) khi import vào access thì em ko lấy được dòng này nữa. Nên mục đích em add thêm field trong access để có thể lọc được dòng có giao dịch sau cùng này.
Anh tư vấn cho em hoặc có giải pháp nào tinh gọn hơn ko ạ.
Cám ơn anh nhiều
File Excel để import của bạn thiết kế như thế nào mà khi import nó mất cột ngày? Bạn chụp cái hình cũng được.
Không xử lý từ dữ liệu Exxel trước khi import à?
 
Upvote 0
Hi anh @ongke0711.
- Về số lượng file excel import vào access của em khá là nhiều nên bước đầu data này em không có xử lý trước khi import.
- Ý em là không phải import mất cột ngày(việc import của em là đã thành công) mà là nhu cầu của em cần lấy dòng giao dịch sau cùng của một ngày có giao dịch. Em có ví dụ trong hình ảnh đính kèm.
Nhờ anh xem thử nhé. Cám ơn anh.
1699674788197.png
 
Upvote 0
Hi anh @ongke0711.
- Về số lượng file excel import vào access của em khá là nhiều nên bước đầu data này em không có xử lý trước khi import.
- Ý em là không phải import mất cột ngày(việc import của em là đã thành công) mà là nhu cầu của em cần lấy dòng giao dịch sau cùng của một ngày có giao dịch. Em có ví dụ trong hình ảnh đính kèm.
Nhờ anh xem thử nhé. Cám ơn anh.
View attachment 296621
Bản thân file Excel cũng không có bất cứ dữ liệu gì để phân biệt, sắp xếp luôn hả bạn? Chỉ "nhìn" theo sắp xếp hiện thời của file mà bốc ra dòng đầu tiên thì độ chính xác là không đảm bảo rồi.
 
Upvote 0
Bản thân file Excel cũng không có bất cứ dữ liệu gì để phân biệt, sắp xếp luôn hả bạn? Chỉ "nhìn" theo sắp xếp hiện thời của file mà bốc ra dòng đầu tiên thì độ chính xác là không đảm bảo rồi.
Đúng rồi anh.
Bản thân file excel cũng sử dụng công nghệ AI(eye) phiên bản cá biệt.
Biết là độ chính xác không đảm bảo rồi nhưng tạm thời vẫn đang chạy theo business nên vẫn sử dụng như vậy ?
Và các file này từ partner nên cũng không đòi hỏi được luôn.
 
Upvote 0
Code thêm cột số thứ tự thì không khó. Tôi hỏi nhiều để biết chắc là không còn giải pháp nào khác, mức độ tin tưởng của giải pháp này.
Để tối rảnh tôi mới kiểm tra xem khi đọc vào ADO recordset nó có giữ nguyên thứ tự của file Excel không? Tôi chưa gặp trường hợp này.
 
Upvote 0
Hi anh @ongke0711.
- Về số lượng file excel import vào access của em khá là nhiều nên bước đầu data này em không có xử lý trước khi import.
- Ý em là không phải import mất cột ngày(việc import của em là đã thành công) mà là nhu cầu của em cần lấy dòng giao dịch sau cùng của một ngày có giao dịch. Em có ví dụ trong hình ảnh đính kèm.
Nhờ anh xem thử nhé. Cám ơn anh.
View attachment 296621

Bạn xem file đính kèm bên dưới. Chú ý chuỗi kết nối phần HDR = No.
 

File đính kèm

Upvote 0
Bạn xem file đính kèm bên dưới. Chú ý chuỗi kết nối phần HDR = No.
Hi anh.
Em lấy file về test thử không hiểu sao bấm vào buton Get Rawdata thì ko ko chạy và nó cũng ko thông báo gì hết trơn.
Table chứa không được import dữ liệu.
Anh xem thử khi anh điều chỉnh code bên anh nó có chạy được không vậy ạ.
Cám ơn anh rất nhiều.
1699721075800.png
 
Upvote 0
Hi anh.
Em lấy file về test thử không hiểu sao bấm vào buton Get Rawdata thì ko ko chạy và nó cũng ko thông báo gì hết trơn.
Table chứa không được import dữ liệu.
Anh xem thử khi anh điều chỉnh code bên anh nó có chạy được không vậy ạ.
Cám ơn anh rất nhiều.
View attachment 296639
Chạy ra kết quả bình thường mà bạn. Chạy Debug code xem có báo lỗi thư viện gì không rồi thêm vào.

Screen Shot 2023-11-12 at 00.02.08.png
 
Lần chỉnh sửa cuối:
Upvote 0
Mình debug code làm sao để biết được mã lỗi anh nhỉ.
Khi bấm vào button thì nó không có hoạt động hoặc hiện tượng gì
- Trong màn hình VBE, chọn Debug - Compliled xem nó có báo gì không.
- Xem lại nút lệnh có gán code chưa. Nhiều khi copy qua lại nó bị mất.
- Có unzip file ra để chạy chưa.
 
Upvote 0
- Trong màn hình VBE, chọn Debug - Compliled xem nó có báo gì không.
- Xem lại nút lệnh có gán code chưa. Nhiều khi copy qua lại nó bị mất.
- Có unzip file ra để chạy chưa.
Em lấy file của anh unzip để chạy luôn.
Nút lệnh vẫn gán code của Sub.
Khi em debug thì nó báo lỗi này(báo ngày chỗ Date).
Không biết bị thiếu thư viên gì ?
Mục đích em sử dụng Date này để input thời gian để xử lý dữ liệu.
1699767436570.png
 

File đính kèm

  • 1699767427315.png
    1699767427315.png
    92.4 KB · Đọc: 1
Lần chỉnh sửa cuối:
Upvote 0
Em lấy file của anh unzip để chạy luôn.
Nút lệnh vẫn gán code của Sub.
Khi em debug thì nó báo lỗi này(báo ngày chỗ Date).
Không biết bị thiếu thư viên gì ?
Mục đích em sử dụng Date này để input thời gian để xử lý dữ liệu.
View attachment 296650
Cái lỗi này đơn giản quá mà bạn. Nó báo không tìm thấy thư viện thì vô Tool - Reference xem dòng nào báo "Missing..." thì tìm thư viện tương tự. Lỗi cái hàm Date là do thư viện Microsoft Object xx library.
 
Upvote 0
Cái lỗi này đơn giản quá mà bạn. Nó báo không tìm thấy thư viện thì vô Tool - Reference xem dòng nào báo "Missing..." thì tìm thư viện tương tự. Lỗi cái hàm Date là do thư viện Microsoft Object xx library.
Sao bên máy em khi vào Tool/Reference nó không báo dòng "missing..." nhỉ.
Nó chỉ hiện ra như hình 1 bên dưới à.
Capture12.PNG
Sau một hồi click chọn một vài thư viện thì nó phát sinh thêm lỗi như bên dưới :)
Không biết cái DAO bị gì luôn
Capture11.PNG
 
Upvote 0
Sao bên máy em khi vào Tool/Reference nó không báo dòng "missing..." nhỉ.
Nó chỉ hiện ra như hình 1 bên dưới à.

Sau một hồi click chọn một vài thư viện thì nó phá sinh thêm lỗi như bên dưới :)
Không biết cái DAO bị gì luôn
Bạn kiếm tiếp cái thư viện DAO chọn thêm vào.
 
Upvote 0
Bạn kiếm tiếp cái thư viện DAO chọn thêm vào.
Khi chọn vào thư viện Microsolf DAO 3.6 Object Library và bấm OK thì bị báo lỗi như thế này
Capture_DAO 3.6.PNGKhi chọn vào thư viện Microsolf ADO Ext. 6.0 for DLL and Security và bấm OK thì bị báo lỗi như thế này
CaptureADO.PNG

Anh có thể cho em xin các thư viện của access bên anh đang được tick mà nó chạy được code này không ?
Thay đổi có vài dòng code mà nó phát sinh phức tạp hơn nhiều ghê.
 
Upvote 0
Khi chọn vào thư viện Microsolf DAO 3.6 Object Library và bấm OK thì bị báo lỗi như thế này
Khi chọn vào thư viện Microsolf ADO Ext. 6.0 for DLL and Security và bấm OK thì bị báo lỗi như thế này


Anh có thể cho em xin các thư viện của access bên anh đang được tick mà nó chạy được code này không ?
Thay đổi có vài dòng code mà nó phát sinh phức tạp hơn nhiều ghê.

Bạn xem hình. Tôi chỉ dùng 2 cái thư viện gốc.

Screen Shot 2023-11-13 at 13.02.22.png
 
Upvote 0

Bài viết mới nhất

Back
Top Bottom