-
Đánh số thứ tự bằng số La mã
longkd_bvct@yahoo.com.vn > 21-08-21, 10:14 AM
Mọi người cho em hỏi có cách nào đánh số thứ tự trong report bằng số la mã hay không. -
RE: Đánh số thứ tự bằng số La mã
tranthanhan1962 > 21-08-21, 10:52 AM
Về cơ bản thì không có. Nhưng bạn có thể tạo Running Sum bằng chữ số Arab sau ̣đó dùng hàm LAMA dưới đây để biên dịch thành chữ số la mã.
Hàm này tôi chỉ viết đến 40. Nếu cần bạn có thể tự phát triển thêm. Nhưng tôi nghĩ 40 cũng đã thừa với việc đánh số la mã
Function LAMA(SOTT As Integer)
Dim TTLAMA As String
On Error GoTo BiLoi
Select Case SOTT
Case 1
TTLAMA = "I"
Case 2
TTLAMA = "II"
Case 3
TTLAMA = "III"
Case 4
TTLAMA = "IV"
Case 5
TTLAMA = "V"
Case 6
TTLAMA = "VI"
Case 7
TTLAMA = "VII"
Case 8
TTLAMA = "VIII"
Case 9
TTLAMA = "IX"
Case 10
TTLAMA = "X"
Case 11
TTLAMA = "XI"
Case 12
TTLAMA = "XII"
Case 13
TTLAMA = "XIII"
Case 14
TTLAMA = "XIV"
Case 15
TTLAMA = "XV"
Case 16
TTLAMA = "XVI"
Case 17
TTLAMA = "XVII"
Case 18
TTLAMA = "XVIII"
Case 19
TTLAMA = "XIX"
Case 20
TTLAMA = "XX"
Case 21
TTLAMA = "XXI"
Case 22
TTLAMA = "XXII"
Case 23
TTLAMA = "XXIII"
Case 24
TTLAMA = "XXIV"
Case 25
TTLAMA = "XXV"
Case 26
TTLAMA = "XXVI"
Case 27
TTLAMA = "XXVII"
Case 28
TTLAMA = "XXVIII"
Case 29
TTLAMA = "XXIX"
Case 30
TTLAMA = "XXX"
Case 31
TTLAMA = "XXXI"
Case 32
TTLAMA = "XXXII"
Case 33
TTLAMA = "XXXIII"
Case 34
TTLAMA = "XXXIV"
Case 35
TTLAMA = "XXXV"
Case 36
TTLAMA = "XXXVI"
Case 37
TTLAMA = "XXXVII"
Case 38
TTLAMA = "XXXVIII"
Case 39
TTLAMA = "XXXIX"
Case 40
TTLAMA = "XL"
End Select
LAMA = TTLAMA
BiLoi:
End Function -
RE: Đánh số thứ tự bằng số La mã
longkd_bvct@yahoo.com.vn > 21-08-21, 11:25 AM
Dạ em cám ơn anh nhé -
RE: Đánh số thứ tự bằng số La mã
paulsteigel > 21-08-21, 11:08 PM
(21-08-21, 11:25 AM)longkd_bvct@yahoo.com.vn Đã viết: Dạ em cám ơn anh nhé
Có một đoạn code ngắn mình thấy cũng khá tiện để dùng của một tay Tây bạn có thể xem. Mấy dạng đánh số la mã Roman này, nghĩ cũng nhọc đầu phết, cụ tranthanhnhan1962 cũng khổ công nghĩ, quả là nhiệt tình. Thường với mấy cái này em lười nghĩ mà hay đi tìm xem đã ai viết chửa? nếu chửa có mà nó không hữu dụng mấy thì em né luôn. Bản thân em giờ mà cho đánh số la mã đến 20 trở lên là em tèo!
Mã:' Formats a number as a roman numeral.
' Author: Christian d'Heureuse (www.source-code.biz)
Public Function FormatRoman(ByVal n As Integer) As String
If n = 0 Then FormatRoman = "0": Exit Function
' There is no roman symbol for 0, but we don't want to return an empty string.
Const r = "IVXLCDM" ' roman symbols
Dim i As Integer: i = Abs(n)
Dim s As String, p As Integer
For p = 1 To 5 Step 2
Dim d As Integer: d = i Mod 10: i = i \ 10
Select Case d ' format a decimal digit
Case 0 To 3: s = String(d, Mid(r, p, 1)) & s
Case 4: s = Mid(r, p, 2) & s
Case 5 To 8: s = Mid(r, p + 1, 1) & String(d - 5, Mid(r, p, 1)) & s
Case 9: s = Mid(r, p, 1) & Mid(r, p + 2, 1) & s
End Select
Next
s = String(i, "M") & s ' format thousands
If n < 0 Then s = "-" & s ' insert sign if negative (non-standard)
FormatRoman = s
End Function -
RE: Đánh số thứ tự bằng số La mã
tranthanhan1962 > 22-08-21, 10:36 AM
Chẳng qua hồi đó còn là cán bộ bàn giấy. Làm mấy báo cáo nghiệp vụ, chuyên đề, có cái vụ đánh số la mã. Mà code này cũng có gì đâu. Dịch trực tiếp mà copy, paste, rồi sửa thôi. Khoản 10' là xong