• Cách lọc nhiều dữ liệu thông qua dấu ngăn cách " ;"
  • Cách lọc nhiều dữ liệu thông qua dấu ngăn cách " ;"

    toancvp > 20-12-16, 07:21 PM

    Chúc các bác buổi tối tốt lành :big green 

    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 ạ.
  • RE: Cách lọc nhiều dữ liệu thông qua dấu ngăn cách " ;"

    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 :big green 

    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 ạ.

    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

    Chỉ có thế
  • RE: Cách lọc nhiều dữ liệu thông qua dấu ngăn cách " ;"

    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

    Hay là bác cho demo luôn đi, nghe bác phân tích hay quá.
  • RE: Cách lọc nhiều dữ liệu thông qua dấu ngăn cách " ;"

    toancvp > 20-12-16, 10:22 PM

    big green, để em thử liền.
  • RE: Cách lọc nhiều dữ liệu thông qua dấu ngăn cách " ;"

    paulsteigel > 21-12-16, 12:49 AM

    (20-12-16, 10:22 PM)toancvp Đã viết: big green, để 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à winking 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 (*..*)
  • RE: Cách lọc nhiều dữ liệu thông qua dấu ngăn cách " ;"

    lamvankhanh > 21-12-16, 09:20 AM

    Cái này củng đơn giản mà. Bạn thử xem demo này xem sao:
    -----------------------------------------------------------------------------------
  • RE: Cách lọc nhiều dữ liệu thông qua dấu ngăn cách " ;"

    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: big green, để 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à winking 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 (*..*)

    big green, biết thế em post sớm hơn, cả tuần nay em hỳ hục nghĩ cách mà ko ra, lên đây có phải đc các bác bày cho bao nhiêu cách ko big green.