access กับการโปรแกรมการแข่งขันกีฬา
กระทู้เก่าบอร์ด อ.Yeadram

 2,514   10
URL.หัวข้อ / URL
access กับการโปรแกรมการแข่งขันกีฬา

รอบกวนสอบถาม อ.yeadram และท่านผู้รู้ทุกท่านครับ

สมมุตินะครับมีนักเทนนิส 8 คน และจัดลำดับมือวางเรียบร้อย โดยจะทำการแข่งขันเป็นรอบๆ ไป ใครชนะก็จะเข้ารอบต่อไป
รอบที่ 1   มือ 1 vs มือ 8, มือ 2 vs มือ 7, มือ 3 vs มือ 6, มือ 4 vs มือ 5
รอบที่ 2   ผู้ชนะ (มือ 1 vs มือ 8) vs ผู้ชนะ (มือ 4 vs มือ 5)
              ผู้ชนะ (มือ 2 vs มือ 7) vs ผู้ชนะ (มือ 3 vs มือ 6)
รอบสุดท้าย (ผู้ชนะ (มือ 1 vs มือ 8) vs ผู้ชนะ (มือ 4 vs มือ 5)) vs
                 (ผู้ชนะ (มือ 2 vs มือ 7) vs ผู้ชนะ (มือ 3 vs มือ 6))

เราสามารถจะกำหนดเส้นทางแบบนี้ล่วงหน้าไว้ได้หรือเปล่าครับ           
เสร็จแล้วก็รอใส่ผลการแข่งขันเป็นรอบๆ ไป

10 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R01381
น่าเล่นเน๊าะ ขอเวลาไปคิดก่อนครับ
น่าจะเป็นการเล่นกับ ตัวแปรอาเรย์
ถ้า จำนวนสมาชิกทั้งหมด มันคงที่อยู่ แค่ 8 ก็คงเขียน if ... if ... ซ้อนๆ กันไปก็คงพอ
แต่ถ้าจำนวนสมาชิกมันไม่คงที่ อาจจะเป็น 16 หรือ 32 หรือ 64 เราจะเล่นกับมันยังไง
ขอไปคิดเป็นการบ้านครับ อิอิ
2 @R01383
จำนวนคงไม่ตายตัวนะครับ อาจจะเป็น 16 32 หรือ 64 อย่างที่ อ.yeadram ว่า
ยังไงก็ช่วยรบกวน อ.yeadram ด้วยครับ
ขอบพระคุณมากครับ
3 @R01389
ได้ยังครับ อาจารย์
4 @R01396
กะลัง ลองทำครับ พยายามเจียดเวลาให้เต็มที่แล้วครับ อิอิ
ไม่นานๆ เดี๋ยวจะได้รู้กัน ว่า ผมทำตรงตามความต้องการหรือเปล่า
หรือว่า ผมตีโจทก์ผิดไป 555 บอกตรงๆ พอทำจริงๆ เริ่มงง
ว่า คุณ
- อยากป้อนอะไร
- อยากให้โปรแกรม ประมวลผลยังไง
- อยากได้ผลงานออกมาทางไหน ยังไง
แต่ก็ลองๆ ทำไปตามจินตนาการแล้วล่ะ (จินตนาการว่า คุณอยากกรอกอย่างนี้ , อยากได้ผลอย่างนี้) เกือบเสร็จแล้ว
ถ้าไม่ยุ่งเกินไป อีกฉองงงงงง วัน นะ อิอิ
5 @R01402
สาธุ๊ ขอให้ใช่ ขอให้โดนนะ
วันนี้ ตั้งแต่ 6 โมงเย็นเลย ไม่ได้เล่นเกมส์ เลย อะอิอิ

นั่งปั่นเจ้าตัวนี้ จนได้ระดับที่น่าพอใจล่ะ
เอาไปแกะ เอาไปแก้ เอาไปปรับเอานะ
ไม่รู้ตรงความต้องการหรือเปล่านะครับ

เอ้าโหลดกันไปลองเลยครับ
*---------------- ข้อมูลจำเพาะ (เท่าที่คิดออกมาได้) ------------

