กระทู้เก่าบอร์ด อ.Yeadram
2,705 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))
เราสามารถจะกำหนดเส้นทางแบบนี้ล่วงหน้าไว้ได้หรือเปล่าครับ
เสร็จแล้วก็รอใส่ผลการแข่งขันเป็นรอบๆ ไป
สมมุตินะครับมีนักเทนนิส 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
2 @R01383
จำนวนคงไม่ตายตัวนะครับ อาจจะเป็น 16 32 หรือ 64 อย่างที่ อ.yeadram ว่า
ยังไงก็ช่วยรบกวน อ.yeadram ด้วยครับ
ขอบพระคุณมากครับ
ยังไงก็ช่วยรบกวน อ.yeadram ด้วยครับ
ขอบพระคุณมากครับ
3 @R01389
ได้ยังครับ อาจารย์
4 @R01396
กะลัง ลองทำครับ พยายามเจียดเวลาให้เต็มที่แล้วครับ อิอิ
ไม่นานๆ เดี๋ยวจะได้รู้กัน ว่า ผมทำตรงตามความต้องการหรือเปล่า
หรือว่า ผมตีโจทก์ผิดไป 555 บอกตรงๆ พอทำจริงๆ เริ่มงง
ว่า คุณ
- อยากป้อนอะไร
- อยากให้โปรแกรม ประมวลผลยังไง
- อยากได้ผลงานออกมาทางไหน ยังไง
แต่ก็ลองๆ ทำไปตามจินตนาการแล้วล่ะ (จินตนาการว่า คุณอยากกรอกอย่างนี้ , อยากได้ผลอย่างนี้) เกือบเสร็จแล้ว
ถ้าไม่ยุ่งเกินไป อีกฉองงงงงง วัน นะ อิอิ
ไม่นานๆ เดี๋ยวจะได้รู้กัน ว่า ผมทำตรงตามความต้องการหรือเปล่า
หรือว่า ผมตีโจทก์ผิดไป 555 บอกตรงๆ พอทำจริงๆ เริ่มงง
ว่า คุณ
- อยากป้อนอะไร
- อยากให้โปรแกรม ประมวลผลยังไง
- อยากได้ผลงานออกมาทางไหน ยังไง
แต่ก็ลองๆ ทำไปตามจินตนาการแล้วล่ะ (จินตนาการว่า คุณอยากกรอกอย่างนี้ , อยากได้ผลอย่างนี้) เกือบเสร็จแล้ว
ถ้าไม่ยุ่งเกินไป อีกฉองงงงงง วัน นะ อิอิ
5 @R01402
สาธุ๊ ขอให้ใช่ ขอให้โดนนะ
วันนี้ ตั้งแต่ 6 โมงเย็นเลย ไม่ได้เล่นเกมส์ เลย อะอิอิ
นั่งปั่นเจ้าตัวนี้ จนได้ระดับที่น่าพอใจล่ะ
เอาไปแกะ เอาไปแก้ เอาไปปรับเอานะ
ไม่รู้ตรงความต้องการหรือเปล่านะครับ
เอ้าโหลดกันไปลองเลยครับ
*---------------- ข้อมูลจำเพาะ (เท่าที่คิดออกมาได้) ------------
Access เวอร์ชั่น : 2000-2002 (office-Xp-Pro)
Libraries : ใช้เบื้องต้นเท่านั้น ไม่มีอะไรพิเศษอื่น
Objects : 4 ตาราง, 3 ฟอร์ม, 1 โมดูล
งาน : ตามกระทู้หัวข้อนี้แหละครับ
*---------------------------------------------------------------------
วันนี้ ตั้งแต่ 6 โมงเย็นเลย ไม่ได้เล่นเกมส์ เลย อะอิอิ
นั่งปั่นเจ้าตัวนี้ จนได้ระดับที่น่าพอใจล่ะ
เอาไปแกะ เอาไปแก้ เอาไปปรับเอานะ
ไม่รู้ตรงความต้องการหรือเปล่านะครับ
เอ้าโหลดกันไปลองเลยครับ
*---------------- ข้อมูลจำเพาะ (เท่าที่คิดออกมาได้) ------------
Access เวอร์ชั่น : 2000-2002 (office-Xp-Pro)
Libraries : ใช้เบื้องต้นเท่านั้น ไม่มีอะไรพิเศษอื่น
Objects : 4 ตาราง, 3 ฟอร์ม, 1 โมดูล
งาน : ตามกระทู้หัวข้อนี้แหละครับ
*---------------------------------------------------------------------
6 @R01404
ขอบคุณมากครับ อ.yeadram เดี๋ยวลองไปปรับดูนะครับ
แม้ รบกวนเวลาเล่นเกมส์ อ.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 ซึ่งก็ใส่คะแนนลักษณะแบบเดียวกันนี้ครับ
ขอบพระคุณมากครับ
อยากจะให้มีช่องใส่คะแนนในแต่ละคน และให้โปรแกรมเป็นตัวคำนวนให้ว่าใครชนะ เช่นเล่นกัน 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)
- ตั้งตั้งชื่อคอนโทรลตามรูปแบบ
ไม่ยากใช่มั้ยครับ คงพอทำได้แล้วมั้งนะ เหอๆ เขาก็พูดๆ กันอยู่ว่า คนไทยดัดแปลงปรับปรุงน่ะเก่ง ...
เอางี้นะ ลองไปปรับใช้ตามนี้
ตาราง 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
แล้วเขียนฟังก์ชั่นใหม่อีกสักชุดก็ได้ เพื่อ
- หาผู้ชนะ
- เอาชื่อผู้ชนะ เข้าไปในรอบต่อไป
เวลา เซฟ ค่อยสั่งให้มันเอาสกอร์มาบันทึกใน tbResult
แล้วเขียนฟังก์ชั่นใหม่อีกสักชุดก็ได้ เพื่อ
- หาผู้ชนะ
- เอาชื่อผู้ชนะ เข้าไปในรอบต่อไป
Time: 0.3379s
น่าจะเป็นการเล่นกับ ตัวแปรอาเรย์
ถ้า จำนวนสมาชิกทั้งหมด มันคงที่อยู่ แค่ 8 ก็คงเขียน if ... if ... ซ้อนๆ กันไปก็คงพอ
แต่ถ้าจำนวนสมาชิกมันไม่คงที่ อาจจะเป็น 16 หรือ 32 หรือ 64 เราจะเล่นกับมันยังไง
ขอไปคิดเป็นการบ้านครับ อิอิ