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
:D เรียงในโปรแกรมใดครับ :?:

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
:D ลอง 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
:D ไม่เข้าใจครับ ตาม 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
:D ใช้ตัวแปรมารับค่าจาก 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
:D ลองเขียนตัวแปรมารับค่าใน 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
:D ใน 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
:D ช่วยอธิบายรายละเอียดครับ

ที่ว่าไม่ได้นั้นเป็นอย่างไร ต้องการคำตอบเป็นอย่างไร

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
:D ลองปรับ 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
:lol: ที่โพสต์มาท่อนบนกับท่อนล่างมันต่างกันอย่างไรครับ

สำหรับการเรียง มันเรียงตามตัวเลขที่เอา x ออกแล้วครับ

Re: แปลงข้อความเป็นตัวเลข

Posted: Wed Feb 20, 2013 1:45 pm
by tast107
แล้วมีวิธีให้มันเรียงตาม หน้า x และหลัง x ไหมครับ โพสผิด ต้องเป็น
7x20
8x6
10x2
20x3