กระทู้เก่าบอร์ด อ.Yeadram
6,878 5
URL.หัวข้อ /
URL
ทศนิยม 2 ตำแหน่ง
price newprice
492.5 492.50
5492.50 5492.50
1 1.00
130 130.00
459.8 459.80
459 459.00
50.50 50.50
5.40 5.40.00
285 285.00
285 285.00
120 120.00
120 120.00
199.5 199.50
199.5 199.50
3.0 3.00
319 319.00
407.5 407.50
เรียนอาจารย์ทุกท่านครับ ผมมีข้อมูล ทางคอลัมภ์ซ้ายมือ Forrmat เป็น Text
ซึ่งมีจุดทศนิยม 1 ตำแหน่งบ้าง 2 ตำแหน่งบ้าง และบางตำแหน่งไม่มีจุดทศนิยม
ต้องการให้ได้ข้อมูลออกมา เหมือนทางคอลัมภ์ ขวามือ ด้วยวิธีการ Update ให้เป็นทศนิยม 2 ตำแหน่ง ทุก Record ไม่มีจุลภาคขั้น (Format ยังคงเป็น Text เหมือนเดิม)
เงื่อนไขคือ
1 .ถ้ามีทศนิยม 1 ตำแหน่ง ให้เติม 0 (ศูนย์) ต่อท้าย เพื่อให้ครบสองตำแหน่ง
2. ถ้าไม่มีทศนิยม ให้เติม .00 (จุดศูนย์ศูนย์) ต่อท้าย เพื่อให้ครบสองตำแหน่ง
3. ถ้ามีทศนิยม 2 ตำแหน่งอยู่แล้ว ไม่ต้องแก้ไขอะไรให้ข้อมูลคงเดิม
ผมทดลองใช้ ใน Query แต่ได้ไม่ครบทุก Record
Expr : Trim([Price]) & IIf(Len([price])-InStrRev([price],'.')=1 And Len([Price])<>1 And Len([Price])-InStrRev([price],'.')=2,'0','.00')
อยากได้เป็น Module, Function, หรือ Commandline หรือ Vb น่าจะครอบคลุมกว่าใช้ Query
พยายามเปิดดู การใช้ For next Do untile ก้ไม่ค่อยเข้าใจนัก (แทนค่าไม่ถูกครับ)
492.5 492.50
5492.50 5492.50
1 1.00
130 130.00
459.8 459.80
459 459.00
50.50 50.50
5.40 5.40.00
285 285.00
285 285.00
120 120.00
120 120.00
199.5 199.50
199.5 199.50
3.0 3.00
319 319.00
407.5 407.50
เรียนอาจารย์ทุกท่านครับ ผมมีข้อมูล ทางคอลัมภ์ซ้ายมือ Forrmat เป็น Text
ซึ่งมีจุดทศนิยม 1 ตำแหน่งบ้าง 2 ตำแหน่งบ้าง และบางตำแหน่งไม่มีจุดทศนิยม
ต้องการให้ได้ข้อมูลออกมา เหมือนทางคอลัมภ์ ขวามือ ด้วยวิธีการ Update ให้เป็นทศนิยม 2 ตำแหน่ง ทุก Record ไม่มีจุลภาคขั้น (Format ยังคงเป็น Text เหมือนเดิม)
เงื่อนไขคือ
1 .ถ้ามีทศนิยม 1 ตำแหน่ง ให้เติม 0 (ศูนย์) ต่อท้าย เพื่อให้ครบสองตำแหน่ง
2. ถ้าไม่มีทศนิยม ให้เติม .00 (จุดศูนย์ศูนย์) ต่อท้าย เพื่อให้ครบสองตำแหน่ง
3. ถ้ามีทศนิยม 2 ตำแหน่งอยู่แล้ว ไม่ต้องแก้ไขอะไรให้ข้อมูลคงเดิม
ผมทดลองใช้ ใน Query แต่ได้ไม่ครบทุก Record
Expr : Trim([Price]) & IIf(Len([price])-InStrRev([price],'.')=1 And Len([Price])<>1 And Len([Price])-InStrRev([price],'.')=2,'0','.00')
อยากได้เป็น Module, Function, หรือ Commandline หรือ Vb น่าจะครอบคลุมกว่าใช้ Query
พยายามเปิดดู การใช้ For next Do untile ก้ไม่ค่อยเข้าใจนัก (แทนค่าไม่ถูกครับ)
5 Reply in this Topic. Dispaly 1 pages and you are on page number 1
1 @R13445
Expr : format(cdec([price]),"0.00")
2 @R13448
ทดลองแล้วครับ ปรับแก้ ให้ Query ยอมรับใน Access เป็น Expr: Format(CDec([price],"0.00")) ผลที่ได้ออกมา เป็น 0 (ศูนย์) ตัวเดียว ทุก Record เลยครับ อีก Format ที่ผมไปค้นหามา Expr :Format(CInt([price]),'0.00') อันนี้ได้ ทศนิยมสองตำแหน่ง แต่ค่าที่ได้ เป็น .00 (จุดศูนย์ศูนย์) อย่างเดียวเลยครับ ไม่ทราบว่าเกิดจากสาเหตุใดครับ ผมลองค้นหาใน Help ของ Ms.Access ไม่พบเลยครับ
3 @R13450
ในคิวรี่ NewPrice : cdbl([Price])
แล้วไม่ต้องสนว่าในคิวรี่มันจะแสดงผลยังไง
ไปดูที่ฟอร์มหรือ รายงานเลยครับ ปรับแต่งการแสดงผลที่ textbox นู่นเลย
แล้วไม่ต้องสนว่าในคิวรี่มันจะแสดงผลยังไง
ไปดูที่ฟอร์มหรือ รายงานเลยครับ ปรับแต่งการแสดงผลที่ textbox นู่นเลย
4 @R13451
ถ้าต้องการ update ในตารางโดยตรงใช้ query
Update [PriceTable]
Set [Price] = Format(CDbl([Price]),"0.00")
อย่าลืม backup ก่อนนะครับ
Update [PriceTable]
Set [Price] = Format(CDbl([Price]),"0.00")
อย่าลืม backup ก่อนนะครับ
5 @R13452
ขอบคุณอาจารย์ทั้ง สามท่านเลยครับ
CDec กับ CDbl ในกรณีของผม ใช้ CDbl ได้ผลครับ.....
CDec กับ CDbl ในกรณีของผม ใช้ CDbl ได้ผลครับ.....
Time: 0.2637s