Lỗi lệnh Order by trong ADO

Liên hệ QC

MinhKhai

Giải pháp Ếc-xào
Tham gia
16/4/08
Bài viết
934
Được thích
568
Chào các anh chị
Em có file như đính kèm, có mấy đề sau cần giúp đỡ

1. Trong code dùng ADO để lọc dữ liệu từ sheet Data, em có cài chữ ORDER BY cuối câu lệnh Query mà không thấy code chạy. Khi bỏ ORDER BY thì code chạy tốt. Cho hỏi em vướng vào lỗi gì vậy, cách xử lý thế nào ạ ?
2. Kết quả lọc có 1 số bản ghi bị chuyển sang dạng số mũ (sheet Loc, ô G120:G129). Em sử dụng Query như thế nào để chuyển những trường hợp như trên để hiện thị đầy đủ (dạng Text, Chuỗi).
3. Tại ô N8 của sheet Loc, có cái list giống Validation mà không sao xóa được. Cho em hỏi nó là cái gì và sao lại xuất hiện. (file của em mà em không rõ mình đã làm gì tạo ra nó)

Em xin cảm ơn !
 

File đính kèm

  • BC.xlsb
    100.9 KB · Đọc: 14
Chào các anh chị
Em có file như đính kèm, có mấy đề sau cần giúp đỡ

1. Trong code dùng ADO để lọc dữ liệu từ sheet Data, em có cài chữ ORDER BY cuối câu lệnh Query mà không thấy code chạy. Khi bỏ ORDER BY thì code chạy tốt. Cho hỏi em vướng vào lỗi gì vậy, cách xử lý thế nào ạ ?
2. Kết quả lọc có 1 số bản ghi bị chuyển sang dạng số mũ (sheet Loc, ô G120:G129). Em sử dụng Query như thế nào để chuyển những trường hợp như trên để hiện thị đầy đủ (dạng Text, Chuỗi).
3. Tại ô N8 của sheet Loc, có cái list giống Validation mà không sao xóa được. Cho em hỏi nó là cái gì và sao lại xuất hiện. (file của em mà em không rõ mình đã làm gì tạo ra nó)

Em xin cảm ơn !
1. Do có những dòng trống, dòng trống nó sắp xếp lên đầu, vùng lọc không đến vùng có dữ liệu. Bạn đưa điều kiện bỏ dòng trống nhé.

Mã:
 MyQuery = "SELECT HANG, SHCB, format(NGAY_VE,'dd/mm/yyyy'), MAWB_NO, HAWB, SO_KIEN, TRONG_LUONG FROM [Data$] where  MAWB_NO is not null order by MAWB_NO asc"
 
Ôi, em sơ ý quá. Em update lại file rồi nhé
Bài đã được tự động gộp:

1. Do có những dòng trống, dòng trống nó sắp xếp lên đầu, vùng lọc không đến vùng có dữ liệu. Bạn đưa điều kiện bỏ dòng trống nhé.

Mã:
 MyQuery = "SELECT HANG, SHCB, format(NGAY_VE,'dd/mm/yyyy'), MAWB_NO, HAWB, SO_KIEN, TRONG_LUONG FROM [Data$] where  MAWB_NO is not null order by MAWB_NO asc"
Code đã chạy như ý phần sắp xếp. Cảm ơn anh nhé
Anh có hướng dẫn gì cho 2 phần còn lại không anh ?
 
Ôi, em sơ ý quá. Em update lại file rồi nhé
Bài đã được tự động gộp:


Code đã chạy như ý phần sắp xếp. Cảm ơn anh nhé
Anh có hướng dẫn gì cho 2 phần còn lại không anh ?
Trường hợp 2 bạn có thể định dạng nó lại bằng cách sau:
Mã:
MyQuery = "SELECT HANG, SHCB, format(NGAY_VE,'dd/mm/yyyy'), MAWB_NO, format(HAWB,'0'), SO_KIEN, TRONG_LUONG FROM [Data$] where  MAWB_NO is not null order by MAWB_NO asc"
Còn trường hợp 3 tôi không thấy có validation
 
Trường hợp 2 bạn có thể định dạng nó lại bằng cách sau:
Mã:
MyQuery = "SELECT HANG, SHCB, format(NGAY_VE,'dd/mm/yyyy'), MAWB_NO, format(HAWB,'0'), SO_KIEN, TRONG_LUONG FROM [Data$] where  MAWB_NO is not null order by MAWB_NO asc"
Cách dùng hàm Format như anh gợi ý, em đã thử rồi, dữ liệu không chính xác. Em cũng thử dùng hàm Cast hay CStr đều không thành công
Như em file em đính kèm, dùng theo cách cho thêm dấu ' vào dữ liệu nguồn tại sheet Data rồi mới thực hiện Query thì kết quả mới như mong muốn.
 
