• Tạo Tạo Tiền tố cho trường đánh số tự động trong Access
  • Tạo Tạo Tiền tố cho trường đánh số tự động trong Access

    thaomobilecntv > 09-12-21, 05:43 PM

    Xin Hướng dẫn tạo một trường đánh số tự động có kèm Tiền tố. Ví dụ: Trường MaPhieu dữ liệu sẽ tự điền PBH-000001, PBH-00000,....
    Mình mới sử dụng được Trường kiểu Autonumber chỉ tạo ra được kiểu số từ 1, 2, 3,...
    Mong anh em nhiệt tình hướng dẫn. Thanhks all!
  • RE: Tạo Tạo Tiền tố cho trường đánh số tự động trong Access

    ongke0711 > 09-12-21, 07:15 PM

    (09-12-21, 05:43 PM)thaomobilecntv Đã viết: Xin Hướng dẫn tạo một trường đánh số tự động có kèm Tiền tố. Ví dụ: Trường MaPhieu dữ liệu sẽ tự điền PBH-000001, PBH-00000,....

    Trong diễn đàn có nhiều bài viết về tạo số thứ tự tự động rồi đó bạn. Dùng công cụ tìm kiếm ở góc phải nhé.
    https://thuthuataccess.com/forum/thread-9993.html
    https://thuthuataccess.com/forum/thread-9777.html
    https://thuthuataccess.com/forum/thread-...age-2.html
    ...


    Mã PHP:
    Function TaoSoPBH() As String
        
    Dim rsStt 
    As DAO.Recordset
        Dim sSQL 
    As String
        Dim Stt 
    As Long

        sSQL 
    "SELECT Max(CLng(Right(SoPBH,6))) As SttMax FROM tblPhieuXuat"
        Set rsStt CurrentDb.OpenRecordset(sSQLdbOpenDynaset)
        If IsNull(rsStt!SttMaxThen
            Stt 
    1
        
    Else
            Stt rsStt!SttMax 1
        End 
    If
        TaoSoPBH "PBH-" & Right$("000000" Stt6)
        rsStt.Close
        Set rsStt 
    Nothing

    End 
    Function 
  • RE: Tạo Tạo Tiền tố cho trường đánh số tự động trong Access

    tranthanhan1962 > 10-12-21, 12:22 AM

    Dễ mà MaPhieu="PBH-" & Format([Autonumber],"000000"). Nhưng mà đâu có dễ dàng như vậy. xóa 1 phiếu sẽ không còn liên tục nữa, tốt nhất nên tìm hiểu kỹ theo hướng dẫn của bác ongke0711.
  • RE: Tạo Tạo Tiền tố cho trường đánh số tự động trong Access

    ongke0711 > 10-12-21, 07:32 AM

    Tạo số phiếu tự động, không trùng thì bạn dùng cách tôi hướng dẫn hoặc cách tận dụng trường Autonumber đơn giản và nhanh như cách anh tranthanhan1962 đã nói. Nhưng bạn cần chú ý là thời điểm tạo số phiếu: nếu dùng trường Autonumber thì số phiếu chỉ được tạo sau khi dữ liệu được ghi xuống Table, khi đó Autonumber mới phát sinh số mới. Còn tạo không dùng Autonumber (như cách tôi nói ở trên) thì số phiếu sẽ được tạo ngay khi bạn bắt đầu nhập liệu mới. Tuỳ theo cách thiết kế Form nhập liệu của bạn mà dùng cách này hay cách khác.
    Một điều bạn cần phải biết là không bao giờ tạo được số phiếu liên tục vì trong thực tế phát sinh sẽ có nghiệp vụ xoá phiếu, khi đó số sẽ không còn liên tục. Và nguyên tắc cũng không có việc tạo lại số phiếu bù vào số phiếu đã xoá vì tính thời gian thực của dữ liệu, không có chuyện dữ liệu tạo sau mà có số thứ tự nhỏ hơn dữ liệu đã nhập trước đó.