snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Access and VBA
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่างเพิ่มเติม)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
tast107
Member
Posts: 88 Joined: Sun Apr 03, 2011 5:51 pm
#1
Post
by tast107 » Sat Feb 16, 2013 2:45 pm
คือว่าผมต้องการเรียงลำดับตัวเลข แต่ปัญหาคือ ขนาดวัตถุมันต้องมีเครื่องหมายมาเกี่ยวข้อมันเลยกลายเป็นข้อความ เช่น
16 X 20
8 X 20
มันจะเกิดปัญหาคือ 8 X 20 จะอยู่หลัง 16X20 ผมอยากได้ 8X20 แปลว่าผมต้องแปลง 8 แล้ว 20 เป็นตัวเลข จะมีวิธีทำหรือป่าวครับ
snasui
Site Admin
Posts: 30919 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#2
Post
by snasui » Sat Feb 16, 2013 2:47 pm
เรียงในโปรแกรมใดครับ
tast107
Member
Posts: 88 Joined: Sun Apr 03, 2011 5:51 pm
#3
Post
by tast107 » Sat Feb 16, 2013 2:51 pm
access ครับ
tast107
Member
Posts: 88 Joined: Sun Apr 03, 2011 5:51 pm
#4
Post
by tast107 » Sat Feb 16, 2013 3:02 pm
ผมได้แนบไฟล์ตัวอย่างมาแล้วครับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30919 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#5
Post
by snasui » Sat Feb 16, 2013 3:40 pm
ลอง Query ด้วย SQL ตาม Statement ด้านล่างครับ
Code: Select all
select * from table1
order by replace([size],"X","")+0 asc
tast107
Member
Posts: 88 Joined: Sun Apr 03, 2011 5:51 pm
#6
Post
by tast107 » Sat Feb 16, 2013 5:04 pm
ถ้าเปลี่ยนจาก combobox เป็น textbox มีวิธีการเรียงอย่างไรครับ
snasui
Site Admin
Posts: 30919 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#7
Post
by snasui » Sat Feb 16, 2013 5:25 pm
ไม่เข้าใจครับ ตาม SQL ด้านบนเป็นการสร้าง Query ขึ้นมาเพื่อเรียกข้อมูลและเรียงข้อมูลใหม่ตามต้องการ
ไม่ทราบว่าต้องการให้ข้อมูลแสดงที่ไหน อย่างไร ช่วยเขียนอธิบายให้ละเอียด ที่ลองแล้วติดปัญหาใดครับ
tast107
Member
Posts: 88 Joined: Sun Apr 03, 2011 5:51 pm
#8
Post
by tast107 » Tue Feb 19, 2013 8:50 am
ถ้าเปลี่ยนจากข้อความเป็นตัวเลขใน combo box ทำได้แล้ว เพราะมันเป็นช่อง row source แต่ถ้าเปลี่ยนจากข้อความเป็นตัวเลขใน Text Box ยังทำไม่ได้เพราะไม่มีช่อง row source ให้ใส่สูตร
snasui
Site Admin
Posts: 30919 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#9
Post
by snasui » Tue Feb 19, 2013 11:56 am
ใช้ตัวแปรมารับค่าจาก TextBox โดยเขียนสูตรให้เปลี่ยนค่าใน TextBox นั้นไปเป็นค่าของตัวแปรครับ
tast107
Member
Posts: 88 Joined: Sun Apr 03, 2011 5:51 pm
#10
Post
by tast107 » Tue Feb 19, 2013 3:10 pm
ยังนึกภาพไม่ออกเลยว่า
เขียนตัวแปรที่ไหน เช่นถ้าใน combo box ก็เขียนใน row source
snasui
Site Admin
Posts: 30919 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#11
Post
by snasui » Tue Feb 19, 2013 3:11 pm
ลองเขียนตัวแปรมารับค่าใน Row Source ให้ดูเป็นตัวอย่างหน่อยครับ
tast107
Member
Posts: 88 Joined: Sun Apr 03, 2011 5:51 pm
#12
Post
by tast107 » Tue Feb 19, 2013 3:38 pm
ผมได้แนบไฟล์ที่ยังทำไม่ได้ครับ
ฟอร์มหลักคือ form1 ซึ่ง พอเราเลือก combobox แล้วผลลัพธ์จะโชว์ใน subform ซึ่งมันเป็นข้อความผมอยากแปลงให้เป็นตัวเลข มันจะได้เรียงกัน
เช่น
8 อยู่ก่อน 10 ไม่ใช่ 10 อยู่ก่อน 8
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30919 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#13
Post
by snasui » Tue Feb 19, 2013 4:42 pm
ใน Query1 ลองปรับ SQL Statement เป็นตามด้านล่างครับ
Code: Select all
SELECT val(Replace(Table2.Size,"x","")) AS [Size]
FROM Table2
WHERE (((Table2.Cat_ID)=[forms]![form1]![cboTCat]))
GROUP BY Table2.Size;
tast107
Member
Posts: 88 Joined: Sun Apr 03, 2011 5:51 pm
#14
Post
by tast107 » Wed Feb 20, 2013 8:58 am
ยังไม่ได้เลยครับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30919 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#15
Post
by snasui » Wed Feb 20, 2013 9:03 am
ช่วยอธิบายรายละเอียดครับ
ที่ว่าไม่ได้นั้นเป็นอย่างไร ต้องการคำตอบเป็นอย่างไร
tast107
Member
Posts: 88 Joined: Sun Apr 03, 2011 5:51 pm
#16
Post
by tast107 » Wed Feb 20, 2013 9:16 am
คือคำตอบที่ได้ เช่น เลือก nokia ผลที่ได้ เป็น
101
1010
103
66
76
86
96
จริงๆ มันต้อง
6x6
7x6
8x6
9x6
10x1
10x3
10x10
snasui
Site Admin
Posts: 30919 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#17
Post
by snasui » Wed Feb 20, 2013 11:24 am
ลองปรับ SQL Statement เป็นตามด้านล่างครับ
Code: Select all
SELECT table2.size
FROM Table2
WHERE (((Table2.Cat_ID)=[forms]![form1]![cboTCat]))
GROUP BY Table2.Size
ORDER BY Val(Replace(Table2.Size,"x",""));
ดูภาพประกอบด้านล่างครับ
You do not have the required permissions to view the files attached to this post.
tast107
Member
Posts: 88 Joined: Sun Apr 03, 2011 5:51 pm
#18
Post
by tast107 » Wed Feb 20, 2013 1:33 pm
เอทำไมเลือก sony มันเป็น
8x6
10x2
20x3
7x20
จริงๆ ต้อง
8x6
10x2
20x3
7x20
ไมใช่หรอครับ ผมก็งงนะ nokia samsung ก็ถูกหมด
snasui
Site Admin
Posts: 30919 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#19
Post
by snasui » Wed Feb 20, 2013 1:43 pm
ที่โพสต์มาท่อนบนกับท่อนล่างมันต่างกันอย่างไรครับ
สำหรับการเรียง
มันเรียงตามตัวเลขที่เอา x ออกแล้ว ครับ
tast107
Member
Posts: 88 Joined: Sun Apr 03, 2011 5:51 pm
#20
Post
by tast107 » Wed Feb 20, 2013 1:45 pm
แล้วมีวิธีให้มันเรียงตาม หน้า x และหลัง x ไหมครับ โพสผิด ต้องเป็น
7x20
8x6
10x2
20x3