pherotao > 08-12-10, 03:38 PM
Noname > 08-12-10, 04:17 PM
UPDATE table1 SET MSGD = [color=#FF0000]"Số mã số "[/color]
WHERE ....Nguyendinhthanh > 10-01-11, 09:59 PM
(15-09-10, 01:43 AM)Noname Đã viết: Mình demo thử yêu cầu của bạn nhé.
Giả sử bạn có 1 table DS(ID,code, numchar,group)
Đoạn code sau có lẽ đáp ứng được nhu cầu của bạn:
Giải thuật của mình như sau:
Mã:Private Sub Command1_Click() Dim rs As Recordset Dim i As Integer ' Bien de duyet Dim j As Integer ' bien luu group Dim X1 As Integer ' so phan tu group m-1 Dim X2 As Integer ' so phan tu group m Dim n As Integer ' so record . Set rs = CurrentDb.OpenRecordset("DS", dbOpenDynaset) rs.MoveLast n = rs.RecordCount 'vi du n=37 If (n Mod 10) > 5 Then X1 = Round((((n Mod 10) + 10) / 2) + 0.5, 0) X2 = Fix(((n Mod 10) + 10) / 2) Else ' truong hop so du <5 X1 = n Mod 10 X2 = 0 End If rs.MoveFirst i = 1 j = 1 Do Until rs.EOF 'Cap nhat Numchar rs.Edit rs("numchar") = i rs("group") = j rs.Update If ((i < (n - X1 - X2)) And ((i Mod 10) = 0)) Or ((i = (n - X1 - X2)) And (X1 > 5)) Or (i = n - X2) Then j = j + 1 End If i = i + 1 rs.MoveNext Loop rs.Close End Sub
Mời xem file đính kèm
Noname > 10-01-11, 10:08 PM
Nguyendinhthanh > 10-01-11, 10:25 PM
(10-01-11, 10:08 PM)Noname Đã viết:(10-01-11, 09:59 PM)Nguyendinhthanh Đã viết: Nếu có thêm fields số thứ tự nhóm (STTNhom) đánh số thứ tự cho mỗi nhóm (từ 1 đến hết nhóm; chuyển sang nhóm khác lại đánh số thứ tự từ 1 đến hết nhóm) thì làm thế nào nhỉ
Đó là việc của report.
Hình như trong box report mình có nói đấy! Sang đó mà kiếm
Noname > 10-01-11, 10:52 PM