• Thêm số thứ tự trong Query
  • Thêm số thứ tự trong Query

    Noname > 16-09-10, 09:09 PM

    Hỏi:Trong query của access, có cách nào thêm được trường số thứ tự vào không? VD mình select từ bảng DM_DoiTuong được các trường HoTen, NgaySinh, QueQuan. Mình muốn thêm vào cột STT

    Đáp: Quochoi_05 - Danketoan
    Mã:
    SELECT (Select Count (*) FROM [DM_DoiTuong ] as Temp WHERE [Temp].[HoTen] < [DM_DoiTuong].[HoTen])+1 AS STT, DM_DoiTuong.HoTen, DM_DoiTuong.NgaySinh, DM_DoiTuong.QueQuan
    FROM DM_DoiTuong
    ORDER BY DM_DoiTuong.HoTen;
  • RE: Thêm số thứ tự trong Query

    tranthanhan1962 > 31-05-15, 12:20 AM

    (16-09-10, 09:09 PM)Noname Đã viết: Hỏi:Trong query của access, có cách nào thêm được trường số thứ tự vào không? VD mình select từ bảng DM_DoiTuong được các trường HoTen, NgaySinh, QueQuan. Mình muốn thêm vào cột STT

    Đáp: Quochoi_05 - Danketoan
    Mã:
    SELECT (Select Count (*) FROM [DM_DoiTuong ] as Temp WHERE [Temp].[HoTen] < [DM_DoiTuong].[HoTen])+1 AS STT, DM_DoiTuong.HoTen, DM_DoiTuong.NgaySinh, DM_DoiTuong.QueQuan
    FROM DM_DoiTuong
    ORDER BY DM_DoiTuong.HoTen;

    Trước giờ mình ít quan tâm đến việc đánh số thứ tự trong query vì công việc này có thể chuyển sang report làm một cách dễ dàng. Khi mình thấy bài này thì quá hay và đơn giản. Nhưng sau khi text thử mình thấy nó xảy ra các trường hợp như sau:
    1/ Khi làm theo cách bạn Noname, cột STT được sắp theo thứ tự từ nhỏ đến lớn.

    Mã PHP:
    SELECT (Select Count (*) FROM [DM_DoiTuong ] as Temp WHERE [Temp].[HoTen] < [DM_DoiTuong].[HoTen])+AS STTDM_DoiTuong.HoTenDM_DoiTuong.NgaySinhDM_DoiTuong.QueQuan
    FROM DM_DoiTuong
    ORDER BY DM_DoiTuong
    .HoTen

    [Hình: gs3SAPO.png]

    Nhưng
    2 / Nếu thay đổi Sort field HoTen từ Ascending sang Descending, cột STT được sắp theo thứ tự từ lớn đến nhỏ.

    Mã PHP:
    SELECT (Select Count (*) FROM [DM_DoiTuong ] as Temp WHERE [Temp].[HoTen] < [DM_DoiTuong].[HoTen])+AS STTDM_DoiTuong.HoTenDM_DoiTuong.NgaySinhDM_DoiTuong.QueQuan
    FROM DM_DoiTuong
    ORDER BY DM_DoiTuong
    .HoTen DESC

    [Hình: ciMHXb9.png]

    Việc này cũng có cái hay của nó, chúng ta có thể lợi dụng nó để xử lý nhiều thứ. Nhưng xét về vấn đề đánh số thứ tự thì cột STT nguyên tắc phải bắt đầu đánh số liên tục từ 1 cho đến hết mà không phụ thuộc vào các sắp xếp của các field khác. Bạn Noname và các bạn khác suy nghĩ thêm có cách nào không?
  • RE: Thêm số thứ tự trong Query

    tieuho828 > 10-05-16, 11:21 PM

    hỏi mình có table xeploai: Namhoc, hocky1,hocky2, hocky3, hocky4. Table Thongtinsv: Khoahoc, ...

    vd. Khóa học.2015-2020 thì khi nhấn vào table xeploai thì trường năm học sẽ bắt đầu từ năm 2015 đến 2020 thôi.

    xin giúp đỡ

    (31-05-15, 12:20 AM)tranthanhan1962 Đã viết:
    (16-09-10, 09:09 PM)Noname Đã viết: Hỏi:Trong query của access, có cách nào thêm được trường số thứ tự vào không? VD mình select từ bảng DM_DoiTuong được các trường HoTen, NgaySinh, QueQuan. Mình muốn thêm vào cột STT

    Đáp: Quochoi_05 - Danketoan
    Mã:
    SELECT (Select Count (*) FROM [DM_DoiTuong ] as Temp WHERE [Temp].[HoTen] < [DM_DoiTuong].[HoTen])+1 AS STT, DM_DoiTuong.HoTen, DM_DoiTuong.NgaySinh, DM_DoiTuong.QueQuan
    FROM DM_DoiTuong
    ORDER BY DM_DoiTuong.HoTen;

    Trước giờ mình ít quan tâm đến việc đánh số thứ tự trong query vì công việc này có thể chuyển sang report làm một cách dễ dàng. Khi mình thấy bài này thì quá hay và đơn giản. Nhưng sau khi text thử mình thấy nó xảy ra các trường hợp như sau:
    1/ Khi làm theo cách bạn Noname, cột STT được sắp theo thứ tự từ nhỏ đến lớn.

    Mã PHP:
    SELECT (Select Count (*) FROM [DM_DoiTuong ] as Temp WHERE [Temp].[HoTen] < [DM_DoiTuong].[HoTen])+AS STTDM_DoiTuong.HoTenDM_DoiTuong.NgaySinhDM_DoiTuong.QueQuan
    FROM DM_DoiTuong
    ORDER BY DM_DoiTuong
    .HoTen

    [Hình: gs3SAPO.png]

    Nhưng
    2 / Nếu thay đổi Sort field HoTen từ Ascending sang Descending, cột STT được sắp theo thứ tự từ lớn đến nhỏ.

    Mã PHP:
    SELECT (Select Count (*) FROM [DM_DoiTuong ] as Temp WHERE [Temp].[HoTen] < [DM_DoiTuong].[HoTen])+AS STTDM_DoiTuong.HoTenDM_DoiTuong.NgaySinhDM_DoiTuong.QueQuan
    FROM DM_DoiTuong
    ORDER BY DM_DoiTuong
    .HoTen DESC

    [Hình: ciMHXb9.png]

    Việc này cũng có cái hay của nó, chúng ta có thể lợi dụng nó để xử lý nhiều thứ. Nhưng xét về vấn đề đánh số thứ tự thì cột STT nguyên tắc phải bắt đầu đánh số liên tục từ 1 cho đến hết mà không phụ thuộc vào các sắp xếp của các field khác. Bạn Noname và các bạn khác suy nghĩ thêm có cách nào không?
  • RE: Thêm số thứ tự trong Query

    maidinhdan > 11-05-16, 09:37 AM

    (10-05-16, 11:21 PM)tieuho828 Đã viết: hỏi mình có table xeploai: Namhoc, hocky1,hocky2, hocky3, hocky4. Table Thongtinsv: Khoahoc, ...

    vd. Khóa học.2015-2020 thì khi nhấn vào table xeploai thì trường năm học sẽ bắt đầu từ năm 2015 đến 2020 thôi.

    xin giúp đỡ


    Chỉ cần tạo Query lọc là xong.

    1. Tạo thêm cột trong Query, dùng hàm left cắt lấy 4 kí tự bên trái và chuyển thành số.
    2. Gõ vào dòng Criteria ở cột mới tạo : bằng hàm BetWeen...And

    Thân mến!
  • RE: Thêm số thứ tự trong Query

    tieuho828 > 12-05-16, 08:12 PM

    vậy mình thêm một dòng rồi, dòng thứ 2phair tự thêm làm như thế nào cho mình bài demo di ban. Mình trả lời trên điện thoại không gửi file được
    (11-05-16, 09:37 AM)maidinhdan Đã viết:
    (10-05-16, 11:21 PM)tieuho828 Đã viết: hỏi mình có table xeploai: Namhoc, hocky1,hocky2, hocky3, hocky4. Table Thongtinsv: Khoahoc, ...

    vd. Khóa học.2015-2020 thì khi nhấn vào table xeploai thì trường năm học sẽ bắt đầu từ năm 2015 đến 2020 thôi.

    xin giúp đỡ


    Chỉ cần tạo Query lọc là xong.

    1. Tạo thêm cột trong Query, dùng hàm left cắt lấy 4 kí tự bên trái và chuyển thành số.
    2. Gõ vào dòng Criteria ở cột mới tạo : bằng hàm BetWeen...And

    Thân mến!
  • RE: Thêm số thứ tự trong Query

    huuduy.duy > 23-05-16, 05:58 PM

    (16-09-10, 09:09 PM)Noname Đã viết: Hỏi:Trong query của access, có cách nào thêm được trường số thứ tự vào không? VD mình select từ bảng DM_DoiTuong được các trường HoTen, NgaySinh, QueQuan. Mình muốn thêm vào cột STT

    Đáp: Quochoi_05 - Danketoan
    Mã:
    SELECT (Select Count (*) FROM [DM_DoiTuong ] as Temp WHERE [Temp].[HoTen] < [DM_DoiTuong].[HoTen])+1 AS STT, DM_DoiTuong.HoTen, DM_DoiTuong.NgaySinh, DM_DoiTuong.QueQuan
    FROM DM_DoiTuong
    ORDER BY DM_DoiTuong.HoTen;

    Em không hiểu câu Query trên, Nhờ anh giải thích hộ em. Trân trọng cảm ơn
  • RE: Thêm số thứ tự trong Query

    toidjtjmtoi > 13-07-16, 11:31 PM

    (16-09-10, 09:09 PM)Noname Đã viết: Hỏi:Trong query của access, có cách nào thêm được trường số thứ tự vào không? VD mình select từ bảng DM_DoiTuong được các trường HoTen, NgaySinh, QueQuan. Mình muốn thêm vào cột STT

    Đáp: Quochoi_05 - Danketoan
    Mã:
    SELECT (Select Count (*) FROM [DM_DoiTuong ] as Temp WHERE [Temp].[HoTen] < [DM_DoiTuong].[HoTen])+1 AS STT, DM_DoiTuong.HoTen, DM_DoiTuong.NgaySinh, DM_DoiTuong.QueQuan
    FROM DM_DoiTuong
    ORDER BY DM_DoiTuong.HoTen;
    mã này chép vào đâu thì chạy được vậy bạn , có thể cho mình xin file được không?
  • RE: Thêm số thứ tự trong Query

    maidinhdan > 14-07-16, 11:10 PM

    (13-07-16, 11:31 PM)toidjtjmtoi Đã viết:
    (16-09-10, 09:09 PM)Noname Đã viết: Hỏi:Trong query của access, có cách nào thêm được trường số thứ tự vào không?
    mã này chép vào đâu thì chạy được vậy bạn , có thể cho mình xin file được không?

    Mã này chép vào trong Query, cụ thể là chổ nút Design/View của Query bạn nhấn vào nút dấu mũ đi xuống bạn thấy chữ SQL nhấn vào rồi dán code vô. ( Bình thường bạn tạo Query code này tự động sinh ra, có những thủ thuật nâng cao ta phải tự viết bằng tay vào trong đó giống như xếp hạng học sinh từ thấp đến cao, đánh số thứ tự...)

    Xem Demo này có file đính kèm luôn: Hướng Dẫn Demo Code Xếp hạng trong Query giống như hàm Rank trong Excel

    HÌnh minh họa
    [Hình: codeSQLXephang.jpg]
  • RE: Thêm số thứ tự trong Query

    diepvien1989 > 07-09-16, 05:42 PM

    (16-09-10, 09:09 PM)Noname Đã viết: Hỏi:Trong query của access, có cách nào thêm được trường số thứ tự vào không? VD mình select từ bảng DM_DoiTuong được các trường HoTen, NgaySinh, QueQuan. Mình muốn thêm vào cột STT

    Đáp: Quochoi_05 - Danketoan
    Mã:
    SELECT (Select Count (*) FROM [DM_DoiTuong ] as Temp WHERE [Temp].[HoTen] < [DM_DoiTuong].[HoTen])+1 AS STT, DM_DoiTuong.HoTen, DM_DoiTuong.NgaySinh, DM_DoiTuong.QueQuan
    FROM DM_DoiTuong
    ORDER BY DM_DoiTuong.HoTen;

    Xin hỏi bác NONAME một chút nữa. 
    em có một table danh sách Học sinh (mã UNI code), em tạo một query của danh sách đó. Trong query này em đã thêm cột XẾPABC (e đã làm được bằng cách tạo một table chứa mã, một modul XEP ABC như bác CADAFI nào đó hướng dẫn). Tuy nhiên em muốn thêm cột STT nữa theo danh sách đã xếp ABC đã xếp ở trên thì ko được, nó cứ xếp theo thứ tự của table danh sách thôi. (em cũng đã dung code của bác rùi..)

    Em ko đính kèm file nên trang này được (tìm mãi ko thấy nút đính kèm đâu!!! Hik)
  • RE: Thêm số thứ tự trong Query

    maidinhdan > 07-09-16, 09:47 PM

    (07-09-16, 05:42 PM)diepvien1989 Đã viết: Xin hỏi bác NONAME một chút nữa. 
    em có một table danh sách Học sinh (mã UNI code), em tạo một query của danh sách đó. Trong query này em đã thêm cột XẾPABC (e đã làm được bằng cách tạo một table chứa mã, một modul XEP ABC như bác CADAFI nào đó hướng dẫn). Tuy nhiên em muốn thêm cột STT nữa theo danh sách đã xếp ABC đã xếp ở trên thì ko được, nó cứ xếp theo thứ tự của table danh sách thôi. (em cũng đã dung code của bác rùi..)

    Em ko đính kèm file nên trang này được (tìm mãi ko thấy nút đính kèm đâu!!! Hik)

    Đính kèm dùm file:

    Trước khi bạn khác trở lời, mình gợi ý bạn. Là dùng 2 cái query để xếp hạng cho nó. Cứ tưởng tượng cái Query thứ 1 dùng hàm Xếp ABC là table Danh sách. Thì Cái query thứ 2 sẽ dùng lệnh để xếp STT.

    Thân mến!