Cần giúp tìm kiếm SQL từ VBA với điều kiện Tiếng Việt

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

Haidang7979

Thành viên mới
Tham gia
2/4/20
Bài viết
17
Được thích
0
Chào mọi người, Mình sử dụng VBA kết nối với SQL server bằng driver mariaDB, mình đã lưu dữ liệu bằng Tiếng Việt, giờ tìm kiếm dữ liệu bằng Tiếng Việt lại chưa tìm được cách. Nhờ các bác giúp đỡ.
chi tiết cột Khach_Hang kiểu dữ liệu VARCHAR(255) utf8mb4_unicode_ci , dữ liệu điều kiện tìm kiếm gán vào biến KH = range("A1").value.
Cảm ơn các bac.
 
Để tìm kiếm dữ liệu bằng Tiếng Việt khi sử dụng VBA kết nối với SQL Server thông qua driver MariaDB, bạn cần đảm bảo rằng chuỗi kết nối và câu truy vấn của bạn được mã hóa chính xác.


Dưới đây là một ví dụ về cách tạo chuỗi kết nối và truy vấn dữ liệu bằng Tiếng Việt:

Mã:
' Tạo chuỗi kết nối
Dim connString As String
connString = "Driver={MariaDB ODBC 3.1 Driver}; " & _
             "Server=ServerAddress; " & _
             "Port=3306; " & _
             "Database=DatabaseName; " & _
             "Uid=Username; " & _
             "Pwd=Password; " & _
             "CharSet=UTF8;"

' Kết nối với cơ sở dữ liệu
Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
conn.Open connString

' Truy vấn dữ liệu bằng Tiếng Việt
Dim KH As String
KH = Range("A1").Value
Dim sql As String
sql = "SELECT * FROM Khach_Hang WHERE Khach_Hang = ? " ' Sử dụng dấu ? làm tham số truy vấn

Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.Open sql, conn, adOpenKeyset, adLockOptimistic, adCmdText
rs.AddNew
rs.Fields(0) = KH ' Gán giá trị tìm kiếm vào tham số truy vấn
rs.Update

' Xử lý kết quả
If Not rs.EOF Then
    ' Có kết quả tìm kiếm
    ' Làm gì đó với kết quả ở đây
Else
    ' Không tìm thấy kết quả
End If

' Đóng kết nối
rs.Close
conn.Close

Ghi chú: cái này là anh Claude AI nói, mình không biết liệu đã chính xác chưa :D
 
Web KT
Back
Top Bottom