Access เวอร์ชั่น : 2000-2002 (office-Xp-Pro)
Libraries : ใช้เบื้องต้นเท่านั้น ไม่มีอะไรพิเศษอื่น
Objects : 4 ตาราง, 3 ฟอร์ม, 1 โมดูล
งาน : ตามกระทู้หัวข้อนี้แหละครับ
*---------------------------------------------------------------------
6 @R01404
ขอบคุณมากครับ อ.yeadram เดี๋ยวลองไปปรับดูนะครับ
แม้ รบกวนเวลาเล่นเกมส์ อ.yeadram เลย
7 @R01406
เรียน อ.yeadram
อยากจะให้มีช่องใส่คะแนนในแต่ละคน และให้โปรแกรมเป็นตัวคำนวนให้ว่าใครชนะ เช่นเล่นกัน 5 เซ็ต ใครชนะ 3 เซ็ตก่อน ก็เป็นผู้ชนะ เช่น
player     set1     set2      set3      set4      set5
p1            6           2          6           5           6
p16            1           6          3           6            2
สรุปในรอบนี้ p1 ชนะ p16   3 ต่อ 2 เซ็ต
p1 ก็เข้ารอบต่อไปพบผู้ชนะระหว่าง p2 กับ p15 ซึ่งก็ใส่คะแนนลักษณะแบบเดียวกันนี้ครับ

ขอบพระคุณมากครับ
8 @R01408
จ๊ากกก จะละเอียดเกินไปแล้วล่ะ อิอิ
เอางี้นะ ลองไปปรับใช้ตามนี้
ตาราง tbResult โครงสร้างเก่าให้คงไว้อย่าแตะต้อง อิอิ
แต่เพิ่มฟิลด์ set เข้ามาครับ
เพิ่มฟิลด์ set1   text
เพิ่มฟิลด์ set2   text
เพิ่มฟิลด์ set3   text
...

เวลาบันทึกข้อมูล ให้บันทึก ตัวเลขและเครื่องหมาย ลบลงไปเลยครับ
Mth_A       Mth_B       Set1      Set2      Set3
นายA          นายB        2-6        3-6        6-4

-กรอกเสร็จแล้ว
-หาเหตุการณ์เหมาะ เรียกใช้ฟังก์ชั่นครับ (ฟังก์ชั่นหาผู้ชนะ)
-แล้วเอาผลจากฟังก์ชั่น (ชื่อผู้ชนะ) ไปกรอกลงในช่อง mth_won
-แล้วเรียกใช้ cbmth_won_change ได้เหมือนเดิมครับ

ฟังก์ชั่นหาผู้ชนะ เขียนเองได้มั้งครับ อิอิ เอางี้ก็ได้ผมเขียนนำร่องให้ ไปปรับไปแก้เพิ่มเอานะ เพราะนี้เขียนสด ผ่านบอร์ด ไม่ได้ debug หรือทดสอบก่อนเลยนะ อิอิ


** เขียนให้ในฟอร์มนี้เท่านั้น เรียกใช้ได้ทีละเรคคอร์ด
*** ตั้งชื่อคอนโทรล set ให้นำหน้าด้วย t เช่น tSet1, tSet2, tSet3 ...
Function theWinner() as string   
xyz=0
for i = 1 to 6 ' จำนวนเซ็ตสูงสุด
xyz=xyz + eval(me("tSet" & i))
next
if xyz>0 then
theWinner = mth_A
else
theWinner = mth_B
end if
End Function

อิอิ เขียนง่ายนะ แต่เงื่อนไขประกอบต้องระวังมากๆ มิฉะนั้น ฟังก์ชั่นไม่เวอร์ค
- ต้องกรอกข้อมูล เป็น ตัวเลข-เครื่องหมายลบ-ตัวเลข (เช่น 4-6 หรือ 6-0)
- ตั้งตั้งชื่อคอนโทรลตามรูปแบบ
ไม่ยากใช่มั้ยครับ คงพอทำได้แล้วมั้งนะ เหอๆ เขาก็พูดๆ กันอยู่ว่า คนไทยดัดแปลงปรับปรุงน่ะเก่ง ...
9 @R01413
ขอบคุณมากครับ อ.yeadram
ถ้าจะคีย์คะแนนให้แต่ละคน แต่ละเซ็ตเลย ว่าได้คะแนนเท่าไหร่ แล้วให้โปรแกรมันคำนวน เซ็ตต่อเซ็ตเองเลย ก็ใช้หลักการเดียวกันใช่หรือเปล่าครับ
10 @R01414
ถ้างั้นต้องแยกฟอร์มไปเลยครับ ไปทำที่ฟอร์มอื่น อาจใช้ตาราง พักข้อมูลชั่วคราวช่วย
เวลา เซฟ ค่อยสั่งให้มันเอาสกอร์มาบันทึกใน tbResult
แล้วเขียนฟังก์ชั่นใหม่อีกสักชุดก็ได้ เพื่อ
- หาผู้ชนะ
- เอาชื่อผู้ชนะ เข้าไปในรอบต่อไป
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2747s