toancvp > 20-12-16, 07:21 PM
maidinhdan > 20-12-16, 09:29 PM
(20-12-16, 07:21 PM)toancvp Đã viết: Chúc các bác buổi tối tốt lành :
Tình hình là em có tình cờ đc xem 1 vụ lọc dữ liệu hệ thống thông qua dấu ";" hoặc dấu "," các bác ạ.
Tức là ví dụ người dùng chỉ cần nhập như thế này: 746519;746520;966221 chẳng hạn và click tìm kiếm. Thì bảng lọc của họ sẽ thể hiện nội dung cho các mã:
746519
746520
966221
Em thấy cái này hay quá mà nghĩ mãi chưa có cách các bác ạ. Các bác hướng dẫn em với ạ.
Che_Guevara > 20-12-16, 09:49 PM
Trích dẫn:Theo tôi để làm được bạn cần làm các bước như sau:
Bước 1: Tạo hàm cắt lấy từng điều kiện bởi dấu ; hay dấu , ( Sau đó nhúng vào bước 3)
Bước 2: Tạo hàm đếm số lượng điều kiện ( Để để bước 3 lấy đoạn điều kiện là 1 hay 2 hay 3 hay 4 điều kiện)
Bước 3: Tạo 1 chuỗi điều kiện dựa vào bước 2 ( Ví dụ như bạn điều 1 điều kiện trong query nó sẽ sinh ra 1 chuỗi sql = 1 điều kiện, khi điền 2 điều kiện thì sẽ sinh ra chuỗi sql= 2 điều kiện....cứ làm đến khi nào bạn xác định cho phép tối đa ba nhiêu điều kiện
Bước 4. Kết hợp lại thành 1. Sau đó nhúng nó vào recordsoure của subform/form
toancvp > 20-12-16, 10:22 PM
paulsteigel > 21-12-16, 12:49 AM
(20-12-16, 10:22 PM)toancvp Đã viết: , để em thử liền.
lamvankhanh > 21-12-16, 09:20 AM
toancvp > 21-12-16, 01:37 PM
(21-12-16, 12:49 AM)paulsteigel Đã viết:(20-12-16, 10:22 PM)toancvp Đã viết: , để em thử liền.
Các cụ quên mất câu lệnh dạng này rồi à...
SELECT * FROM [Tên bảng] WHERE [Trường] IN (chuỗi giá trị cần tìm)
Select * from branches where branches.code in (1,10,11,12,13,14);
trong querry thì dấu phân cách điều kiện là , (tùy thiết lập thập phân trong máy có thể là vậy chỉ cần thêm đoạn replace thay chấm phẩy bằng phẩy
currentdb.execute ("Select * from branches where branches.code in (" & replace([chuỗi],";",",") & ");")
Làm như vậy thì không phải dùng AND, AND ... và bẻ chuỗi cần tìm ra dạng điều kiện đơn.
Trừ khi các cụ cần tìm dạng wildcard (*..*)