กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
304 4
URL.หัวข้อ /
URL
how to reformat Text field?
มี field ID เป็น text field
ค่าเดิมที่ป้อนไว้จะเรียงติดกัน เช่น 4509001
ต้องการเปลี่ยนใหม่ให้เป็นแบบ 45-09-001
ไม่ทราบว่าพอจะมี code สั่งให้ reformat ให้อัตโนมัติบ้างหรือเปล่าคะ
พิมพ์เองบ้างแล้ว แต่มันเยอะเหลือเกิน มึน! ค่ะ
วอนท่านผู้รู้ แก่กล้าวิชา access ทั้งหลาย
ช่วยประทาน code ให้ด้วยเถิด
ขอบคุณค่ะ
ค่าเดิมที่ป้อนไว้จะเรียงติดกัน เช่น 4509001
ต้องการเปลี่ยนใหม่ให้เป็นแบบ 45-09-001
ไม่ทราบว่าพอจะมี code สั่งให้ reformat ให้อัตโนมัติบ้างหรือเปล่าคะ
พิมพ์เองบ้างแล้ว แต่มันเยอะเหลือเกิน มึน! ค่ะ
วอนท่านผู้รู้ แก่กล้าวิชา access ทั้งหลาย
ช่วยประทาน code ให้ด้วยเถิด
ขอบคุณค่ะ
4 Reply in this Topic. Dispaly 1 pages and you are on page number 1
1 @R01039
1.สำรองข้อมูลไว้ก่อนก็ดีนะครับ
2.คุณต้องเพิ่มขนาดของฟิลด์ในตารางจากเดิมเก็บ 7 ตัวอักษร ให้เป็น 9 ตัวอักษรก่อนนะครับ
3.ใช้ Update Query ดังนี้ครับ
UPDATE tbl_Name SET ID = Left([ID],2) & '-' & Mid([ID],3,2) & '-' & Right([รหัส],3);
2 @R01040
ลองใช้ฟังก์ชันข้างล่างดูครับ
Function AddDash(strString As String) As String
If strString <> "" Then
strString = Left(strString, 2) & "-" & Mid(strString, 3, 2) & "-" & Right(strString, 3)
End If
AddDash = strString
End Function
แล้วใช้ Update Query เข้าช่วย ดังนี้ครับ
UPDATE tblCheckIn SET tblCheckIn.CheckInID = AddDash([tblCheckIn].[CheckInID]);
3 @R01041
ขอบพระคุณท่านพระอาจารย์ทั้งสองท่านมากเลยค่ะ
ขอเวลาทดลองสักครู่
แล้วจะรีบแจ้นกลับมารายงานผล
4 @R01042
รายงานผลค่ะ
ทำได้ทั้งสองวิธีเลยนะคะ สะดวกกว่าป้อนด้วยมือเป็นไหนๆ (ป้อนไปกว่าครึ่งแล้วด้วย)
code จากคำแนะนำของท่านอาจารย์ BADMan
ตรงที่ ==Right([รหัส],3);==> คำว่า "รหัส" จะต้องเปลี่ยนเป็น "ID" ให้เหมือนกันด้วยค่ะ
สำหรับ code ของท่านอาจารย์สุภาพ OK เลยค่ะ แถมระบุชื่อ Table & Field ได้ตรงเผงเลย
ขอบพระคุณน้ำใจงามๆ ของชาว Cyber Space ที่นี่จริงๆ
ความรู้ยิ่งให้ ยิ่งมีมาก เขาว่ามาอย่างนี้ไม่รู้จริงหรือเปล่า
Time: 0.1499s