khongcanbiet486 > 16-01-17, 03:39 PM
maidinhdan > 16-01-17, 09:24 PM
(16-01-17, 03:39 PM)khongcanbiet486 Đã viết: Em muốn tạo một hàm đánh số phiếu tự động. Cụ thể như sau:
PN01-000001
PN01-000002
…..
PN01-999999
Trong đó:
- PN: Là mặc định không đổi
- 01: Thay đổi theo ngày tháng hiện tại. 01 là tháng 01, ….
- 000001: Tự động tăng lên 1 đơn vị. Số này tự động đánh lại khi tháng thay đổi.
Ví dụ: Sang tháng 2 thì nó sẽ là:
PN02-000001
PN02-000002
…..
PN02-999999
Và cứ như vậy nếu tháng thay đổi.
Nhờ mọi người hỗ trợ em nhé!
Cám ơn mọi người nhiều!
Tải file
khongcanbiet486 > 17-01-17, 11:40 AM
Function TaoSP() As String
Dim Num As Integer
Dim loai As String
Num = Nz(DMax("Dem", "tblDuLieu", "NgayCT=Date()"))
loai = DLookup("KyHieu", "tblLoaiPhieu", "ID=1")
dem.Value = Num + 1
TaoSP = loai & Format(NgayCT, "mm") & "-" & Format(dem, "00000")
End Function
Private Sub cmdDong_Click()
DoCmd.Close
End Sub
Private Sub cmdLuu_Click()
If IsNull(Me.SoCT) Then
MsgBox "Vui long nhap so chung tu!", vbCritical + vbCritical, "Access"
Me.SoCT.SetFocus
Else
DoCmd.RunCommand acCmdSaveRecord
If IsNull(Me.SoCT) Then
SoCT.Value = TaoSP
End If
End If
End Sub
Private Sub cmdMoi_Click()
DoCmd.GoToRecord , , acNewRec
If IsNull(Me.SoCT) Then
SoCT.Value = TaoSP
End If
End Sub
maidinhdan > 17-01-17, 04:02 PM
Num = Nz(DMax("Dem", "tblDuLieu", "NgayCT=Date()"))
"NgayCT=Date()"
khongcanbiet486 > 17-01-17, 04:45 PM
cpucloi > 18-01-17, 10:56 AM
khongcanbiet486 > 19-01-17, 07:55 PM
maidinhdan > 19-01-17, 09:06 PM
(19-01-17, 07:55 PM)khongcanbiet486 Đã viết: Đến hôm nay rồi em vẫn không sửa được chỗ lỗi đó ạ! Mong mọi người chỉ thêm cho em ạ!
Function TaoSP() As String
Dim SoMax As Double
SoMax = DMax("Dem", "tblDuLieu") 'Lấy số lớn nhất cột Dem
TaoSP = "PN" & Month(Date) & "-" & Format(SoMax + 1, "000000") ' Số lớn nhất cộng thêm 1, Còn tháng thì lấy tháng theo máy tính
End Function
khongcanbiet486 > 20-01-17, 11:23 AM
Function TaoSP() As String
Dim SoMax As Double
SoMax = DMax("Dem", "tblDuLieu")
loai = DLookup("KyHieu", "tblLoaiPhieu", "ID=1")
TaoSP = loai & Format(Month(Date), "00") & "/" & Format(SoMax + 1, "00000")
End Function
thanhtruong > 22-01-17, 08:44 PM
(20-01-17, 11:23 AM)khongcanbiet486 Đã viết: Em đã sửa theo ý anh hướng dẫn ạ. Và em đã sửa lại một chút hàm cho phù hợp của em:
Em đã sửa trường Dem=AutoNumber. Vậy cho em hỏi thêm 1 câu nữa:Mã PHP:Function TaoSP() As String
Dim SoMax As Double
SoMax = DMax("Dem", "tblDuLieu")
loai = DLookup("KyHieu", "tblLoaiPhieu", "ID=1")
TaoSP = loai & Format(Month(Date), "00") & "/" & Format(SoMax + 1, "00000")
End Function
Nhưng hiện tại đây là dữ liệu giả lập. Em làm rùi em xóa đi. Cho đến khi áp dụng thực tế thì số phiếu của em đã nhảy lên đến số 99999 rùi ạ. Vậy em phải làm như thế này để ở bất cứ thời điểm nào em chi cần nhập vào là PN01/00001 thì nó sẽ nhảy tự động tăng dần lên?
Nhời anh và mọi người hướng dẫn em thêm!
Cám ơn mọi người nhiều!
Tải file đính kèm