[vb6]ช่วยด้วยครับ

ct2.text= Val(Val(b1.text) + Val(b2.Text))
xy2 = ct2.text
Select Case xy2
Case Is < 10
  c1.caption = ct2.text
  c2.caption = 10 - c2.text
Case 10 To 20
    a1.text = Val( Val(x1.text-0.03) + x4.text)
    a2.text = Val(x3.text + x4.text)
   c1.text= Val(a1.text) + Val(a2.text)
   c2.text =20 - c1.text
   if a1.text or a2.text > 10  then
      a3.text = x2.text+x4.text
      a4.text = x3.text +x4.text
     c1.text= Val(a3.text) + Val(a4.text)
     c2.text =20 - c1.text
         elseif a3.text or a4.text > 10  then
              a5.text = x6.text+x7.text
              a6.text = x7.text +x4.text
              c1.text= Val(a5.text) + Val(a6.text)
              c2.text =20 - c1.text
                  elseif a5.text or a6.text > 10  then
                           a7.text = x6.text+x8.text
                          a8.text = x8.text +x5.text
                         c1.text= Val(a7.text) + Val(a8.text)
                         c2.text =20 - c1.text
                         else
                         c1.text= "fail"
                         c2.text =20 - "fail"
  end if

อาจจะงง ว่าผมต้องการหาอะไร คือ ct2.text คือผลรวมเหล็กเสริมที่ต้องการจะแยกชิ้นส่วนเป็นท่อน  ๆ
              และแต่ละท่อนนั้น ต้องไม่เกิน 10
              ถ้า < 10 ก็ใช้ ท่อน 1 ท่อน
              ถ้า > 10 ถึง 20 ก็ใช้ 2 ท่อน และต้องเลือกวิธีการแยก ว่าแต่ละท่อนยาวเท่าไหร่ตามสูตรซึ่งมันมี4 สูตร
                      ถ้าสูตรที่ 1 a1.text = Val( Val(x1.text-0.03) + x4.text)
                                     a2.text = Val(x3.text + x4.text)
                       ไม่เกิน 10 ก็จะใช้สูตรที่ 1
                       ถ้าเกิน 10 ก็ใช้ลองใช้สูตรที่ 2   a3.text = x2.text+x4.text
                                                                 a4.text = x3.text +x4.text
                        ไม่เกิน 10 ก็จะใช้สูตรที่ 2
                       ถ้าเกิน 10 ก็ใช้ลองใช้สูตรที่ 3   a5.text = x6.text+x7.text
                                                                 a6.text = x7.text +x4.text
                        ไม่เกิน 10 ก็จะใช้สูตรที่ 3
                       ถ้าเกิน 10 ก็ใช้ลองใช้สูตรที่ 4   a7.text = x6.text+x8.text
                                                                 a8.text = x8.text +x5.text
                        ไม่เกิน 10 ก็จะใช้สูตรที่ 4
                        ไม่เข้าเงื่อนไข = fail่
*** ปัญหามันติดตรงที่ เมื่อ ใส่ code สูตรเยอะขึ้น คำตอบมันได้ตั้งแต่สูตรที่ 1 แล้ว แต่มันกลับตอบทีสูตร3 ซึ่งมันก็เป็นคำตอบได้เหมือนกันแต่มันไม่ใช่คำตอบที่ถูกต้องที่สุด อย่างกับสูตรที่ 1

ปล. ขอบคุณสำหรับคำตอบนะครับ ผมศึกษาVBเองไม่ได้เรียนจริงจัง ลองผิดลองถูกดู นี่ก็ทำวิทยานิพนธิ์จบ เรื่องประมาณเหล็กเสริมโครงสร้างอยู่ครับ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่