Theo MTNQ thì ý của chủ thớt là trên Single Form và câu trả lời đầu tiên của bác Ân là chính xác rùi
(Không biết bạn
wintq còn đây không nhỉ, sao không thấy hồi âm gì vậy
)
Câu hỏi của bạn
Minh Tiên là trên Continuous Forms (hay Datasheet) thì lại khác, không dùng
=[Form].[CurrentRecord] được, có một số cách đánh số thứ tự cho trường hợp này. MTNQ xin giới thiệu cách dùng thuộc tính AbsolutePosition của Recordset (Link tham khảo AbsolutePosition )
-Chép hàm sau vào một Module bất kỳ:
Mã:
Public Function fSTT(frm As Form) As Variant
On Error GoTo Err_fSTT
With frm.RecordsetClone
.Bookmark = frm.Bookmark
fSTT = .AbsolutePosition + 1
End With
Exit_fSTT:
Exit Function
Err_fSTT:
If Err.Number <> 3021 And Err.Number <> 2196 Then
Debug.Print "fSTT() error " & Err.Number & " - " & Err.Description
End If
fSTT = Null
Resume Exit_fSTT
End Function
-Text box STT gán Controle Source: =fSTT([Form])
Demo
(Lười tạo table nên mượn đỡ Data của một bạn nào đó trên diễn đàn, các bạn thông cảm nha )
Lưu ý:
-Với DAO thì Record đầu tiên có AbsolutePosition = 0 còn ADO thì =1. Nếu sử dụng ADO thì thay dòng fSTT = .AbsolutePosition + 1 bằng fSTT = .AbsolutePosition