Code error เมื่อข้อมูลน้อย
Posted: Mon Feb 12, 2018 10:27 am
อ้างอิง ไฟล์จากเว๊ป
http://www.onlinepclearning.com/excel-r ... ng-system/
เป็นไฟล์สำหรับ booking ห้องพักครับ
ไฟล์ที่ ทำสำเร็จแล้ว ใช้งานได้ดีทุกฟังชั่นครับ
**ปัญหาคือ ฟังชั่นedit
ถ้าข้อมูลในการแก้ไข จะมีฟังชั่นหา ROW ที่ต้องการจะแก้ไขอยู่ครับ
ถ้าข้อมูล จากการทดสอบ ( ข้อมูลที่มี 20++ Row ) ฟังชั่นทำงานได้ปรกติ ครับ
แต่ถ้าข้อมูลมีน้อย (5-10 Row) ฟังชั่น edit จะ error ครับ
จากการ debug ตรวจสอบพบว่า มีปัญหาที่ Code นี้ครับ
ส่วนตัวตอนนี้ ผมปรับแก้ Code โดยใช้ Do + if มาเป็นการค้นหาแทนครับ สามารถใช้งานแทนได้ครับ
แค่เพียงอยากทราบว่า ทำไมcode ถึงerror เพื่อจะได้ปรับใช้ในส่วนอื่นๆ ต่อไปครับ
**code หา rowที่มี id ตรงกัน ซึ่งเมื่อข้อมูลน้อยจะเกิดปัญหา 2 กรณี เท่าที่ผมพบ
1. คืนค่า = 5 (ซึ่งผิด)
2. คืนค่า = 0 (เหมือนค้นหาข้อมูลไม่พบแต่ความเป็นจริงข้อมูลนั้นมีครับ)
ไฟล์ตัวอย่าง Original (ข้อมูลเยอะไม่error)
ไฟล์ Lessdata (ข้อมูลน้อย Error)
http://www.onlinepclearning.com/excel-r ... ng-system/
เป็นไฟล์สำหรับ booking ห้องพักครับ
ไฟล์ที่ ทำสำเร็จแล้ว ใช้งานได้ดีทุกฟังชั่นครับ
**ปัญหาคือ ฟังชั่นedit
ถ้าข้อมูลในการแก้ไข จะมีฟังชั่นหา ROW ที่ต้องการจะแก้ไขอยู่ครับ
ถ้าข้อมูล จากการทดสอบ ( ข้อมูลที่มี 20++ Row ) ฟังชั่นทำงานได้ปรกติ ครับ
แต่ถ้าข้อมูลมีน้อย (5-10 Row) ฟังชั่น edit จะ error ครับ
จากการ debug ตรวจสอบพบว่า มีปัญหาที่ Code นี้ครับ
ส่วนตัวตอนนี้ ผมปรับแก้ Code โดยใช้ Do + if มาเป็นการค้นหาแทนครับ สามารถใช้งานแทนได้ครับ
แค่เพียงอยากทราบว่า ทำไมcode ถึงerror เพื่อจะได้ปรับใช้ในส่วนอื่นๆ ต่อไปครับ
**code หา rowที่มี id ตรงกัน ซึ่งเมื่อข้อมูลน้อยจะเกิดปัญหา 2 กรณี เท่าที่ผมพบ
1. คืนค่า = 5 (ซึ่งผิด)
2. คืนค่า = 0 (เหมือนค้นหาข้อมูลไม่พบแต่ความเป็นจริงข้อมูลนั้นมีครับ)
ไฟล์ตัวอย่าง Original (ข้อมูลเยอะไม่error)
ไฟล์ Lessdata (ข้อมูลน้อย Error)
Code: Select all
Other code....
editBookingInRow = Fws.Range("B9:B" & lastrow).Find(What:=ID, LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Row
Other code...