Cách dùng sự kiện BeforeInsert?

tienduyet

Member
Hội viên mới
Mong các huynh chỉ em cách dùng sự kiện BeforeInsert để tiến hành sử dụng khi em lập Record mới (kế toán chúng em gọi là Hóa đơn mới) để tạo một số Chứng từ mới.
Cảm ơn các huynh nhiều!:helpsmilie:
 
Ðề: Cách dùng sự kiện BeforeInsert?

Before Insert là một sự kiện xảy ra ngay khi bạn vừa gõ một ký tự bất kỳ vào một control (textbox hoặc khác) làm cho nội dung của control đó thay đổi, tương ứng với một new record. Nó báo cho Access biết rằng đã có một sự thay đổi trên record mới, nhưng dữ liệu này chưa được lưu vào trong table.

Bạn hoàn toàn có thể điều khiển sự kiện này để cho lập số chứng từ mới. Tuy nhiên cần lưu ý là số chứng từ mới của bạn có liên quan đến ngày tháng năm thì bạn nên cho nó liên đới đến một ngày default.

VD: Bạn muốn có số chứng từ dạng 0800001, nghĩa là 2 ký tự đầu chỉ năm, 5 ký tự sau là số tăng trong năm, thì bạn phải default cái ngày chứng từ để nó lấy giá trị này hiện tại hay tương tự vậy.

Trong trường hợp bạn cho nhập chứng từ trễ, nghĩa là chứng từ giấy phát hành rồi (hôm qua chẳng hạn), hôm nay nhân viên mới vào máy thì bạn không nên cho số chứng từ tăng ở Before Insert mà nên cho tăng từ After Update của ngày chứng từ.

Bạn có thể thak khảo thêm phần Help của Access.
 
Ðề: 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 After Update nhé
Cảm ơn anh, mang ơn anh nhiều lắm!
 
Ðề: 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 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á". :hysterical:

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.
 

CẨM NANG KẾ TOÁN TRƯỞNG


Liên hệ: 090.6969.247

KÊNH YOUTUBE DKT

Cách làm file Excel quản lý lãi vay

Đăng ký kênh nhé cả nhà

SÁCH QUYẾT TOÁN THUẾ


Liên hệ: 090.6969.247

Top