- Tham gia
- 18/3/08
- Bài viết
- 8,306
- Được thích
- 15,849
- Giới tính
- Nam
- Nghề nghiệp
- Làm ruộng.
Làm sao ta có thể dùng 1 điều kiện duy nhất mà có thể lấy ra dữ liệu với họ bắt đầu lần lượt 3 ký tự (N,L,T). Kết quả như hình bên dưới.
View attachment 101583
Hix anh khen làm em thấy "xấu hổ" quá .Đúng thế bạn, bạn cũng là cao thủ rồi.
^^ câu trả lời của bạn hoàn toàn giống ý kiến của mình định đưa ra ,<------- Không biết a Hai Lúa có bổ sung góp ý gì cho bọn em không ?- Dhn46 cũng chỉ dám "ngắm" ADO chứ chưa bước chân vào, nhưng thấy ADO hay quá nên Dhn46 cũng tìm hiểu và xin trả lời câu hỏi của bạn hungpecc1 như sau:
- Với IMEX=1: ADO sẽ kiểm tra 1 số dòng dữ liệu đầu để kiểm tra Data Type cho việc chọn lựa Type để truy vấn (1 số dòng cụ thể ở đây là 8 http://support.microsoft.com/kb/194124/EN-US)
=> Với dữ liệu trong File thì 23 dòng dữ liệu đầu là dạng Date còn 6 dòng sau là dạng Text do đó ADO sẽ kiểm tra 8 dòng dữ liệu đầu cho kết quả là dạng date do đó các loại dữ liệu khác không được truy vấn, dẫn tới sai kết quá
Xin hết ạ!
Buồn đọc lại #58 xin các bạn hãy cho biết dùng cách nào ngoại trừ VBA để lấy tên sheet đầu tiên của 1 file nào đó.
Không phải là không có người hưởng ứng anh ah, hix vì câu hỏi của anh vừa khó vừa khoai!Cũng buồn vì không có người hưởng ứng.
Không phải là không có người hưởng ứng anh ah, hix vì câu hỏi của anh vừa khó vừa khoai!
--> nếu mà không dùng VBA ; (tức là không dùng Sub + End sub) thì em cũng chẳng khác gì 2 tay bị trói anh ah --> đành phải pó tay thôi
Bạn hiểu lầm câu hỏi rồi, dùng ADO hay dùng VBA... đều bắt đầu = Sub và kết thúc = End Sub, nhưng không dùng VBA để lấy thôi. Hy vọng sẽ rõ ràng cho bạn và những bạn khác.
Hihi, không biết diễn giải thế nào cho nó rõ ràng nhỉ, thôi thì dựa vào tiêu đề đề tài chắc là rõ rồi.Vậy không dùng VBA nghĩa là dùng công thức à?
Vì dù dùng ADO thì cũng được viết bằng VBA thôi (trừ phi dùng ADO nhưng được viết trên nền của VB6 hay các ngôn ngữ lập trình khác thì lại là chuyện khác)
1. Nói về bài #58 này thì em tìm hiểu thì có trang này nhưng cũng không hiểu lắm, nhưng sao thầy Tuấn đã làm rồi mà vẫn còn thắc mắc nhỉ?Buồn đọc lại #58 xin các bạn hãy cho biết dùng cách nào ngoại trừ VBA để lấy tên sheet đầu tiên của 1 file nào đó.
Theo em thì điều thầy Tuấn thắc mắc là tên sheet đầu tiên ứng với Sheet1 chứ không phải sheet hiện đầu tiên trong sheet tab như code của anh VieHoai. Cái này em tìm Google mãi chưa ra.
1. Nói về bài #58 này thì em tìm hiểu thì có trang này nhưng cũng không hiểu lắm, nhưng sao thầy Tuấn đã làm rồi mà vẫn còn thắc mắc nhỉ?
2. Em không biết và DAO nhưng tiểm hiểu trên mạng và làm được code sau không biết có chuẩn không:
[GPECODE=vb]Sub FsheetName()
Dim xlWB As DAO.Database
Dim strFirstSheetName As String
Set xlWB = OpenDatabase("E:\VBA\LuongTH.xls", False, True, "Excel 8.0;")
strFirstSheetName = xlWB.TableDefs(0).Name
MsgBox strFirstSheetName
xlWB.Close
End Sub
[/GPECODE]
Sub TestDAO()
Dim Dbs As Object, db As Object
Set Dbs = CreateObject("DAO.DBEngine.36")
Set db = Dbs.OpenDatabase("E:\VBA\LuongTH.xls", False, True, "Excel 8.0;")
MsgBox db.TableDefs(0).Name
db.Close
Set Dbs = Nothing: Set db = Nothing
End Sub
Theo em thì điều thầy Tuấn thắc mắc là tên sheet đầu tiên ứng với Sheet1 chứ không phải sheet hiện đầu tiên trong sheet tab như code của anh VieHoai. Cái này em tìm Google mãi chưa ra.
DAO sẽ lấy chính xác vì nó không tự động sắp xếp như bên ADO Thầy à.Ah, không!
Cái tôi cần là Sheet đầu tiên nhìn thấy trên sheet tab
Vấn đề là khi dùng ADO để lấy tên sheet đầu tiên mà sheet đầu có tên là "ZZZ", sheet thứ 2 có tên là "AAA" thì code sẽ xem sheet đầu tiên là sheet "AAA" (thay gì phải là "ZZZ") ---> Giống như nó đã ưu tiên sort tên sheet theo thứ tự ABC vậy