ใส่Spacecแทนที่ว่างของคำ
กระทู้เก่าบอร์ด อ.Yeadram

 3,276   22
URL.หัวข้อ / URL
ใส่Spacecแทนที่ว่างของคำ

ผมต้องกำหนดความกว้างของฟิลด์ สมมุติว่าเท่ากับ 10
แล้วในข้อมูลของผมมีเนื้อหาไม่ถึง 10 เช่น 123 หรือ 2546 หรือ 987654
ผมขอสมมุติใช้ 0 แทน Space นะครับเพื่อให้มองง่าย
ผมอย่างให้ข้อมูลมันออกมาแบบนี้
0000000123
0000002546
0000987654

ขอโทษนะครับถ้าอ่านแล้ว งง งง พยายามเขียนให้อ่านเข้าใจแต่ไม่รู้จะเขียนยังงัย

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

1 @R12133
Right("0000000000" & [ข้อมูลอะไรก็ว่าไป], 10)
2 @R12134
อาจารย์ครับ แล้วถ้าอยากให้เป็น เลข 0 ทำไงครับ
3 @R12135
ตามที่ อ. สันติสุข นั่นแหละครับ เป็นเลข 0

Right("0000000000" & [ข้อมูลอะไรก็ว่าไป], 10)
ความหมายก็คือ
เอา 0 จำนวน 10 ตัว มาต่อเข้ากับ [ข้อมูล] โดยใช้ ampersand (&) เป็นตัวเชื่อม จากนั้น ตัดข้อความที่ได้จากทางขวาไป 10 ตัว ก็จะได้
[ข้อมูล] ซึ่งยาวเท่าไหร่ไม่ทราบ แต่ไม่ถึง 10 ตัว และมี 0 ต่อไปให้ครบ 10 ตัว ตามที่ต้องการ
คุณ un ก็สามารถ ประยุกต์ได้แล้วครับว่า จะเปลี่ยนเป็นตัวอะไร ยาวแค่ไหน
ขอให้โชคดีครับ
4 @R12136
ตามที่ อ. สันติสุข นั่นแหละครับ เป็นเลข 0

Right("0000000000" & [ข้อมูลอะไรก็ว่าไป], 10)
ความหมายก็คือ
เอา 0 จำนวน 10 ตัว มาต่อเข้ากับ [ข้อมูล] โดยใช้
ampersand (&) เป็นตัวเชื่อม
จากนั้น ตัดข้อความที่ได้จากทางขวาไป 10 ตัว ก็จะได้
[ข้อมูล] ซึ่งยาวเท่าไหร่ไม่ทราบ แต่ไม่ถึง 10 ตัว
และมี 0 ต่อไปให้ครบ 10 ตัว ตามที่ต้องการ
คุณ un ก็สามารถ ประยุกต์ได้แล้วครับว่า
จะเปลี่ยนเป็นตัวอะไร ยาวแค่ไหน
ขอให้โชคดีครับ
5 @R12137
ขอบคุณอาจารย์ทั้งสองท่านครับ ผมลองดูแล้ว ถ้าให้เป็น 0 ใช้งานได้เลยครับ เข้าใจโค็ตแล้วครับ
แต่ถ้าเป็นช่องว่าง ยังนึกไม่ออกครับ ฝากอาจ่รย์ชี้แนะเพิ่มเติมครับ
6 @R12145
ไม่แน่ใจคำถาม ถ้าเป็นช่องว่าง
ไม่ต้องทำอะไร มันก็เป็นช่องว่างอยู่แล้ว
แต่ถ้า อยากได้ ช่องว่างข้างหน้า
เพือให้ข้อมูลทางขวาตรงกัน
ลองใช้ space(10)
แทน 0 จำนวน 10 ตัวดูครับ
7 @R12146
ได้แล้วครับ ง่ายๆ มองข้ามไปหมด 5555

ขอบคุณอาจารย์สันติสุข อาจารย์ditasilk ครับ ชอบไอเดียอาจารย์สันติดสุขอันนี้จริงๆ
8 @R12148
ผมก็เอามาจากคนอื่นอีกที จำไม่ได้ว่าเอามาจากใคร ไม่ได้คิดเองหรอกครับ

สำหรับผมแล้ว ผมนึกเสมอว่ามีโอกาสน้อยกว่า 1 ใน ล้าน ที่เราจะเป็นคนที่คิดอะไรเองเป็นคนแรกในโลก เกือบร้อยทั้งร้อย มีคนคิดมาก่อนเราแล้วทั้งนั้น ดังนั้น ผมก็แค่เอามาถ่ายทอดต่อเท่านั้นครับ
9 @R12150
เห็นด้วนครับ เราหยิบยก สิ่งที่คิดมาแล้ว นำมาใช้ให้เกิดประโยชน์
และสร้างสรรค์งาน มันก็มีให้ใช้มากอยู่แล้ว
ความคิดที่จะสร้าง ส่วนใหญ่มาจาก หาแล้ว ไม่มี หรือ ไม่พบ
หรือมีแต่ไม่ตรง
เมื่อคิดได้แล้ว ก็นำมาถ่ายทอดต่อ ก็จะทำให้คนอื่นนำไปใช้ และคิดสิ่งอื่น ๆ ต่อไป
10 @R12157
@อ.สันติสุข ข้อความที่เขียนบอกความเป็นตัวตนได้เลยนะครับ

