แปลงค่าข้อมูลค่ะ
กระทู้เก่าบอร์ด อ.Yeadram

 960   6
URL.หัวข้อ / URL
แปลงค่าข้อมูลค่ะ

รบกวนชาวไท access ทุกท่านด้วยค่ะ
1. ถ้าเราต้องการนำข้อมูลมาแปลง เช่น เลข 36 ต้องการแปลงเป็น Q000036 คือว่า เพิ่มตัว Q ไป 1 ตัว และเพิ่มเลขเข้าไป เพื่อให้ตัวเลขครบ 6 หลัก วิธีการทำอย่างไรค่ะ
2.เอาข้อมูลตั้งแต่ตัวที่ 2 มาแสดงค่า เช่น P12345 เวลาออกรายงาน ต้องการออกรายงาน โดยเอาอักษรตั้งแต่ตัวที่ 2 เป็นต้นไป ดังนั้นจะเป็น 12345 มีวิธีการทำอย่างไรค่ะ

รบกวนช่วยแนะนำด้วยนะค่ะ
ขอบคุณค่ะ

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

1 @R19055
สมมติว่า ฟิลด์ที่เก็บตัวเลขชื่อ txtNumber ก็ให้กำหนด Control Source ให้กับฟิลด์ที่ต้องการแสดงผลเป็น Q000036 ว่า


= "Q" & Format([txtNumber],"000000")
2 @R19057
ข้อ 2 ลองไปเปิดดู TextFunction ใน Excel ก็ได้ครับ ไม่ว่าจะเป็นฟังค์ชั่น Left, Right,หรือ Mid เป็นต้น ส่วนโจทย์ของคุณในข้อ 2 ใช้ Mid([ข้อมูล],2,5)

เลข 2 หมายถึงเริ่มจากตัวที่ 2 จากทางซ้ายมือ
ส่วนเลข 5 หมายถึงต้องการ 5 หลักตั้งแต่หลักที่ 2 เป็นต้นไป
3 @R19059
ขอบคุณ คุณธัชชัยมากค่ะ
รบกสนถามคุณสมชายหน่อยค่ะ ถ้า Range ของข้อมูลไม่แน่นอน บางข้อมูลมี 10 ตัว บางข้อมูลมี 9 ตัว
บางข้อมูลมี 6 ตัว แต่เราต้องการหลักที่ 2 เป็นต้นไป เราจะเขียนศูตรได้ยังไงค่ะ เพราะถ้า Mid([Data)],2,5) จะใช้ได้ในกรณีที่ข้อมูล มี Range เท่ากัน ตอนนี้ที่คิดออกก็มี Right([Data],Len([Data])-1) แต่พอเอาใส่ไว้ที่ Criteria ข้อมูลก็ยังเหมือนเดิม ไม่มีการเปลี่ยนแปลงอะไร อยากทราบว่า ส่วนนี้พอแนะนำได้ไหมค่ะ ว่าสูตรผิด หรือ ใส่เงื่อนไขผิดที่

ขอบคุณค่ะ
4 @R19060
ใช้ mid([ข้อมูล], 2) ครับ
แบบนี้หมายถึงเอาตั้งแต่ตัวที่ 2 จนหมด
5 @R19061
ตัวอย่างจาก msdn microsoft การใช้ mid() function

' Creates text string.
Dim TestString As String = "Mid Function Demo"
' Returns "Mid".
Dim FirstWord As String = Mid(TestString, 1, 3)
' Returns "Demo".
Dim LastWord As String = Mid(TestString, 14, 4)
' Returns "Function Demo".
Dim MidWords As String = Mid(TestString, 5)
6 @R19063
ขอบคุณ คุณ Tide มากค่ะ ที่ช่วยแนะนำ ตอนนี้ได้ค่าที่ต้องการแล้วค่ะ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3763s