AnNguyen > 30-08-19, 11:08 PM
ongke0711 > 31-08-19, 12:29 AM
AnNguyen > 31-08-19, 07:30 AM
(31-08-19, 12:29 AM)ongke0711 Đã viết: Cụ thể câu lệnh SQL như thế nào, thêm tiền tố "N" như thế nào?Vâng. Field là Nvarchar anh ạ.
Field lưu tiếng Việt có data type là NVARCHAR?
Em nói chung chung vậy ai mà định bệnh được.
Noname > 31-08-19, 09:45 AM
(31-08-19, 07:30 AM)AnNguyen Đã viết:(31-08-19, 12:29 AM)ongke0711 Đã viết: Cụ thể câu lệnh SQL như thế nào, thêm tiền tố "N" như thế nào?Vâng. Field là Nvarchar anh ạ.
Field lưu tiếng Việt có data type là NVARCHAR?
Em nói chung chung vậy ai mà định bệnh được.
Select * from tbHocSinh where ghichu like N'%"& txtGhiChu & " %' "
Câu lệnh đó anh ạ. Em dùng query để truy vấn ạ
ongke0711 > 31-08-19, 10:08 AM
AnNguyen > 03-09-19, 09:26 AM
(31-08-19, 10:08 AM)ongke0711 Đã viết: @Noname: Chắc AnNguyen dùng Pass Through query đó bác NoName.
@AnNguyen: em dùng PT query phải không? nó báo lỗi gì? Đang có dư 1 khoảng trắng sau tham số "txtGhichu"
Function Tao_Query(ten_qr, cau_lenh) As String
Dim qdf As QueryDef
sql = "Select * from tbHocSinh where ghichu =N'" & txtGhiChu & "'"
stConnect = "ODBC;DRIVER=SQL Server;SERVER=" & stServer & ";DATABASE=" & stDatabase & ";UID=" & stUser & ";PWD=" & stPass & ";"
ten_qr = ten_qr
Set qdf = DBEngine(0)(0).CreateQueryDef(ten_qr, cau_lenh)
qdf.Connect = stConnect
qdf.Close
Tao_Query = ten_qr
End Function
ongke0711 > 04-09-19, 04:40 PM
AnNguyen > 04-09-19, 05:01 PM
(04-09-19, 04:40 PM)ongke0711 Đã viết: Theo báo lỗi code này thì chắc là VBA (Jet engine) của Access nó không chấp nhận vài từ khoá của SQL Server ("N") trong câu lênh tạo QueryDef rồi. Tạo thủ công không qua VBA thì OK.
Em nên xem và chọn lại cách xử lý tìm kiếm kiểu khác chứ kiểu tạo QueryDef cho mỗi từ khoá tìm kiếm mỗi lần là rất không hiệu quả (không tính đến cái lỗi trên). Ứng dụng chạy nhanh khi các query, code VBA đã được Compile thành mã máy một lần sau khi code xong, còn theo cách của em là mỗi lần tìm kiếm lại tạo query động mới, máy phải compile mỗi lần xong mới chạy --> tốn thời gian và tài nguyên máy.
Có rất nhiều cách tìm kiếm:
- Dùng ADODB recordset như ví dụ bài post trước anh demo cho em (dùng Filter).
- Dùng ADODB Command để chạy trực tiếp câu lệnh SQL trên của em mà không cần thông qua bước tạo QueryDef.
ongke0711 > 09-09-19, 01:34 AM
AnNguyen > 10-09-19, 10:12 PM