Cách dùng hàm Format như anh gợi ý, em đã thử rồi, dữ liệu không chính xác. Em cũng thử dùng hàm Cast hay CStr đều không thành công
Như em file em đính kèm, dùng theo cách cho thêm dấu ' vào dữ liệu nguồn tại sheet Data rồi mới thực hiện Query thì kết quả mới như mong muốn.
Tôi đã thử format với hàm trên nó sẽ ra kết quả được đấy.
 
Câu hỏi 3: có đến 4 cái Drop Down chứ không phải 1, và không biết loại control nào (chứ không phải validation)
Để xem mặt mũi nó thì chạy code sau, muốn xoá thì gỡ comment câu lệnh cuối
Rich (BB code):
Sub repairShape()
Dim i As Long
For i = 6 To 3 Step -1
    ActiveSheet.Shapes(i).Visible = True
    ActiveSheet.Shapes(i).Top = Cells(i * 2, 8).Top
    ActiveSheet.Shapes(i).Left = 800
    'ActiveSheet.Shapes(i).Delete
Next
 
Thử chơi Power Query đi anh @MinhKhai

Em có tạo Sheet PQ, click phải chuột trong vùng có dữ liệu => refresh là xong
 

File đính kèm

  • BC.xlsb
    112.4 KB · Đọc: 7

File đính kèm

  • PowerQuery.xlsb
    112.2 KB · Đọc: 11
Lần chỉnh sửa cuối:
Câu hỏi 3: có đến 4 cái Drop Down chứ không phải 1, và không biết loại control nào (chứ không phải validation)
Để xem mặt mũi nó thì chạy code sau, muốn xoá thì gỡ comment câu lệnh cuối
Rich (BB code):
Sub repairShape()
Dim i As Long
For i = 6 To 3 Step -1
    ActiveSheet.Shapes(i).Visible = True
    ActiveSheet.Shapes(i).Top = Cells(i * 2, 8).Top
    ActiveSheet.Shapes(i).Left = 800
    'ActiveSheet.Shapes(i).Delete
Next
Ta có thể xóa mà không phải dùng code mà phải hôn Sư Phụ?
 
Đã tìm cách nhưng chưa xoá được, vì không phải các controls thường gặp
Em có cách xóa, nhưng nó hơi củ chuối chút. Tạm thời làm như sau đến khi tìm ra cách khác.
- Chọn cell chứa control đó.
- Nhấn Ctrl+X.
- Tạo sheet mới, hoặc qua sheet khác, nhấn Ctrl+V
- Trở lại sheet chứa control đó, control đó sẽ được chọn.
- Nhấn Delete là xong.
 
Em có cách xóa, nhưng nó hơi củ chuối chút. Tạm thời làm như sau đến khi tìm ra cách khác.
- Chọn cell chứa control đó.
- Nhấn Ctrl+X.
- Tạo sheet mới, hoặc qua sheet khác, nhấn Ctrl+V
- Trở lại sheet chứa control đó, control đó sẽ được chọn.
- Nhấn Delete là xong.
Lạ quá nhỉ? Lúc đó cả 4 cái drop down đều được chọn và xoá 1 phát 4 em.
 
Em có cách xóa, nhưng nó hơi củ chuối chút. Tạm thời làm như sau đến khi tìm ra cách khác.
- Chọn cell chứa control đó.
- Nhấn Ctrl+X.
- Tạo sheet mới, hoặc qua sheet khác, nhấn Ctrl+V
- Trở lại sheet chứa control đó, control đó sẽ được chọn.
- Nhấn Delete là xong.
Đúng là cách củ chuối thật, nhưng mà hiệu nghiệm :p
Bài đã được tự động gộp:

Tôi đã thử format với hàm trên nó sẽ ra kết quả được đấy.
1602753329603.png

Em gửi anh kết quả em đã kiểm tra.
Khi dùng format(HAWB,'0') kết quả truy vấn có các số cuối cùng đều là 0. Tuy nhiên dữ liệu nguồn không phải vậy
Bài đã được tự động gộp:

Attach file lên xem sao anh.

Anh thử lại File này xem sao (e bỏ thử mấy bước thừa)? như file trên máy e chạy Phè phè, đảm bảo cái món này mà vài triệu dòng ăn đứt ADO
Anh đã test và vẫn gặp lỗi như anh chụp ở #10
Không hiểu do đâu nhỉ ?
 
Lần chỉnh sửa cuối:
Đúng là cách củ chuối thật, nhưng mà hiệu nghiệm :p
Bài đã được tự động gộp:


View attachment 247489

Em gửi anh kết quả em đã kiểm tra.
Khi dùng format(HAWB,'0') kết quả truy vấn có các số cuối cùng đều là 0. Tuy nhiên dữ liệu nguồn không phải vậy
Bài đã được tự động gộp:


Anh đã test và vẫn gặp lỗi như anh chụp ở #10
Không hiểu do đâu nhỉ ?
Huhu. Hay nó bắt ae mình phải gặp nhau mới được nhỉ. Haizaa..
 
Web KT
Back
Top Bottom