Ðề: Cách dùng sự kiện BeforeInsert?
Cảm ơn anh, em đọc rất hay, hiểu ý của anh là nó sẽ làm gì nhưng em không biết phải làm như nào (em đang tự học từ ngày đầu mà).
Anh vui lòng chỉ rõ hơn về Before Insert và After Update nhé
Cảm ơn anh, mang ơn anh nhiều lắm!
Trời ơi nghe cảm ơn mà thấy ... sợ vì chữ được in đậm lên, thấy "khủng bố quá".
Bạn tienduyet thử xem coi mấy đoạn code sau đây nó như thế nào nhé:
Giả sử số hoá đơn có độ dài là 7, 2 ký số đầu chỉ năm, 5 ký số sau là số tăng trong năm.
1. Tự động tạo số hoá đơn theo năm hiện hành trên máy tính, khi bạn vừa mới gõ 1 chữ đầu tiên vào ô nào đó trong record mới.
Private Sub Form_BeforeInsert (Cancel As Integer)
' Lấy số hoá đơn cuối gần nhất trong năm hiện hành
Dim socuoi
socuoi = DMax("sohoadon", "tableHoadon", "Year(ngaylaphoadon) = " &
Year(Date))
If IsNull(socuoi) Then ' nếu chưa có thì số hoá đơn mới là 1
socuoi = Right(Trim(Str(Year(Date)), 2) & "00001"
Else ' nếu có thì số hoá đơn mới sẽ là số cuối + 1
socuoi = Left(socuoi, 2) & Right("00000" & Val(Right(socuoi, 5))+1)
End If
txtsohoadon = socuoi
End Sub
2. Tự động tạo số hoá đơn theo năm của ngày hoá đơn:
Private Sub txtngaylaphoadon_AfterUpdate ()
' Lấy số hoá đơn cuối gần nhất trong năm của hoá đơn
Dim socuoi
socuoi = DMax("sohoadon", "tableHoadon", "Year(ngaylaphoadon) = " &
Year(txtngaylaphoadon))
If IsNull(socuoi) Then ' nếu chưa có thì số hoá đơn mới là 1
socuoi = Right(Trim(Str(Year(txtngaylaphoadon)), 2) & "00001"
Else ' nếu có thì số hoá đơn mới sẽ là số cuối + 1
socuoi = Left(socuoi, 2) & Right("00000" & Val(Right(socuoi, 5))+1)
End If
txtsohoadon = socuoi
End Sub
Vậy thôi.