Page 1 of 2
แปลงข้อความเป็นตัวเลข
Posted: Sat Feb 16, 2013 2:45 pm
by tast107
คือว่าผมต้องการเรียงลำดับตัวเลข แต่ปัญหาคือ ขนาดวัตถุมันต้องมีเครื่องหมายมาเกี่ยวข้อมันเลยกลายเป็นข้อความ เช่น
16 X 20
8 X 20
มันจะเกิดปัญหาคือ 8 X 20 จะอยู่หลัง 16X20 ผมอยากได้ 8X20 แปลว่าผมต้องแปลง 8 แล้ว 20 เป็นตัวเลข จะมีวิธีทำหรือป่าวครับ
Re: แปลงข้อความเป็นตัวเลข
Posted: Sat Feb 16, 2013 2:47 pm
by snasui
เรียงในโปรแกรมใดครับ
Re: แปลงข้อความเป็นตัวเลข
Posted: Sat Feb 16, 2013 2:51 pm
by tast107
access ครับ
Re: แปลงข้อความเป็นตัวเลข
Posted: Sat Feb 16, 2013 3:02 pm
by tast107
ผมได้แนบไฟล์ตัวอย่างมาแล้วครับ
Re: แปลงข้อความเป็นตัวเลข
Posted: Sat Feb 16, 2013 3:40 pm
by snasui
ลอง Query ด้วย SQL ตาม Statement ด้านล่างครับ
Code: Select all
select * from table1
order by replace([size],"X","")+0 asc
Re: แปลงข้อความเป็นตัวเลข
Posted: Sat Feb 16, 2013 5:04 pm
by tast107
ถ้าเปลี่ยนจาก combobox เป็น textbox มีวิธีการเรียงอย่างไรครับ
Re: แปลงข้อความเป็นตัวเลข
Posted: Sat Feb 16, 2013 5:25 pm
by snasui
ไม่เข้าใจครับ ตาม SQL ด้านบนเป็นการสร้าง Query ขึ้นมาเพื่อเรียกข้อมูลและเรียงข้อมูลใหม่ตามต้องการ
ไม่ทราบว่าต้องการให้ข้อมูลแสดงที่ไหน อย่างไร ช่วยเขียนอธิบายให้ละเอียด ที่ลองแล้วติดปัญหาใดครับ
Re: แปลงข้อความเป็นตัวเลข
Posted: Tue Feb 19, 2013 8:50 am
by tast107
ถ้าเปลี่ยนจากข้อความเป็นตัวเลขใน combo box ทำได้แล้ว เพราะมันเป็นช่อง row source แต่ถ้าเปลี่ยนจากข้อความเป็นตัวเลขใน Text Box ยังทำไม่ได้เพราะไม่มีช่อง row source ให้ใส่สูตร
Re: แปลงข้อความเป็นตัวเลข
Posted: Tue Feb 19, 2013 11:56 am
by snasui
ใช้ตัวแปรมารับค่าจาก TextBox โดยเขียนสูตรให้เปลี่ยนค่าใน TextBox นั้นไปเป็นค่าของตัวแปรครับ
Re: แปลงข้อความเป็นตัวเลข
Posted: Tue Feb 19, 2013 3:10 pm
by tast107
ยังนึกภาพไม่ออกเลยว่า
เขียนตัวแปรที่ไหน เช่นถ้าใน combo box ก็เขียนใน row source
Re: แปลงข้อความเป็นตัวเลข
Posted: Tue Feb 19, 2013 3:11 pm
by snasui
ลองเขียนตัวแปรมารับค่าใน Row Source ให้ดูเป็นตัวอย่างหน่อยครับ
Re: แปลงข้อความเป็นตัวเลข
Posted: Tue Feb 19, 2013 3:38 pm
by tast107
ผมได้แนบไฟล์ที่ยังทำไม่ได้ครับ
ฟอร์มหลักคือ form1 ซึ่ง พอเราเลือก combobox แล้วผลลัพธ์จะโชว์ใน subform ซึ่งมันเป็นข้อความผมอยากแปลงให้เป็นตัวเลข มันจะได้เรียงกัน
เช่น
8 อยู่ก่อน 10 ไม่ใช่ 10 อยู่ก่อน 8
Re: แปลงข้อความเป็นตัวเลข
Posted: Tue Feb 19, 2013 4:42 pm
by snasui
ใน 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;
Re: แปลงข้อความเป็นตัวเลข
Posted: Wed Feb 20, 2013 8:58 am
by tast107
ยังไม่ได้เลยครับ
Re: แปลงข้อความเป็นตัวเลข
Posted: Wed Feb 20, 2013 9:03 am
by snasui
ช่วยอธิบายรายละเอียดครับ
ที่ว่าไม่ได้นั้นเป็นอย่างไร ต้องการคำตอบเป็นอย่างไร
Re: แปลงข้อความเป็นตัวเลข
Posted: Wed Feb 20, 2013 9:16 am
by tast107
คือคำตอบที่ได้ เช่น เลือก nokia ผลที่ได้ เป็น
101
1010
103
66
76
86
96
จริงๆ มันต้อง
6x6
7x6
8x6
9x6
10x1
10x3
10x10
Re: แปลงข้อความเป็นตัวเลข
Posted: Wed Feb 20, 2013 11:24 am
by snasui
ลองปรับ 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",""));
ดูภาพประกอบด้านล่างครับ
Re: แปลงข้อความเป็นตัวเลข
Posted: Wed Feb 20, 2013 1:33 pm
by tast107
เอทำไมเลือก sony มันเป็น
8x6
10x2
20x3
7x20
จริงๆ ต้อง
8x6
10x2
20x3
7x20
ไมใช่หรอครับ ผมก็งงนะ nokia samsung ก็ถูกหมด
Re: แปลงข้อความเป็นตัวเลข
Posted: Wed Feb 20, 2013 1:43 pm
by snasui
ที่โพสต์มาท่อนบนกับท่อนล่างมันต่างกันอย่างไรครับ
สำหรับการเรียง
มันเรียงตามตัวเลขที่เอา x ออกแล้วครับ
Re: แปลงข้อความเป็นตัวเลข
Posted: Wed Feb 20, 2013 1:45 pm
by tast107
แล้วมีวิธีให้มันเรียงตาม หน้า x และหลัง x ไหมครับ โพสผิด ต้องเป็น
7x20
8x6
10x2
20x3