Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hỏi] Cấu trúc query với các table trên sqlserver đã link vào access
#1
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.
Chữ ký của mrsiro Xin chào, mình là mrsiro, Tham gia http://thuthuataccess.com/forum từ ngày 05-12 -14.
Reply
Những người đã cảm ơn Che_Guevara
#2
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.
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn mrsiro
#3
(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.

Không có tác dụng bạn à. Có cách nào khác không.
Chữ ký của mrsiro Xin chào, mình là mrsiro, Tham gia http://thuthuataccess.com/forum từ ngày 05-12 -14.
Reply
Những người đã cảm ơn
#4
(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ữ ký của maidinhdan * Để được hỗ trợ tốt nhất, nhấn vào link dưới đây để xem.
1. [Hướng dẫn] Kiểu file gửi lên để được giúp đỡ
2. [Hướng dẫn] Nội quy diễn đàn
3. [Hướng dẫn] Cách Đưa file và hình vào diễn đàn
4.[Hướng dẫn] Để xây dựng một ứng dụng hoàn hảo và lời cảm tạ
5. Cần tìm Demo hay ứng dụng sử dụng thanh tìm kiếm phía trên cùng, bên phải của diễn đàn.
* Nếu muốn cảm ơn, hãy nhấn nút thank, không cần viết thêm bài nào nửa.



ღღღღღTài sản của maidinhdan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn mrsiro , Minh Tiên
#5
(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.
Chữ ký của mrsiro Xin chào, mình là mrsiro, Tham gia http://thuthuataccess.com/forum từ ngày 05-12 -14.
Reply
Những người đã cảm ơn
#6
(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.

Bạn thử gõ Like N'%Tencantim%' thử xem.
Chữ ký của maidinhdan * Để được hỗ trợ tốt nhất, nhấn vào link dưới đây để xem.
1. [Hướng dẫn] Kiểu file gửi lên để được giúp đỡ
2. [Hướng dẫn] Nội quy diễn đàn
3. [Hướng dẫn] Cách Đưa file và hình vào diễn đàn
4.[Hướng dẫn] Để xây dựng một ứng dụng hoàn hảo và lời cảm tạ
5. Cần tìm Demo hay ứng dụng sử dụng thanh tìm kiếm phía trên cùng, bên phải của diễn đàn.
* Nếu muốn cảm ơn, hãy nhấn nút thank, không cần viết thêm bài nào nửa.



ღღღღღTài sản của maidinhdan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#7
(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.
Chữ ký của mrsiro Xin chào, mình là mrsiro, Tham gia http://thuthuataccess.com/forum từ ngày 05-12 -14.
Reply
Những người đã cảm ơn
#8
(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.

Bạn xem lại trên sql server bạn format cho kiểu dữ liệu côột tên là vchar hay nvchar (dùng cái này). Nêếu bạn truy vấn trưực tiếp trên môi trừường Access thì câu lệnh like "*" & forms!form1!txt1 & "*" là ok; bạn thử test lại về ngôn ngữ hoă ặc kiểu nhập bàn phím của bạn xem sao. Hoăặc copy cái từ Nguyễn trên SQL server dán vào Access chạy để biêết
Chữ ký của maidinhdan * Để được hỗ trợ tốt nhất, nhấn vào link dưới đây để xem.
1. [Hướng dẫn] Kiểu file gửi lên để được giúp đỡ
2. [Hướng dẫn] Nội quy diễn đàn
3. [Hướng dẫn] Cách Đưa file và hình vào diễn đàn
4.[Hướng dẫn] Để xây dựng một ứng dụng hoàn hảo và lời cảm tạ
5. Cần tìm Demo hay ứng dụng sử dụng thanh tìm kiếm phía trên cùng, bên phải của diễn đàn.
* Nếu muốn cảm ơn, hãy nhấn nút thank, không cần viết thêm bài nào nửa.



ღღღღღTài sản của maidinhdan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  Query không cho kết quả đúng? feeling 5 397 17-10-18, 02:20 PM
Bài mới nhất: tranthanhan1962
  [Hỏi] query tuanhungkcs 2 126 12-10-18, 09:48 PM
Bài mới nhất: tuanhungkcs
  [Help] Nhờ xây dựng Query Tranhung84ls 2 266 20-09-18, 10:25 PM
Bài mới nhất: Tranhung84ls
  tự học Access đang bị vướng về Query xin giúp đỡ!!!! datma 3 234 19-09-18, 03:23 PM
Bài mới nhất: datma
  Thêm số thứ tự trong Query Noname 15 10,497 11-09-18, 11:52 PM
Bài mới nhất: thanhtruong

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ| PMA Nha Trang| Gỗ Acrylic Không Đường Line