อยากให้คำสั่งตัดตัวอักษรตามเงือนไขครับ


0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

02 มี.ค. 66 , 14:34:40
อ่าน 759 ครั้ง

yot

  • สมาชิกไท.Access
  • กระทู้: 10

  • ขอบคุณ ไท.Access

    • ดูรายละเอียด

อยากให้คำสั่งตัดตัวอักษรตามเงือนไขครับ
ข้อมูลก่อนตัดมี 2 แบบ ครับ
แบบที่ 1จะมีทั้งหมด 13 ตัวอักษรเช่น  ABCDEFGHIJKLM     ผลลัพธ์ที่ต้องการเหลือ 12 ตัวอักษรคือ ABCDEFGHIJKL
แบบที่ 2จะมีทั้งหมด 13 ตัวอักษรแต่มีช่องว่าง 2 ช่องและปิดท้ายด้วยตัวอักษร เช่น ABCDEFGHIJ  M ผลลัพธ์ที่ต้องการเหลือ 10 ตัวอักษร คือ ABCDEFGHIJ
     ลองทำแล้วได้ 1 เงื่อนไขคือ =IIf(Len([txtsticker])=13,Left([txtsticker],12)
     จะรบกวนอาจารย์หรือพี่ๆ ช่วยหน่อยครับว่าต้องเพิ่ม code อะไรสำหรับเงือนไขแบบนี้ให้รวมอยู่ในคำสั่งเดียวกัน

     ขอบคุณมากครับ


 

02 มี.ค. 66 , 18:55:02
ตอบกลับ #1

nonc31

: อยากให้คำสั่งตัดตัวอักษรตามเงือนไขครับ
« ตอบกลับ #1 เมื่อ: 02 มี.ค. 66 , 18:55:02 »
ทั้ง 2 ค่า ABCDEFGHIJKLM  และ  ABCDEFGHIJ  M  มีความยาว  13 ตัวอักษรเท่ากัน  แต่อันนึงอยากตัดเอา 12 ตัวอักษร   อีกอันอยากได้  10 ตัวอักษร  ใช้เงื่อนไขอะไรดี มาแยกแยะให้มันแตกต่างกันน้อ   :cool: :cool: :cool:  ใช้ Instr([txtsticker]," ") หาตำแหน่งช่องว่าง แล้วใช้ Mid()เข้ามาช่วย ถ้าเกิดว่ามัน เป็น AB  CDEFGHIJM จะทำไงล่ะ
หรือจะ Replace([txtsticker]," ","") ลบช่องว่างก่อนดี ลบเสร็จความยาวก็จะหายไป 2 ตัว พอทำ =IIf(Len([txtsticker])=13,Left([txtsticker],12),Left([txtsticker],10))

 
โพสต์นี้ได้รับคำขอบคุณจาก: yot

03 มี.ค. 66 , 12:41:38
ตอบกลับ #2
: อยากให้คำสั่งตัดตัวอักษรตามเงือนไขครับ
« ตอบกลับ #2 เมื่อ: 03 มี.ค. 66 , 12:41:38 »
ช่องว่างอยู่ทุกตำแหน่งไหมครับ หรือแบบ pattern เดียวกันคือปิดท้ายเท่านั้น
ลองใส่ code นี้ดู
Private Sub Command1_Click()
  Dim SpacePos As Integer
            SpacePos = InStr(1, Text0, " ")
            If SpacePos = 0 Then 'ถ้าหาตำแหน่งช่องว่างไม่เจอ
               Text1 = Left(Text0, 12) 'ตัดเอาแค่ด้านซ้ายมา 12 หลัก
            Else 'ถ้าหาตำแหน่งช่องว่างเจอ
                Text1 = Left(Text0, 10) 'ให้ตัดแค่ด้านซ้ายมา 10 หลัก
            End If
End Sub
***หมายเหตุ*** บนฟอร์มกำหนด ค่า text0 เพื่อกรอก  text1 เพื่อแสดงผล/Command1 ใช้คลิกและใส่ code

 
โพสต์นี้ได้รับคำขอบคุณจาก: yot

05 มี.ค. 66 , 12:00:12
ตอบกลับ #3

yot

  • สมาชิกไท.Access
  • กระทู้: 10

  • ขอบคุณ ไท.Access

    • ดูรายละเอียด

: อยากให้คำสั่งตัดตัวอักษรตามเงือนไขครับ
« ตอบกลับ #3 เมื่อ: 05 มี.ค. 66 , 12:00:12 »
 :love:ขอบคุุณมากครับอาจารย์ code สามารถนำไปใช้ได้ครับ :love: :love:

 

05 มี.ค. 66 , 12:05:38
ตอบกลับ #4

yot

  • สมาชิกไท.Access
  • กระทู้: 10

  • ขอบคุณ ไท.Access

    • ดูรายละเอียด

: อยากให้คำสั่งตัดตัวอักษรตามเงือนไขครับ
« ตอบกลับ #4 เมื่อ: 05 มี.ค. 66 , 12:05:38 »
ขอบคุณมากครับอาจารย์
ผมลองนำ code มารวมกันยังไม่ได้ครับ  รบกวนอาจารย์ช่วยหน่อยครับ

Replace([txtsticker]," ","") ลบช่องว่างก่อนดี ลบเสร็จความยาวก็จะหายไป 2 ตัว พอทำ =IIf(Len([txtsticker])=13,Left([txtsticker],12),Left([txtsticker],10))


ขอบคุณมากครับ

 

10 มี.ค. 66 , 17:58:39
ตอบกลับ #5

nonc31

: อยากให้คำสั่งตัดตัวอักษรตามเงือนไขครับ
« ตอบกลับ #5 เมื่อ: 10 มี.ค. 66 , 17:58:39 »
IIf(Len(Replace([txtsticker]," ",""))=13,Left(Replace([txtsticker]," ",""),12),Left(Replace([txtsticker]," ",""),10))

 


บอร์ดเรียนรู้ Access สำหรับคนไทย


 

Sitemap 1 2 3 4 5