ขออนุญาตถามหน่อยครับ การเรียงลำดับ field ที่ data Type เป็นText ใน table ต้องการแก้จาก 1, 10, 100, 1000, ให้เป็นเรียงแบบนี้ 1, 2, 3, 4, 5,เราต้องแก้ตรงไหนครับหรือต้องเปลี่ยน Text เป็น Numberเท่านั้น จึงจะสามารถเปลี่ยนเป็น 1 2 3 4 5 ได้ครับ
@AccessCreator5 жыл бұрын
ใช่ครับ จริงๆแล้วต้องทำเป็น Number เท่านั้นโปรแกรมถึงจะเรียงค่าถูกต้อง เพราะ Data Type แบบ Text โปรแกรมจะเห็นตัวอักษรซ้ายสุดในการเทียบค่าก่อนหากเท่ากันจึงจะเทียบค่าตัวถัดมาทำให้ 1 กับ 10 เห็นเป็นหนึ่งเหมือนกันก่อน แต่หากเราจำเป็นที่จะต้องใช้เป็น Data Type แบบ Text การจะจัดเรียงเราก็ต้องเติม 0 นำหน้าหลักให้ครบถึงจะจัดเรียงได้ถูกต้อง เช่น 1 เราก็ต้องใส่เป็น 0001 เมื่อเทียบกับ 1000 โดยอาจใช้คิวรี่สร้างฟิลด์ใหม่แล้วใช้ฟังก์ชั่น Format(ฟิลด์ตัวเลข,"0000") แล้วจัดเรียงที่ฟิลด์นี้แทน แต่ข้อจำกัดก็คือเราต้องใส่หลักตายตัวตามจำนวนเลขที่เรามีมากที่สุดทำให้ไม่ค่อยยืดหยุ่นนัก