ใช้ฟังก์ชั่นนี้ดูครับ Function ThaiNumber(Exp As Double, Optional strFormat As String = "0.00") Dim Nw As String, i As Byte Nw = Format(Exp, strFormat) For i = 0 To 9 Nw = Replace(Nw, i, Chr(i + 240)) Next ThaiNumber = Nw End Function ตัวอย่าง ThaiNumber(123456,"#,###.00") ผลลัพธ์ ๑๒๓,๔๕๖.๐๐
อาจารย์คะ ดิฉันสร้างfunction bahttext ไว้ในฟอร์มขาย ใต้option explicit แล้วสร้างtxt_bahttext ไว้ เสร็จแล้วก็copy ?bahttext(123.50) วางบนImmidiate แล้วเกิดError ว่า sub or function not defined ค่ะ แก้ยังไงคะ www.picz.in.th/image/access-error2.9PfbGf ขอบคุณค่ะ
กำหนดฟังก์ชั่นเป็น Public หรือเปล่าครับ ถ้ากำหนดเป็น Private ให้เปลี่ยนเป็น Public ครับ เช่น Private Function BahtText(ByVal sNum) เปลี่ยนเป็น Public Function BahtText(ByVal sNum)
ถ้าจะแปลงเลขอารบิกเป็นเลขไทย ทำไงครับ ผมแปลงแล้วจำนวนเงิน ตัว , (คอมมาร์) มันหายไปครับ เช่น 1,000 แปลงแล้วเป็น ๑๐๐๐ ( , หายไป)
ใช้ฟังก์ชั่นนี้ดูครับ
Function ThaiNumber(Exp As Double, Optional strFormat As String = "0.00")
Dim Nw As String, i As Byte
Nw = Format(Exp, strFormat)
For i = 0 To 9
Nw = Replace(Nw, i, Chr(i + 240))
Next
ThaiNumber = Nw
End Function
ตัวอย่าง
ThaiNumber(123456,"#,###.00")
ผลลัพธ์
๑๒๓,๔๕๖.๐๐
ผมลองทั้ง 2 วิธี ยังขึ้น error ครับผม ไม่ทราบว่าพอสะดวก remote มาช่วยดูให้หน่อยได้ไหมครับ มีค่าดำเนินการให้ครับผม
ขอบคุณครับ
ขอบคุณมากค่ะ วิธีแรก ง่ายค่ะ ติดปัญหาตรง Bahttext ไม่อยู่ในวงเล็บเหมือนกันค่ะ
มีประโยชน์มากๆๆๆครับ
ขอบคุณมากๆๆค่ะ
รบกวนสอบถามอาจารย์ครับ ทดสอบcode ตามที่อาจารย์สอนแล้ว ครั้งแรกทดสอบผ่าน พอทดสอบอีกโปรแกรมฟ้องว่าไม่มีในนิพจน์ครับ
กำลังหาวิธีอยู่เลยค่ะ
ใช้ที่ฟอร์มค่ะ ต้นแรกขึ้น error แต่ตอนนี้ได้แล้ว พิมพ์ =bahttext(([text33])) แต่ไม่ขึ้นวงเล็บให้ค่ะ จะทำไงให้มีวงเล็บคะ
ถ้าต้องการให้มีวงเล็บด้วย น่าจะใช้ประมาณนี้นะครับ
="(" & bahttext([text33]) & ")"
@@AccessCreator ขอบคุณมากๆๆๆค่ะ
พี่ครับสอบถามไรหน่อยครับ พอจะมีวิธีที่จะสามารถตัดรอบข้อมูลต่อปีมั้ยครับ ยกตัวอย่างเช่น ปี 2018 ผมกรอกข้อมูลไป 2000 ข้อมูล แล้วจะมีเลข auto running number เป็น primary key พอขึ้นปี 2019 เราจะพอมีวิธีมั้ยครับ ที่จะให้เลข auto running number มันกลับมารันที่ 1 ใหม่ โดยอัตโนมัติครับ โดยที่ข่้อมูลเก่ายังเก็บไว้ดูย้อนหลังได้นะครับ เหมือนแยกข้อมูลเป็นปี ๆครับ ขอบคุณครับ
อื่ม อย่างจะต้องเขียนโค้ดรัน Number เองอะครับ โดยตรวจสอบว่าหากเรคคอร์ดใหม่ที่สร้าง ณ ปัจจุบันไม่ปีไม่ตรงกับเรคคอร์ดก่อนหน้าก็ให้ขึ้นเลขใหม่ อะไรประมาณนัี้ครับ คงต้องเขียนโค้ดอย่างเดียวอะครับ
Access-Creator ได้แล้วครับพี่ ใช้วิธีตามที่พี่กล่าวมาเลยครับผม
อาจารย์คะ ดิฉันสร้างfunction bahttext ไว้ในฟอร์มขาย ใต้option explicit แล้วสร้างtxt_bahttext ไว้ เสร็จแล้วก็copy ?bahttext(123.50) วางบนImmidiate แล้วเกิดError ว่า sub or function not defined ค่ะ แก้ยังไงคะ www.picz.in.th/image/access-error2.9PfbGf ขอบคุณค่ะ
กำหนดฟังก์ชั่นเป็น Public หรือเปล่าครับ ถ้ากำหนดเป็น Private ให้เปลี่ยนเป็น Public ครับ เช่น
Private Function BahtText(ByVal sNum)
เปลี่ยนเป็น
Public Function BahtText(ByVal sNum)
@@AccessCreator สวัสดีค่ะ ดิฉันทำได้แล้วค่ะ
ตอนแรกตรงภาษาไทยขึ้น ???? ทำตาม โดยสร้าง textbox วางแล้วเป็นภาษาไทย และก็อปไปวาง กลายเป็น èřõ แทนค่ะ ทำยังไงก็ไม่ได้เป็นภาษาไทย แบบนี้ต้องแก้ยังไงคะ
หมายถึงตอนก๊อปปี้โค้ดจากที่ผมให้ไว้ที่ Google ไดรฟ์ มาวางบน VBA ใช่ป่าวครับ ให้ก่อนทำการก๊อปปี้เปลี่ยนคีย์เป็นภาษาไทยก่อนแล้วค่อยก๊อปปี้ไปวางครับ ส่วนมากจะทำได้นะครับ แต่หากไม่ได้จริงก็ต้องค่อยๆแก้ตัวที่เป็นภาษาไทยด้วยการพิมพ์เอง
@@AccessCreator ขอบคุณมากค่ะ
ทำแล้วขึ้น Compile error Invalid procedure or argument แก้ยังไงครับ
ฉันไม่สามารถพิมพ์ภาษาไทยในพื้นที่โค้ดและโดยเฉพาะฉันไม่สามารถพิมพ์ลาวในที่นั่นด้วย โปรดช่วยฉันแก้ไขตัวเลือกนี้
ใน VBA เราต้องกำหนดฟอนต์ที่รองรับภาษาไทย โดยกำหนดตามภาพนี้ครับ
photos.app.goo.gl/H4VvKrBdf2iSHkP96
ส่วนภาษาลาวผมไม่เคยใช้ คิดว่าก็ต้องหาฟอนต์ที่รองรับภาษาลาวอะครับ
ผมหาไทยได้แล้ว, แต่ไม่สามาดหาพาสาลาวได้ครับ
ไม่เคยลงภาษาลาวเหมือนกันครับ ไม่รู้ว่าต้องกำหนดอะไรเพิ่มหรือไม่ ลองเปลี่ยนภาษาของ Windows เป็นภาษาลาวดูยังครับ photos.app.goo.gl/CWsW4VkrC1haGy49A
คอบคุนมากครับ จะลองดู