Khai thác và tùy biến thêm, sửa, xuất file và lấy dữ liệu từ Recordset

Liên hệ QC
Chủ đề đang hay, anh Hai Lúa tiếp tục đi anh.
 
Ví dụ ta định dạng dữ liệu, nối cột, thực hiện phép tính khi đưa xuống sheet như sau:

Rich (BB code):
Sub Page_HLMT_4()
    Dim intPage As Integer, i As Integer, intSq As Integer, intRecord As Integer
    Dim lngTotal As Long
    With CreateObject("ADODB.Recordset")
        .Open "Select * from [Sheet1$]", "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0 Xml;Data Source=" & ThisWorkbook.FullName, 1
        .PageSize = 20
        Sheet2.Cells.ClearContents
        For intPage = 1 To .PageCount
            lngTotal = 0
            For intRecord = 1 To .PageSize
                i = i + 1
                intSq = intSq + 1
                Sheet2.Range("A" & i) = intSq
                Sheet2.Range("B" & i) = !ID & " >> " & !Code
                Sheet2.Range("C" & i) = !Code
                Sheet2.Range("D" & i) = Format(!Price, "0,#")
                lngTotal = lngTotal + !Price
                .MoveNext
                If .EOF Then Exit For
            Next
            i = i + 1
            Sheet2.Range("C" & i) = "Total:"
            Sheet2.Range("D" & i) = Format(lngTotal, "0,#")
        Next
    End With
End Sub
Chào anh Hai Lúa!
Anh cho em hỏi nếu muốn nối 2 column, ngoài cách ở trên thì còn cách viết nào khác không anh?
Ví dụ: Em muốn nối dữ liệu cột 3 vs cột 4
Mã:
 Select f1,f2, f3 &" - " & f4 from [sheet1$]
Rồi dán xuống sheet bằng thủ tục
Mã:
Sheet2.range("A2").Copyfromrecordset .Datasource
 
Xin chào.
Cho mình hỏi dữ liệu của mình lớn. Mình đã cho vào rs rồi thì làm cách nào đổi font dữ liệu (TCVN3 sang Unicode) xong mới đổ ra sheet không mọi người. Cảm ơn
 
Lần chỉnh sửa cuối:
Xin chào.
Cho mình hỏi dữ liệu của mình lớn. Mình đã cho vào rs rồi thì làm cách nào đổi font dữ liệu (TCVN3 sang Unicode) xong mới đổ ra sheet không mọi người. Cảm ơn
Trước đây có hỏi anh @Hai Lúa Miền Tây thì dữ liệu này mình chỉ truyền qua. Có tính được mấy hàm đơn giản như ABS, MAX, MIN, cộng trừ nhân chia.
Còn hơn nữa thì kg được. Cách làm thì mình từ RecordSet --> gán nó vào Array, rồi mang ra Array ra xử --> Gán xuống Sheets.
 
Lần chỉnh sửa cuối:
bài 13 viết thành cái hàm truyền cái Tham số dòng dầu và dòng cuối vào sẻ hay hơn đấy
Mạnh nhìn qua là biết ngay à

bài 13 viết thành cái hàm truyền cái Tham số dòng dầu và dòng cuối vào sẻ hay hơn đấy
Mạnh nhìn qua là biết ngay à
cho mình hỏi : trong đoạn lệnh "Select * from [Sheet1$A30:C100]"
khi range ( "A30:C", &Ls) thì được viết thế nào trong câu lệnh select*from trên.
với Ls là biến ( có thể là dòng cuối chứa dữ liệu)
 
cho mình hỏi : trong đoạn lệnh "Select * from [Sheet1$A30:C100]"
khi range ( "A30:C", &Ls) thì được viết thế nào trong câu lệnh select*from trên.
với Ls là biến ( có thể là dòng cuối chứa dữ liệu)
Bạn có thể thử như vầy.
"Select * from [Sheet1$A30:C]"
 
Xin chào các anh, em dựa theo code có trong diễn đàn và áp dụng vào dữ liệu của em thì có một vấn đề nhờ các anh xem giúp

Ở Sheet1, khi em thêm 1 cột BG hoặc nhiều cột hơn thì sẽ báo lỗi Query is too complex
Tương tự ở Sheet3, khi dữ liệu của em dừng ở cột BF (trước BG) thì code vẫn chạy như mong đợi

Xin mọi người giúp đỡ, vì tương lai có thể sẽ thêm nhiều cột khách hàng thì code vẫn có thể chạy ổn định ạ, xin cảm ơn!

P/s: Em xin phép cập nhật lại file, em attach nhầm!
 

File đính kèm

  • Test VBA .xlsm
    452.2 KB · Đọc: 6
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom