แปลงตัวเลขเป็นตัวอักษร
กระทู้เก่าบอร์ด อ.Yeadram

 25,954   39
URL.หัวข้อ / URL
แปลงตัวเลขเป็นตัวอักษร

สร้าง function ตามนี้ครับ

Public Function BahtText(A As Variant)
On Error Resume Next
BahtText = "( " & Excel.WorksheetFunction.BahtText(A) & " )"
End Function

ประมาณนี้ครับผม

39 Reply in this Topic. Dispaly 2 pages and you are on page number 1

1 @R06266

อย่าลืม

tool--> References

                            --> Microsoft Excel 11.0 Object Library
2 @R06528
ทำแล้วขึ้น #name? ครับ ไม่ทราบว่าเกิดอะไรขึ้นครับ
3 @R06529
พอเอา function Bahttext ไปใช้ใน Report (ป้ายผนึก) มันฟ้องขึ้นกรอบว่า ใส่ค่าพารามิเตอร์ "ฺBahttext"
4 @R06530
แจ้งคุณ เด็กใหม่ เพิ่มเติมครับ
1 ฟังก์ชั่นที่คุณ สำนึกดี ให้มา คุณต้องเอาไปวางในโมดูลเท่านั้นนะ ห้ามวางในฟอร์มหรือรายงาน
2 โมดูลที่ว่านี้ จะสร้างขึ้นมาใหม่หรือ แค่เอาฟังก์ชั่นนี้ไปฝากวางกับโมดูลอื่นๆ ก็ได้ แต่ต้องเป็น Module เท่านั้น
3 ในไฟล์ Access ของคุณ 1 ไฟล์ อนุญาตให้วางฟังก์ชั่นนี้ได้แค่ ที่เดียวเท่านั้น (จะวางในโมดูลใดๆ ก็ได้ แต่ต้อง .. วางแล้ววางเลย ห้ามวางซ้ำในโมดูลอื่นๆ อีก)
4 ห้ามตั้งชื่อ object อื่นๆ (ชื่อตาราง ชื่อคิวรี่ ชื่อฟอร์ม ชื่อรายงาน ชื่อแมคโคร ชื่อโมดูล) ว่า BahtText
5 อย่าลืมอ้างอิงไลบรารี่ ตามที่คุณสำนึกดีแนะนำในความเห็นที่ R06266
5 @R06540
กำลังอยากได้เหมือนกันครับ โค๊ด วีบีเอ ที่ใช้แปลงเป็นตัวอักษรภาษาอังกฤษนะครับ
ลองค้นในบอร์ดแล้วเอาไปใส่มันฟ้องว่า โค็ดผิดครับ ไม่รู้จะแก้ยังไง มีแบบที่ใช้ได้แน่ๆบ้างไหมครับ ต้องการด่วนมากเลย ทำโปรแกรมอยู่เกี่ยวกับการออกเอกสารบัญชีครับ
6 @R06542
ผมลองทำตามข้อ 1-5 แล้วครับ แต่ยังไม่ได้เลยครับ ไม่รู้ว่าจะเช็คที่ตรงไหนได้อีกครับ
ผมจะใช้อ้างอิง Function นี้ใน ฟอร์มใบส่งของ และใช้ในป้ายผนึกติดที่สินค้าที่จะส่ง
ผมมีโมดูลเดียวครับ BahtText
Access ที่ใช้เป็น 2007

รบกวนอีกทีครับ
ขอบคุณครับ :)
7 @R06543
ชื่อโมดูลผมตั้งว่า M-BahtText ภายในผม copy ตามคุณสำนึกดี ข้างต้นครับ
8 @R06545
9 @R06547
ขอบคุณครับ ท่านอาจารย์สันติสุข

