กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
341 9
URL.หัวข้อ /
URL
เรียน คุณ ken
ช่วยตอบคำถาม 2226 ข้อที่ 2 ด้วยครับ
9 Reply in this Topic. Dispaly 1 pages and you are on page number 1
1 @R05114
ผมใช้ MS Office 97 ครับ
2 @R05115
ที่ทราบนะน่าจะเอาไว้ใน cell ที่ต้องการจะให้ขึ้นตัวหนังสือนะ
3 @R05116
ผมหมายถึง การ Add ref. ตัว Microsoft excel 10.0 หรือ 8.0 Object Library ที่จะใช้ใน Access นะคุณ *u*
4 @R05126
ตอบช้าไปหน่อยพอดีวันนี้หยุดงานเลยไม่ได้เปิดดู
ผมใช้ 2002 นะ
แต่ไม่รู้ว่า 97 นี่เป็น Microsoft excel XX ลองหาดูใน Ref ก้แล้วกัน
วิธีการ Add
เข้าไปหน้า Code
คลิ๊กที่ Tools >Ref
เลือก Microsoft excel 10.0 หรือ 8.0 Object Library
คล๊กที่ Ok
ผมใช้ 2002 นะ
แต่ไม่รู้ว่า 97 นี่เป็น Microsoft excel XX ลองหาดูใน Ref ก้แล้วกัน
วิธีการ Add
เข้าไปหน้า Code
คลิ๊กที่ Tools >Ref
เลือก Microsoft excel 10.0 หรือ 8.0 Object Library
คล๊กที่ Ok
5 @R05141
คุณ Ken
วิธีที่ 1 ผม copy ลงไปไว้ ที่ Modules และตั้งชื่อ ว่า Baht_text
แล้วผมเรียกใช้ ที่ Control Source ของ TextBox ดังนี้
=Baht_text(text1)
เมื่อใส่ค่าที่ Text1 มันจะได้ ผลดังนี้ #Name?
ส่วนวิธีที่ 2 ผม เลือก Microsoft excel 8.0 Object Library
ผลลัพธ์ ไม่ปรากฏอะไรเลย
ขอบคุณมากครับ
วิธีที่ 1 ผม copy ลงไปไว้ ที่ Modules และตั้งชื่อ ว่า Baht_text
แล้วผมเรียกใช้ ที่ Control Source ของ TextBox ดังนี้
=Baht_text(text1)
เมื่อใส่ค่าที่ Text1 มันจะได้ ผลดังนี้ #Name?
ส่วนวิธีที่ 2 ผม เลือก Microsoft excel 8.0 Object Library
ผลลัพธ์ ไม่ปรากฏอะไรเลย
ขอบคุณมากครับ
6 @R05142
คุณ Ken
วิธีที่ 2 ได้แล้วครับ
แต่วิธีที่ 1 ยังไม่ได้ครับ
วิธีที่ 2 ได้แล้วครับ
แต่วิธีที่ 1 ยังไม่ได้ครับ
7 @R05144
เดี๋ยววิธีที่ 1 ผมจะเอาตัวอย่างให้ดูพรุ่งนี้(ถ้า Internet ที่ทำงานไม่ปิด)
ไม่เช่นนั้นก็คงต้องวันจันทร์ก็แล้วกัน
ไม่เช่นนั้นก็คงต้องวันจันทร์ก็แล้วกัน
8 @R05145
ตัวอย่าง การแปลงค่าตัวเลขเป็นจำนวนเงิน
9 @R05146
Code ของ Module Thaibaht
Public Function ThaiBaht(ByVal pamt As Double) As String
Dim valstr As String, vLen As Integer, vno As Integer, syslge As String
Dim i As Integer, j As Integer, v As Integer
Dim wnumber(10) As String, wdigit(10) As String, spcdg(5) As String
Dim vword(20) As String
If pamt <= 0# Then
ThaiBaht = ""
Exit Function
End If
valstr = Trim(Format$(pamt, "##########0.00"))
vLen = Len(valstr) - 3
For i = 1 To 20
vword(i) = ""
Next i
wnumber(1) = "˹Öè§": wnumber(2) = "Êͧ": wnumber(3) = "ÊÒÁ": wnumber(4) = "ÊÕè"
wnumber(5) = "ËéÒ": wnumber(6) = "Ë¡": wnumber(7) = "à¨ç´": wnumber(8) = "á»´"
wnumber(9) = "à¡éÒ": wdigit(1) = "ºÒ·": wdigit(2) = "ÊÔº": wdigit(3) = "ÃéÍÂ": wdigit(4) = "¾Ñ¹"
wdigit(5) = "ËÁ×è¹": wdigit(6) = "áʹ": wdigit(7) = "ÅéÒ¹": spcdg(1) = "ʵҧ¤ì": spcdg(2) = "àÍç´"
spcdg(3) = "ÂÕè": spcdg(4) = "¶éǹ"
For i = 1 To vLen
vno = Int(Val(Mid$(valstr, i, 1)))
If vno = 0 Then
vword(i) = ""
If (vLen - i + 1) = 7 Then
vword(i) = wdigit(7) '--ÅéÒ¹
End If
Else
If (vLen - i + 1) > 7 Then
j = vLen - i - 5 '--à¡Ô¹ËÅÑ¡ÅéÒ¹
Else
j = vLen - i + 1 '--ËÅÑ¡áʹ
End If
vword(i) = wnumber(vno) + wdigit(j) '-30¶Ö§90
If vno = 1 And j = 2 Then
vword(i) = wdigit(2) '--ÊÔº
End If
If vno = 2 And j = 2 Then
vword(i) = spcdg(3) + wdigit(j) '--ÂÕèÊÔº
End If
If j = 1 Then ' ÊÔÂàÍç¤ -->à¡éÒÊÔºàÍç´
vword(i) = wnumber(vno)
If vno = 1 And vLen > 1 Then
If Mid$(valstr, i - 1, 1) <> "0" Then
vword(i) = spcdg(2)
End If
End If
End If
If j = 7 Then '-á¡éºÑ¡¡Ã³Õ 11,111,111.00 ÊÔºàÍç´
vword(i) = wnumber(vno) + wdigit(j) '-ÅéÒ¹
If vno = 1 And vLen > 7 Then
If Mid$(valstr, i - 1, 1) <> "0" Then
vword(i) = spcdg(2) + wdigit(j)
End If
End If
End If
End If
Next i
If Int(pamt) > 0 Then
vword(vLen) = vword(vLen) + wdigit(1)
End If
'--------------·È¹ÔÂÁ --------------
valstr = Mid$(valstr, vLen + 2, 2)
vLen = Len(valstr)
For i = 1 To vLen
vno = Int(Val(Mid$(valstr, i, 1)))
If vno = 0 Then
vword(i + 10) = ""
Else
j = vLen - i + 1
vword(i + 10) = wnumber(vno) + wdigit(j)
If vno = 1 And j = 2 Then
vword(i + 10) = wdigit(2)
End If
If vno = 2 And j = 2 Then
vword(i + 10) = spcdg(3) + wdigit(j)
End If
If j = 1 Then
If vno = 1 And Int(Val(Mid$(valstr, i - 1, 1))) <> 0 Then
vword(i + 10) = spcdg(2)
Else
vword(i + 10) = wnumber(vno)
End If
End If
End If
Next i
If pamt <> 0 Then
If Val(valstr) = 0 Then
vword(13) = spcdg(4)
Else
vword(13) = spcdg(1)
End If
End If
'*** à¼×èÍãªé¡Ã³ÕÂÒÇÁÒ¡ áÅеéͧ¡ÒõѴ»ÃÐâ¤
valstr = ""
For i = 1 To 20
'IF LEN(valstr) < 70 AND LEN(valstr + vword(i)) > 70 Then
' valstr = valstr + REPLICATE(" ",70 - LEN(valstr))
'END IF
valstr = valstr + vword(i)
Next i
'valstr='('+valstr+')'
ThaiBaht = (valstr)
End Function
Public Function ThaiBaht(ByVal pamt As Double) As String
Dim valstr As String, vLen As Integer, vno As Integer, syslge As String
Dim i As Integer, j As Integer, v As Integer
Dim wnumber(10) As String, wdigit(10) As String, spcdg(5) As String
Dim vword(20) As String
If pamt <= 0# Then
ThaiBaht = ""
Exit Function
End If
valstr = Trim(Format$(pamt, "##########0.00"))
vLen = Len(valstr) - 3
For i = 1 To 20
vword(i) = ""
Next i
wnumber(1) = "˹Öè§": wnumber(2) = "Êͧ": wnumber(3) = "ÊÒÁ": wnumber(4) = "ÊÕè"
wnumber(5) = "ËéÒ": wnumber(6) = "Ë¡": wnumber(7) = "à¨ç´": wnumber(8) = "á»´"
wnumber(9) = "à¡éÒ": wdigit(1) = "ºÒ·": wdigit(2) = "ÊÔº": wdigit(3) = "ÃéÍÂ": wdigit(4) = "¾Ñ¹"
wdigit(5) = "ËÁ×è¹": wdigit(6) = "áʹ": wdigit(7) = "ÅéÒ¹": spcdg(1) = "ʵҧ¤ì": spcdg(2) = "àÍç´"
spcdg(3) = "ÂÕè": spcdg(4) = "¶éǹ"
For i = 1 To vLen
vno = Int(Val(Mid$(valstr, i, 1)))
If vno = 0 Then
vword(i) = ""
If (vLen - i + 1) = 7 Then
vword(i) = wdigit(7) '--ÅéÒ¹
End If
Else
If (vLen - i + 1) > 7 Then
j = vLen - i - 5 '--à¡Ô¹ËÅÑ¡ÅéÒ¹
Else
j = vLen - i + 1 '--ËÅÑ¡áʹ
End If
vword(i) = wnumber(vno) + wdigit(j) '-30¶Ö§90
If vno = 1 And j = 2 Then
vword(i) = wdigit(2) '--ÊÔº
End If
If vno = 2 And j = 2 Then
vword(i) = spcdg(3) + wdigit(j) '--ÂÕèÊÔº
End If
If j = 1 Then ' ÊÔÂàÍç¤ -->à¡éÒÊÔºàÍç´
vword(i) = wnumber(vno)
If vno = 1 And vLen > 1 Then
If Mid$(valstr, i - 1, 1) <> "0" Then
vword(i) = spcdg(2)
End If
End If
End If
If j = 7 Then '-á¡éºÑ¡¡Ã³Õ 11,111,111.00 ÊÔºàÍç´
vword(i) = wnumber(vno) + wdigit(j) '-ÅéÒ¹
If vno = 1 And vLen > 7 Then
If Mid$(valstr, i - 1, 1) <> "0" Then
vword(i) = spcdg(2) + wdigit(j)
End If
End If
End If
End If
Next i
If Int(pamt) > 0 Then
vword(vLen) = vword(vLen) + wdigit(1)
End If
'--------------·È¹ÔÂÁ --------------
valstr = Mid$(valstr, vLen + 2, 2)
vLen = Len(valstr)
For i = 1 To vLen
vno = Int(Val(Mid$(valstr, i, 1)))
If vno = 0 Then
vword(i + 10) = ""
Else
j = vLen - i + 1
vword(i + 10) = wnumber(vno) + wdigit(j)
If vno = 1 And j = 2 Then
vword(i + 10) = wdigit(2)
End If
If vno = 2 And j = 2 Then
vword(i + 10) = spcdg(3) + wdigit(j)
End If
If j = 1 Then
If vno = 1 And Int(Val(Mid$(valstr, i - 1, 1))) <> 0 Then
vword(i + 10) = spcdg(2)
Else
vword(i + 10) = wnumber(vno)
End If
End If
End If
Next i
If pamt <> 0 Then
If Val(valstr) = 0 Then
vword(13) = spcdg(4)
Else
vword(13) = spcdg(1)
End If
End If
'*** à¼×èÍãªé¡Ã³ÕÂÒÇÁÒ¡ áÅеéͧ¡ÒõѴ»ÃÐâ¤
valstr = ""
For i = 1 To 20
'IF LEN(valstr) < 70 AND LEN(valstr + vword(i)) > 70 Then
' valstr = valstr + REPLICATE(" ",70 - LEN(valstr))
'END IF
valstr = valstr + vword(i)
Next i
'valstr='('+valstr+')'
ThaiBaht = (valstr)
End Function
Time: 0.1091s