ส่วนตัวผมก็เหมือนกันครับ เรื่องดีๆคิดเองไม่เป็น แต่เรื่องไม่ดีดันคิดได้เองตลอด 555
11 @R12187
มีโจทย์ใหม่มาถามอีกแล้วครับ งานเดิม คือว่า
ข้อมูลเป็นชนิด Currency สมมุติเป็น ฿9500.00
ต้องการส่งเป็น Text แบบข้างบน โดยมีความกว้าง 10 ตัวอักษร แล้ว
สองตัวสุดท้ายต้องเป็นหลักทศนิยม มันต้องออกมาตามตัวอย่างนี้
0000950000 ผมลองใช้ Right("0000000000"&[ฟิลด์อ้างอิง],10)
มันอกมาแบบนี้ 0000009500
คำถามคือ จะทำยังงัยกับตำแหน่งทศนิยม ให้ออกมาตามที่ต้องการครับ
12 @R12189
Right("0000000000"&[ฟิลด์อ้างอิง]*100,10)
13 @R12210
ขอบคุณครับอาจารย์ มองข้ามเรื่องเล็กๆ อีกแล้ว^^
14 @R12217
อาจารย์ครับ ในText ไฟล์ ที่ผมส่งเค้าจะเอาเป็นชนิดไม่มีตัวคั่น แล้วก็ใช้ 0 ปนกับ Space ไปทั้งหมด 499 ตัวอักษร ผมทำจนได้แล้ว แต่
ปัญหามีอยู่ว่า เวลาส่งออก ฟิลด์หลังๆ ประมาณ 200 กว่า ตัวอักษรมันเป็น Space เวลาส่งออกมันส่งออกมา 256 ตัวอักษร ทั้งที่ผมลองเปิดใน Query แล้ว Coppy มาใส่ใน Text ไฟล์ มันก็มี 499 ตัวอักษร มันติดปัญหาอะไรครับ มีวิธีทำให้มันส่งมาครบ 499 ตัวอักษรมั้ยครับ
15 @R12219
ใช้วิธีไหนส่งออกครับ อธิบายรายละเอียดมาแต่ละขั้นตอนการส่งออกทำอะไร และส่งออกจากคิวรี่หรือจากเทเบิลโดยตรง เพราะเท่าที่เคยทำ ถ้าส่งออก (Export) แบบ fixed width ไปยังเท็กซ์ไฟล์ มันก็ไม่มีปัญหาใดๆ
16 @R12220
ผมทำ Query โดยดึงจากตาราง ส่วนใหญ่เป็นค่าคงที่ จำนวนฟิลด์ มีมากกว่า 10 ฟิลด์หลังๆ ส่วนใหญ่เป็น Space รวมๆ แล้ว 200 กว่า Space
เสร็จแล้วผมก็ทำ Query ใหม่โดยใช้ Query แรกโดยนำฟิลด์ทุกฟิลด์มาต่อกันด้วย & ในช่องเดี๋ยวเลย
แล้วผมก็ส่งออกเป็น Text ไฟล์ โดยกำหนดตัวคั้นเป็น Space ตัวระบุข้อความไม่มี พอส่งออกมา เอา Cursor ไปไว้ที่หลังสุด มันเป็น 256 ซึ่งผมลอง Copy จาก Query โดยตรง ไปวางแล้วนับได้ 499
17 @R12221
แปลว่าคุณไม่ได้กำหนด Specification ในการส่งออก มันเลยใช้ค่า default เป็น 255 ตัวอักษร

เราสามารถทำได้โดยคลิกขวาที่คิวรี่ - เลือก Export - เลือก Fixed Width - คลิกปุ่ม Advanced - ที่รายละเอียดของแต่ละฟิลด์ กำหนดตำแหน่งเริ่มต้นและความยาวของฟิลด์ตามต้องการ - คลิก OK - ทำตามขั้นตอนต่อไปจนเสร็จ
18 @R12223
อาจารย์ครับผมกำหนดความกว้างเป็น 499 แล้วครับ มันก็ส่งออกมา 256 อยู่ดี
ผมลองแบ่งฟิลด์ จากที่ทำฟิลด์เดียว มันกลับทำได้ ไม่ทราบว่ามันมีลิมิต ที่ 255 รึปล่าว Accress2003 ครับ
19 @R12224
ลองส่งไฟล์ไปที่ accboard@gmail.com แล้วบอกขั้นตอนทีละขั้นเลยว่า ทำอะไร ที่ไหน ยังไง คลิกอะไร เลือกอะไร จนเสร็จทุกขั้นเลยครับ อยากรู้ว่าทำไมถึงตัดออกมาแค่ 255 ตัว
20 @R12229
ผมลองทำดูแล้วก็ทำได้นะครับ ไม่เห็นมีปัญหาอะไรเลย ลองดูตามรูป
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2846s