-
Đánh số TT trong Query hoặc Form
wintq > 22-07-15, 09:37 PM
Sau khi đã chọn lọc mình muốn đánh số TT từ 1,2,3, lại nhưng không được. Mình đã tìm nhiều bài trên mạng tuy đã đánh được nhưng những giá trị trung nhau nó lại cho số TT trung nhau. Ai làm được điều này giúp mình mới đang cần gấp. (stt trong Report thì ok mình muón hiên ra trên Form).
Kiều mình muốn hiên ra là: STT và Họ tên người thứ nhất rồi bấm Next để hiên tiếp stt và Họ tên người thứ 2 -
RE: Đánh số TT trong Query hoặc Form
tranthanhan1962 > 22-07-15, 09:51 PM
(22-07-15, 09:37 PM)wintq Đã viết: Sau khi đã chọn lọc mình muốn đánh số TT từ 1,2,3, lại nhưng không được. Mình đã tìm nhiều bài trên mạng tuy đã đánh được nhưng những giá trị trung nhau nó lại cho số TT trung nhau. Ai làm được điều này giúp mình mới đang cần gấp. (stt trong Report thì ok mình muón hiên ra trên Form).
Kiều mình muốn hiên ra là: STT và Họ tên người thứ nhất rồi bấm Next để hiên tiếp stt và Họ tên người thứ 2
Nếu bạn chỉ muốn hiện lại số thứ tự trên Form sau mỗi lần lọc thì đâu cần phải viết code chi cho nó mệt. Bạn chỉ cần tạo 1 textbox STT rồi gán công thức =[Form].[CurrentRecord] là xong thôi mà. -
RE: Đánh số TT trong Query hoặc Form
Minh Tiên > 24-07-15, 11:13 AM
Bác tranthanhnhan1962 ơi ! Tôi sử dụng Acc2007, Tạo textbox, đánh số tt như bác HD (=[Form].[CurrentRecord]) nhưng không ra số tt mà chỉ hiển thị toàn số 1.
Còn thiếu j ko bác ?Nhờ bác HD thêm.
Thanks ! -
RE: Đánh số TT trong Query hoặc Form
tranthanhan1962 > 24-07-15, 03:00 PM
Mình đang sử dụng access 2003. Nên không test được. Nhưng bạn thử tạo một textbox tên là STT rồi đưa code này vào xem nó có chạy không.
Mã PHP:Private Sub Form_Current()
Me.STT = Me.CurrentRecord
End Sub -
RE: Đánh số TT trong Query hoặc Form
Minh Tiên > 24-07-15, 03:50 PM
Nếu dùng code Form_Current thì:
Khi chọn đến Record 1 tất cả hiển thị stt=1, Record 2 tất cả hiển thị stt=2, ...
Thân./. -
RE: Đánh số TT trong Query hoặc Form
paulsteigel > 24-07-15, 04:23 PM
(22-07-15, 09:37 PM)wintq Đã viết: Sau khi đã chọn lọc mình muốn đánh số TT từ 1,2,3, lại nhưng không được. Mình đã tìm nhiều bài trên mạng tuy đã đánh được nhưng những giá trị trung nhau nó lại cho số TT trung nhau. Ai làm được điều này giúp mình mới đang cần gấp. (stt trong Report thì ok mình muón hiên ra trên Form).
Kiều mình muốn hiên ra là: STT và Họ tên người thứ nhất rồi bấm Next để hiên tiếp stt và Họ tên người thứ 2
Không rõ có phải ý định của tác giả là:
+ Có 1 trường số thứ tự;
+ Khi thêm bản ghi thì trường STT này tự động tăng lên 1 đơn vị và giá trị STT này sẽ được lưu vào trường STT trong Cơ sở dữ liệu;
Nếu tác giả muốn như vậy thì có thể dùng hàm DMAX tại sự kiện Form_BeforeInsert trong đó
STT=nz(DMax("Ten trường cần lấy giá trị mã","Tên bảng", ["Tiêu chí - nếu có"]),0)+1
Với trường hợp này thì số thứ tự sẽ tự động tăng lên mỗi khi bạn có ý định thêm bản ghi -
RE: Đánh số TT trong Query hoặc Form
Minh Tiên > 24-07-15, 05:03 PM
Không phải là Set và lưu số tt vào table đâu paulsteigel.
Đây là trao đổi cách hiển thị số tt trên Form không thông qua query hay table mà là hiển thị trực tiếp !
Thân./. -
RE: Đánh số TT trong Query hoặc Form
tranthanhan1962 > 24-07-15, 11:22 PM
-
RE: Đánh số TT trong Query hoặc Form
Minh Tiên > 25-07-15, 01:10 PM
Có nghĩa: Mình có 5 record, nếu đánh số tt thì là: 1,2,3,4,5. Nhưng khi dùng đoạn code như bác HD thì: Khi di chuyển con chuột vào record 1 (Form hiển thị dạng Continuous ) thì stt ở 5 record (dòng) đều hiển thị số 1, con chuột vào record 2 thì stt của 5 dòng hiển thị số 2, ...
Thân./. -
RE: Đánh số TT trong Query hoặc Form
tranthanhan1962 > 25-07-15, 11:46 PM
Mình hiểu rồi. Textbox STT của mình là Textbox có Control Source là Unbound, trong khi Textbox STT của các bạn có Control Sour là field STT của query. Do mình hiểu nhằm các bạn chỉ cần một textbox tạo số thứ tự chứ không cần đưa số này vào field STT trên record source của form. Sorry nha.
Vậy là cái này lỗi tại mình chứ không phải office 2003 khác với offiec 2007.
Nếu muốn xử lý đưa STT này vào field thì cần phải viết code duyệt form ở event Form Load hay Form Open hoặc vào button lọc hay gì đó để cập nhật lại STT của các bạn.
Mã:Sub DanhSoThuTu()
Dim Bang As Recordset
Dim numSTT As String
Set Bang = Me.RecordsetClone
numSTT = 1
Bang.MoveFirst
Do While Not Bang.EOF
Bang.Edit
Bang![STT] = numSTT
numSTT = numSTT + 1
Bang.Update
Bang.MoveNext
Loop
Bang.Close
End Sub
Private Sub ButtonChonLoc(Cancel As Integer)
DanhSoThuTu
End Sub
Còn nếu sử dụng textbox = Curent Record một cách hoàn chỉnh trên cả single form và continous form các bạn có thể vào đây để tham khảo