mrsiro > 03-12-17, 08:59 PM
ongke0711 > 04-12-17, 10:34 AM
mrsiro > 04-12-17, 04:25 PM
(04-12-17, 10:34 AM)ongke0711 Đã viết: Theo tôi biết thì SQL Server nó không tương thích tốt với Access trong cái vụ font Unicode. Bạn dùng hàm: StrConv("Chuỗi",128) xem thử có được không.
Bên SQL Server dùng font Unicode thì bạn cũng dùng font Unicode để lọc bên Access luôn.
maidinhdan > 05-12-17, 09:13 PM
(03-12-17, 08:59 PM)mrsiro Đã viết: Mình có file fontend chạy bằng access, kết nối odbc với backend trên sql server, hiện tại câu lệnh truy vấn like "*" & forms!form1!txt1 & "*" không lọc được với trường họ tên có unicode (với những trường hợp chỉ có 1 dấu trong họ tên thì lọc được. Ví dụ: Lê, hoàng, có, không. Còn có nhiều dấu thì không lọc được, ví dụ: Nguyễn, hường, sử), cần thay đổi trúc như thế nào mới có tác dụng. Ai biết giúp mình với.
Select * from tblSinhVien where HoDem like N'Nguyễn%'
like "N'%" & forms!form1!txt1 & "%'"
mrsiro > 05-12-17, 10:52 PM
(05-12-17, 09:13 PM)maidinhdan Đã viết:(03-12-17, 08:59 PM)mrsiro Đã viết: Mình có file fontend chạy bằng access, kết nối odbc với backend trên sql server, hiện tại câu lệnh truy vấn like "*" & forms!form1!txt1 & "*" không lọc được với trường họ tên có unicode (với những trường hợp chỉ có 1 dấu trong họ tên thì lọc được. Ví dụ: Lê, hoàng, có, không. Còn có nhiều dấu thì không lọc được, ví dụ: Nguyễn, hường, sử), cần thay đổi trúc như thế nào mới có tác dụng. Ai biết giúp mình với.
Khi giao tiếp truy vấn trên SQL server liên quan đến câu lệnh Like thì chú ý như sau:
1. Ký tự % : thay thế cho nhiều ký tự ( trên Access là *)
2. Ký tự _ : thay thế cho một ký tự ( trên Access là ?)
3. Ký tự N : So sánh vơí chuỗi Unicode ( trên Access là thì không cần)
4. Luôn sử dụng dấu nháy đơn (') khi truy xuất SQL Server (riêng Access dấu nháy đơn/đôi cũng được)
Ví dụ: Tìm các sinh viên họ Nguyễn
Mã PHP:Select * from tblSinhVien where HoDem like N'Nguyễn%'
Như vậy câu truy vấn của bạn phải là:
Mã PHP:like "N'%" & forms!form1!txt1 & "%'"
Một điều khác cũng tương tự khi truy vấn thông qua thư viện ADO, phải dùng % thay vì dùng dấu *
maidinhdan > 05-12-17, 11:10 PM
(05-12-17, 10:52 PM)mrsiro Đã viết:(05-12-17, 09:13 PM)maidinhdan Đã viết:(03-12-17, 08:59 PM)mrsiro Đã viết: Mình có file fontend chạy bằng access, kết nối odbc với backend trên sql server, hiện tại câu lệnh truy vấn like "*" & forms!form1!txt1 & "*" không lọc được với trường họ tên có unicode (với những trường hợp chỉ có 1 dấu trong họ tên thì lọc được. Ví dụ: Lê, hoàng, có, không. Còn có nhiều dấu thì không lọc được, ví dụ: Nguyễn, hường, sử), cần thay đổi trúc như thế nào mới có tác dụng. Ai biết giúp mình với.
Khi giao tiếp truy vấn trên SQL server liên quan đến câu lệnh Like thì chú ý như sau:
1. Ký tự % : thay thế cho nhiều ký tự ( trên Access là *)
2. Ký tự _ : thay thế cho một ký tự ( trên Access là ?)
3. Ký tự N : So sánh vơí chuỗi Unicode ( trên Access là thì không cần)
4. Luôn sử dụng dấu nháy đơn (') khi truy xuất SQL Server (riêng Access dấu nháy đơn/đôi cũng được)
Ví dụ: Tìm các sinh viên họ Nguyễn
Mã PHP:Select * from tblSinhVien where HoDem like N'Nguyễn%'
Như vậy câu truy vấn của bạn phải là:
Mã PHP:like "N'%" & forms!form1!txt1 & "%'"
Một điều khác cũng tương tự khi truy vấn thông qua thư viện ADO, phải dùng % thay vì dùng dấu *
Chào bạn, ứng dụng của mình kết nối bằng odbc, sau khi kết nối thì mình tiến hành link table trên sql server về file access, rồi dùng query trên access để truy vấn trên table đã link đó. Sử dụng cấu trúc như của bạn thì không thể ra kết quả. Như cấu trúc cũ của mình thì có cái ra cái không, còn theo cấu trúc của bạn thì khi chạy query không ra kết quả luôn.
mrsiro > 05-12-17, 11:19 PM
(05-12-17, 11:10 PM)maidinhdan Đã viết:
Bạn thử gõ Like N'%Tencantim%' thử xem.
maidinhdan > 05-12-17, 11:46 PM
(05-12-17, 11:19 PM)mrsiro Đã viết:(05-12-17, 11:10 PM)maidinhdan Đã viết:
Bạn thử gõ Like N'%Tencantim%' thử xem.
không được luôn bạn à. Mà nói thêm là nếu cấu trúc like "*" & forms!form1!txt1 & "*", nếu không truyền giá trị vào thì nó vẫn ra tất cả record, còn ví dụ người đó có tên "Lê van a", mình truyền vào "Lê" vẫn ra kết quả, còn nếu truyền vào giá trị như "Nguyễn" thì không ra dc nhân viên có họ nguyễn.