Định nghĩa tên cột trong ADO

Liên hệ QC

Tung08.van

Thành viên mới
Tham gia
20/6/19
Bài viết
14
Được thích
0
Chào anh chị,
Em có 1 câu hỏi là ví dụ bảng của mình có chứa các cột mà tiêu đề là chữ tiếng việt có dấu thì làm thế nào để viết câu lệnh cho SQL hiểu là mình đang làm việc với tên cột đó ạ? Em mới tìm hiểu nên không biết. Em viết bằng VBA. Ví dụ: Select * from Data where Tài nguyên like 'dd' thì viết chỗ Tài Nguyên kia ntn để chạy đúng được ạ?
Mong anh chị giải đáp giúp em ạ. Em cảm ơn!
 
Chào anh chị,
Em có 1 câu hỏi là ví dụ bảng của mình có chứa các cột mà tiêu đề là chữ tiếng việt có dấu thì làm thế nào để viết câu lệnh cho SQL hiểu là mình đang làm việc với tên cột đó ạ? Em mới tìm hiểu nên không biết. Em viết bằng VBA. Ví dụ: Select * from Data where Tài nguyên like 'dd' thì viết chỗ Tài Nguyên kia ntn để chạy đúng được ạ?
Mong anh chị giải đáp giúp em ạ. Em cảm ơn!
Thử thế này xem được không.
Mã:
Select * from Data where [Tài nguyên] like 'dd'
 
Được. Nhưng ví dụ mà là từ Mã số thì làm ntn ạ? Ví nó bị chuyển đổi trong vba. Với lại có cách nào định nghĩa hoặc lấy tên cột tự động theo ý mình để thay thế vào câu truy vấn k ạ?
Em cảm ơn!
 
Chào anh chị,
Em có 1 câu hỏi là ví dụ bảng của mình có chứa các cột mà tiêu đề là chữ tiếng việt có dấu thì làm thế nào để viết câu lệnh cho SQL hiểu là mình đang làm việc với tên cột đó ạ? Em mới tìm hiểu nên không biết. Em viết bằng VBA. Ví dụ: Select * from Data where Tài nguyên like 'dd' thì viết chỗ Tài Nguyên kia ntn để chạy đúng được ạ?
Mong anh chị giải đáp giúp em ạ. Em cảm ơn!
Không dùng theo kiểu tên nữa.Bạn chọn kiểu F1,F2 là được.
 
Được. Nhưng ví dụ mà là từ Mã số thì làm ntn ạ? Ví nó bị chuyển đổi trong vba. Với lại có cách nào định nghĩa hoặc lấy tên cột tự động theo ý mình để thay thế vào câu truy vấn k ạ?
Em cảm ơn!
Khoan :xmasbiggrin: vậy là đầu bài đưa ra đã giải quyết xong ?
Còn ý số 02 là like "dd", thay vì like "dd" thì là"Mã số" mà từ Mã số thì trong VBA kg gõ được ?
 
Ý em là tên cột ạ. Thay bằng F1 F2 như thế nào ạ? Anh nói thêm giúp em vs. Em mới tìm hiểu nên bị mắc.
Bài đã được tự động gộp:

Cả cái này nữa. Anh giải đáp giúp em ạ.
Em cảm ơn
 
Ý em là tên cột ạ. Thay bằng F1 F2 như thế nào ạ? Anh nói thêm giúp em vs. Em mới tìm hiểu nên bị mắc.
Bài đã được tự động gộp:

Cả cái này nữa. Anh giải đáp giúp em ạ.
Em cảm ơn
Chỗ HDR=YES thay bằng HDR=NO
 
Xong gọi tên cột ntn ạ? Tên cột là Mã Số nếu viết [Mã số] nó sẽ sai ạ.
(Tránh viết tắt trong bài viết nhé: "ntn")

Trường hợp tên cột là tiếng Việt có dấu, không thể sửa được thì bạn không thể gõ trực tiếp vào câu lệnh SQL được thì bạn truyền nó vào như tham số lấy từ Cell.
Ví dụ: như hình

Screen Shot 2022-01-01 at 09.17.13.png

- Bạn từ gõ tay tên các cột cần xử lý.
- Truyền nó vào câu lệnh SQL: ô [D5] có nhiều cột cần lấy thì dùng lệnh Split đưa nó vô mảng
Mã:
'# Xu lý chuoi Fields --> SQL statement
        '--------------------------------------------------
        sGroup = Sheet1.Range("C5").Value   'lrow.Offset(0, 2)
        sFieldsSumList = Sheet1.Range("D5").Value  'lrow.Offset(0, 3)
        sCriteria = "1=1"
        sSQL = ""
        sFldSum = ""
        
        arrFlds = Split(sFieldsSumList, ",")
        For i = 0 To UBound(arrFlds)
            sFldSum = sFldSum & "SUM(" & Trim(arrFlds(i)) & ") AS " & Trim(arrFlds(i)) & ","
        Next
        sFldSum = Left$(sFldSum, Len(sFldSum) - 1)
        sSQL = "SELECT " & sGroup & "," & sFldSum & " FROM [" & sRange & "] GROUP BY " & sGroup
        Debug.Print sSQL
        Set oRst = GetADORecordset(sSQL)
 
Web KT
Back
Top Bottom