ฟังก์ชั่นนี้แหละครับที่ผมก็อปปี้ไปใช้ มันขึ้นแบบนี้ล่ะครับ แต่เอาไปเรียกใช แต่เวลาเอาไปไว้ที่โมดูล คอมไพล์ผ่านครับ ไม่ทราบว่าเป็นเพราะอะไร
10 @R06548
แน่ใจนะครับว่า คอมไพล์แล้วผ่าน ถ้าเป็นอย่างนั้น ให้ลองทำ Compact and Repaor Database ก่อน แล้วดูว่ายังเกิดปัญหาอีกหรือไม่ ถ้ายังเกิด ให้ทำ Decompile อีกที http://www.thai-access.com/yeadram_view.php?topic_id=128 ถ้ายังเกิด ลองสร้างฐานข้อมูลเปล่าตัวใหม่แล้วลองเอาฟังก์ชั่นแปลงตัวเลขไปใช้ในฐานข้อมูลใหม่ดู ผมว่ามันน่าจะใช้ได้นะ
11 @R06550
ผลลองใช้ Function ตามคุณสันติสุข (R06545) แล้วครับ แต่ได้ผลเหมือนเดิมครับ
ไม่รู้ผลทำอะไรผิดไปหรือเปล่า
รบกวนอีกทีครับ
ขอบคุณครับ :)
12 @R06551
คุณเด็กใหม่ทำอะไรไปแล้วบ้าง ทั้งในโมดูลและในตัว Report กำหนดอะไร ค่าอะไร เล่ารายละเอียดมาหน่อยครับ
13 @R06552
ตอนนี้โมดูล มี 1 อัน M-Bahttext โดย copy จาก R00784

ผมใช้ Function Bahttext ใน Form ใบส่งของ
ใบส่งของทำจาก 2 Form
form หลักเป็นหัวใบส่งของ
form ย่อยเป็นรายละเอียดสินค้า ราคา ยอดรวม
ผมรวมยอดรวมต่อ order ไว้ ตั้งชื่อ "nnum"
ผมใช้ Function ว่า =bahttext([nnum]) กำหนดไว้ใน Form ย่อย
14 @R06553
อีกอันผมใช้ function bahttext ใน Report ป้ายผนึกสินค้า ที่ดึงข้อมูลจาก Query อีกอัน
15 @R06554
ยอดรวมในกรอบ "nnum" ผมกำหนดไว้ในส่วนท้ายของ form ย่อย
ื[nnum] รวมข้อมูลจาก =[AmountTotal]+[VatTotal]
16 @R06555
มันยังขึ้น #name? ใช่ไหม ถ้าใช่ ให้ลองเติมคำว่า Public หน้าฟังก์ชั่น BahtText ในโมดูล ก็จะได้เป็น

Public Function BahtText(InputCurrency As Currency) As String

ถ้าเติมแล้ว ยังขึ้น #name? อีก ให้คุณลองเปลี่ยนจาก =bahttext([nnum]) ไปเป็น =[nnum] เฉยๆดู ถ้ายังไม่ได้ ก็แปลว่า อาจไม่ใช่ชื่อ nnum แล้วหล่ะครับ ลองเช็คชื่อดีๆ
17 @R06556
ผมได้ลองใส่ Public ในโมดูลแล้ว ก็ยังขึ้น #Name?
และผมลองเปลี่ยนจาก =BahtText([nnum]) เป็น =[nnum] ขึ้นค่าตัวเลขครับ
18 @R06557
ให้ลองคอมไพล์ดูครับ เผื่อจะมีอะไรผิดพลาดในโค้ด ถ้าคอมไพล์ผ่านให้กด Ctrl-G มันจะแสดง Immediate Window ให้ป้อน ? BahtText(100) ดูว่ามันจะแสดงผลหรือไม่ ถ้าไม่แสดง แปลว่าชื่อ BahtText นี่ต้องสะกดอะไรผิดสักที่
19 @R06558
รบกวนสอนวิธีคอมไพล์หน่อยได้ไหมครับ คือผมไม่ค่อยมีความรู้เรื่องนี้มากนัก :)
ขอบคุณครับ
แต่ผลลองกด Ctrl+G แล้ว พิมพ์?BahtText(100) แล้ว Enter
มันขึ้นฟ้องว่า
"The Macros in this project are disabled ..."
20 @R06559
ผมลองคอมไพล์แล้วผ่านครับ ไม่มีอะไรเกิดขึ้น
และได้ลอง Ctrl+G แล้วพิมพ์ ?BahtText(100) มันฟ้องเหมือนเดิมข้างต้น
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2701s