• Nhờ giúp đỡ tạo nút lệnh thêm record mới (trong form) với STT tăng dần
  • Nhờ giúp đỡ tạo nút lệnh thêm record mới (trong form) với STT tăng dần

    hoaianmam4 > 29-04-20, 04:15 PM

    Chào mọi người, mình là gà access thui nên nhờ mọi người giúp mình chút, mình muốn tạo một nút lệnh mà khi ấn nút lệnh đó, nó sẽ tự động tạo một record mới (trong form) với STT tăng dần. 
    Mình sẽ nói về cách mình tạo STT cho record mới nhé:
    Mỗi ngày, mình mở access lên làm việc, mình bấm vào nút tạo record mới, một record mới hiện ra, mình sẽ nhập STT thủ công cho record mới đó.

    STT của mình là một dãy số có 8 chữ số: 
    2 số đuôi của năm hiện tại, vd năm 2020 thì sẽ là 20
    2 số của tháng hiện tại, vd tháng 4 thì sẽ là 04
    2 số của ngày hiện tại, vd ngày 29 thì sẽ là 29
    2 số của khách hàng đầu tiên, vd khách hàng đầu tiên sẽ là 01

    Vậy là mình sẽ nhập thủ công một STT là: 20042901

    Rồi sau đó khi sang khách hàng thứ 2, mình lại nhấn nút tạo một record mới và mình sẽ lại nhập thủ công STT cho record mới đó với 2 số thay đổi trong dãy STT là 01 thành số 0220042901 20042902

    Cứ như vậy với số khách hàng tăng dần cho đến hết ngày 29 đó, sang ngày 30 mình lại lặp lại các thao tác với STT ngày 30 sẽ là: 20043001

    Ok, giờ mình sẽ vẫn chấp nhận việc nhập thủ công STT đầu tiên trong ngày làm việc, chỉ mong mọi người giúp tạo một nút lệnh sao cho khi nhấn nút lệnh đó thì một record mới được tạo ra và số của khách hàng tự động tăng dần lên: 20042901 20042902 20042903 > ...

    Cảm ơn mọi người rất nhiều nhé.
  • RE: Nhờ giúp đỡ tạo nút lệnh thêm record mới (trong form) với STT tăng dần

    Xuân Thanh > 29-04-20, 06:57 PM

    Test thử code này xem sao nhé

    Mã:
    Private Sub txtNgay_AfterUpdate()
         Dim DB As DAO.Database
         Dim rs As DAO.Recordset
         Dim strSTT As String
         strSTT = Right(Year(txtNgay), 2) & Right("0" & Month(txtNgay), 2) & Right("0" & Day(txtNgay), 2)
         Set DB = CurrentDb
         Set rs = DB.OpenRecordset("Select * From tblABC Where Left(STT, 6) = '" & strSTT & "'", dbOpenDynaset)  'Thay cái tblABC cho phù hợp
         If rs.RecordCount > 0 Then Me.txtSTT = strSTT & Right("0" & rs.RecordCount + 1, 2) Else Me.txtSTT = strSTT & "01"
    End Sub

    Viết đại chưa test nhé
    txtNgay và txtSTT là tên các textbox trên Form
    STT trong câu SQL là tên trường trong tablse tblABC
    Cứ nhập ngày là STT nó tự động làm việc khỏi cần nhập thủ công
  • RE: Nhờ giúp đỡ tạo nút lệnh thêm record mới (trong form) với STT tăng dần

    DooHoaangPhuuc > 29-04-20, 11:57 PM

    (29-04-20, 06:57 PM)Xuân Thanh Đã viết: Test thử code này xem sao nhé

    Mã:
    Private Sub txtNgay_AfterUpdate()
         Dim DB As DAO.Database
         Dim rs As DAO.Recordset
         Dim strSTT As String
         strSTT = Right(Year(txtNgay), 2) & Right("0" & Month(txtNgay), 2) & Right("0" & Day(txtNgay), 2)
         Set DB = CurrentDb
         Set rs = DB.OpenRecordset("Select * From tblABC Where Left(STT, 6) = '" & strSTT & "'", dbOpenDynaset)  'Thay cái tblABC cho phù hợp
         Me.txtSTT = strSTT & rs.RecordCount + 1
    End Sub

    Viết đại chưa test nhé
    txtNgay và txtSTT là tên các textbox trên Form
    STT trong câu SQL là tên trường trong tablse tblABC
    Cứ nhập ngày là STT nó tự động làm việc khỏi cần nhập thủ công

    Như Code này chưa lặp lại record đầu tiên "XXXXXX01" khi chuyển sang ngày khác Chú XuanThanh !
  • RE: Nhờ giúp đỡ tạo nút lệnh thêm record mới (trong form) với STT tăng dần

    Xuân Thanh > 30-04-20, 02:43 AM

    (29-04-20, 11:57 PM)DooHoaangPhuuc Đã viết: Như Code này chưa lặp lại record đầu tiên "XXXXXX01" khi chuyển sang ngày khác Chú XuanThanh !

    Viết đại mà. Phúc Test chưa? Sửa lại cái này một chút cho nó ra hai chữ số trong STT

    Sửa câu : Me.txtSTT = strSTT & rs.RecordCount + 1
    Thành : Me.txtSTT = strSTT & Right("0" & rs.RecordCount + 1, 2)

    P/S :Tôi đã sửa trong bài #2
  • RE: Nhờ giúp đỡ tạo nút lệnh thêm record mới (trong form) với STT tăng dần

    hoaianmam4 > 01-05-20, 12:47 PM

    Bị lỗi gì đó rồi Thanh ơi.
    Mình thấy dòng: DB As DAO.Database bị bôi màu xanh, rồi có cái bảng với hình tam giác màu vàng thông báo là: Compile error: User-defined type not defined 

    Mình làm thế này Thanh xem giúp có đúng không nhé, mình tạo trường txtNgay trong table Bangchinh, add trường txtNgay vào Form, mình sửa đoạn code lại thành:

    Private Sub txtNgay_AfterUpdate()

         Dim DB As DAO.Database
         Dim rs As DAO.Recordset
         Dim strMaluutru As String
         strMaluutru = Right(Year(txtNgay), 2) & Right("0" & Month(txtNgay), 2) & Right("0" & Day(txtNgay), 2)
         Set DB = CurrentDb
         Set rs = DB.OpenRecordset("Select * From Bangchinh Where Left(Maluutru, 6) = '" & strMaluutru & "'", dbOpenDynaset)  'Thay cái tblABC cho phù hợp
         Me.txtMaluutru = strMaluutru & Right("0" & rs.RecordCount + 1, 2)
    End Sub

    Sau đó mình copy đoạn code trên vào
    event After Update của text box txtNgayrồi vào Form, nhập ngày vào ô txtNgay, enter, và access báo lỗi ở trên đó.

    Mình muốn hỏi là mình muốn sang một khách hàng mới thì mình bấm nút lệnh tạo record mới, sau đó nhập ngày vào ô txtNgay thì ô STT tự động hiện ra dãy số phải không. Nếu vậy thì hơi bất tiện, vì mình nghĩ nếu có một nút lệnh tích hợp tạo record mới và tự động tăng dãy STT lên sẽ nhanh hơn là cứ mỗi khách hàng lại phải nhập ngày vào, sorry mình gà access nên đọc đoạn mã cũng không hiểu mấy, mấy bạn thông cảm với nhé    021
  • RE: Nhờ giúp đỡ tạo nút lệnh thêm record mới (trong form) với STT tăng dần

    Xuân Thanh > 02-05-20, 09:22 PM

    Bạn dùng bản Office nào vậy?
  • RE: Nhờ giúp đỡ tạo nút lệnh thêm record mới (trong form) với STT tăng dần

    hoaianmam4 > 04-05-20, 10:44 PM

    Mình dùng 2016 bạn.
  • RE: Nhờ giúp đỡ tạo nút lệnh thêm record mới (trong form) với STT tăng dần

    Xuân Thanh > 04-05-20, 11:39 PM

    Gửi file lên đi
  • RE: Nhờ giúp đỡ tạo nút lệnh thêm record mới (trong form) với STT tăng dần

    hoaianmam4 > 13-05-20, 10:28 PM

    Ủa có ai biết nút đính kèm file ở đâu không @@ Mình thấy toàn mã, php, video... mà không thấy nút đính kèm file
  • RE: Nhờ giúp đỡ tạo nút lệnh thêm record mới (trong form) với STT tăng dần

    ongke0711 > 14-05-20, 03:54 PM

    (13-05-20, 10:28 PM)hoaianmam4 Đã viết: Ủa có ai biết nút đính kèm file ở đâu không @@ Mình thấy toàn mã, php, video... mà không thấy nút đính kèm file

    Diễn đàn không có menu đính kèm file nhé bạn.
    Bạn upload lên các trang như Mediafire.com hoặc google drive rồi gửi link lên đây thôi.