แทนที่หมายเลขเริ่มต้นใน MS Access


2

ฉันมีรายการหมายเลขโทรศัพท์จำนวนมาก .. ทุกอย่างเริ่มต้นที่ 09 ดังนั้นฉันต้องการแทนที่ Initial 09 ทั้งหมดเป็น 959 ... อาจมีหมายเลข 09 อยู่ภายในโทรศัพท์ แต่ฉันไม่ต้องการเปลี่ยน ฉันต้องการเปลี่ยน Initial 09 เป็น 959 เท่านั้นโปรดช่วย ....

  • 09111222333 เป็น 959111222333
  • 09110922233 เป็น 959110922233

นี่คือสิ่งที่ฉันลอง! แต่ไม่ทำงาน

เลือกแทนที่ ('09 * ',' 09 ',' 959 ') จาก MyTable;

ขอบคุณทุกคน

คำตอบ:


0

ตรวจสอบให้แน่ใจว่าคุณใช้คิวรีอัปเดต คุณต้องการแทนที่เหตุการณ์ที่เกิดขึ้นครั้งแรกของ '09' เท่านั้นดังนั้นคุณต้องบอกฟังก์ชั่นการแทนที่

ลองแทนที่ ([yourfield], '09', '959', 1,1) ซึ่งบอกให้ Access แทนที่เฉพาะการเกิดขึ้นครั้งแรกของสตริง '09' ใน [yourfield] โดยเริ่มจากอักขระตัวแรก

ตามที่ระบุไว้ในความคิดเห็นการแก้ปัญหานี้จะถือว่าหมายเลขโทรศัพท์ของคุณทั้งหมดเริ่มต้นด้วย '09' ชั้นนำ หากพวกเขาไม่ได้คุณจะต้องทำงานกับประโยคถ้า:

IIF (ซ้าย ([yourfield], 2) = '09' แทน ([yourfield], '09', '959', 1,1) [yourfield])


1
ตามหมายเหตุนี้หมายความว่าหากคุณมีตัวเลขที่ไม่มี 09 นำหน้าคุณจะแทนที่เหตุการณ์อื่นหากมี (มีแนวโน้ม) ดังนั้น 555111109 จะยังคงถูกแทนที่
เซท

1
จริง แต่ผู้โพสต์ระบุว่าหมายเลขโทรศัพท์ทั้งหมดขึ้นต้นด้วย '09' ฉันจะอธิบายคำตอบของฉันให้ชัดเจน
AdmiralFreebee

1
เพื่อหลีกเลี่ยงปัญหาเกี่ยวกับตัวเลขที่ไม่ได้ขึ้นต้นด้วย 09 สามารถทำได้อย่างแน่นอนแทนที่ () ที่ด้านซ้ายสุดของสตริงดังนั้นสิ่งที่ต้องการแทนที่ (ซ้าย ([yourfield], 2), '09', '959') [รหัสที่เขียนด้วยมือเปล่าไม่ผ่านการทดสอบ]
Christian Geiselmann

แทนที่ [yourfield], '09', '959', 1,1 .... ฉันควรใส่อะไรใน [yourfield] ??? ฉันเป็นแค่มือใหม่ ดังนั้นฉันจึงไม่ค่อยรู้เรื่องนี้มากนัก
Ms.Y

[yourfield] เป็นเพียงตัวยึดตำแหน่งสำหรับชื่อคอลัมน์ของคุณที่ถือหมายเลขโทรศัพท์
AdmiralFreebee
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.