กระทู้เก่าบอร์ด อ.Yeadram
1,281 4
URL.หัวข้อ /
URL
msgbox
ไม่รู้จะอธิบายยังไงค่ะเลยขอใช้รูปช่วยแล้วกันนะคะจะได้เห็นภาพ
ไม่ทราบว่าจะเขียนโค้ดแบบมีเงื่อนไขยังไงนะค่ะ
สมมติว่าต้องการจะเพิ่มพนักงานเข้าทำงานโดยเลือกรหัสช่วงเวลาการทำงานที่ต้องการ โดยแต่ละช่วงการทำงานจะมีพนักงานทำงานได้ไม่เกิน 2 คน สมมติว่า รหัสT1 มีพนักงานทำงานครบแล้วคือ 2 คน
-จากรูปถ้าเลือก T1 ให้ขึ้น msgbox ว่า "ช่วงเวลานี้มีพนักงานเต็มแล้ว" จะเขียนโค้ดได้อย่างไรคะ (สร้าง Query นับจำนวนพนักงานในแต่ละช่วงแล้วค่ะ) แต่ไม่ทราบว่าจะเอามาเช็คในเงื่อนไขอย่างไร
อันนี้ค่ะ
SELECT [พนักงาน].TimeID, Count([พนักงาน].RepID) AS จำนวนพนักงานในแต่ละช่วง
FROM พนักงาน
GROUP BY [พนักงาน].TimeID;
ใครทราบช่วยเขียนโค้ดหน่อยได้มั้ยคะ ไม่รู้จริงๆว่าต้องทำไง
ไม่ทราบว่าจะเขียนโค้ดแบบมีเงื่อนไขยังไงนะค่ะ
สมมติว่าต้องการจะเพิ่มพนักงานเข้าทำงานโดยเลือกรหัสช่วงเวลาการทำงานที่ต้องการ โดยแต่ละช่วงการทำงานจะมีพนักงานทำงานได้ไม่เกิน 2 คน สมมติว่า รหัสT1 มีพนักงานทำงานครบแล้วคือ 2 คน
-จากรูปถ้าเลือก T1 ให้ขึ้น msgbox ว่า "ช่วงเวลานี้มีพนักงานเต็มแล้ว" จะเขียนโค้ดได้อย่างไรคะ (สร้าง Query นับจำนวนพนักงานในแต่ละช่วงแล้วค่ะ) แต่ไม่ทราบว่าจะเอามาเช็คในเงื่อนไขอย่างไร
อันนี้ค่ะ
SELECT [พนักงาน].TimeID, Count([พนักงาน].RepID) AS จำนวนพนักงานในแต่ละช่วง
FROM พนักงาน
GROUP BY [พนักงาน].TimeID;
ใครทราบช่วยเขียนโค้ดหน่อยได้มั้ยคะ ไม่รู้จริงๆว่าต้องทำไง
4 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R03414
แล้วต้องเขียนโค้ดยังไงบ้างอ่ะคะ(ไม่ค่อยจะเข้าใจเท่าไหร่) เขียนไม่เป็นอ่ะค่ะไม่รู้ว่าต้องใช้อะไรบ้าง ช่วยหน่อยนะคะ
3 @R03415
ต้องเลือกครับ ว่าจะใช้วิธีไหน
วิธีที่ 1 ไม่ต้องเขียนโค้ดอะไรเลย ไปปรับแต่ง แหล่งข้อมูลของคอมโบ ให้เป็นคิวรี่
ตารางที่คุณเก็บ timeid คือตารางอะไร, คอลัมภ์ที่1 ของคอมโบชื่ออะไร, คอลัมภ์ที่ 2 ของคอมโบชื่ออะไร เอาชื่อมาโพสต์ไว้ครับผมจะเขียน statement ให้ ถ้าให้ผมสมมติเอาเอง เดี๋ยวจะไม่รู้กันอีก ว่าผมหมายถึงอะไร
ถ้าจะใช้วิธีที่ 2
วิธีที่ 1 ไม่ต้องเขียนโค้ดอะไรเลย ไปปรับแต่ง แหล่งข้อมูลของคอมโบ ให้เป็นคิวรี่
ตารางที่คุณเก็บ timeid คือตารางอะไร, คอลัมภ์ที่1 ของคอมโบชื่ออะไร, คอลัมภ์ที่ 2 ของคอมโบชื่ออะไร เอาชื่อมาโพสต์ไว้ครับผมจะเขียน statement ให้ ถ้าให้ผมสมมติเอาเอง เดี๋ยวจะไม่รู้กันอีก ว่าผมหมายถึงอะไร
ถ้าจะใช้วิธีที่ 2
Private Sub Cmb_Change()
if dcount("RepID","[พนักงาน]", "[TimeID] Like '" & Cmb & "'") >=2 then msgbox "เต็มแล้ว ห้ามเลือก"
End Sub
4 @R03419
ตารางที่เก็บ TimeID คือตาราง ช่วงเวลาการทำงานค่ะ มี Time กับ TimeID TimeID เป็น PK ค่ะ ส่วนคอมโบคอลัมป์แรกชื่อ รหัสช่วงเวลา_Label ส่วนคอลัมป์ ที่สองชื่อ Combo36 ค่ะ
Time: 0.3702s
คือ ถ้าช่วงเวลา T1 เต็มแล้ว ก็อย่าให้ T1 โผล่มาให้เลือกอีก
แบบนี้ไม่ต้องมี msgbox ให้ผู้ใช้รำคาญใจ
วิธีที่ 2 เอาวิธีแบบคุณว่า
โดยเขียนโค้ดฝังไว้ในเหตุการณ์ onChange ของคอมโบ
คือ เมื่อคลิ๊กเลือกให้โค้ดไปนับจำนวนพนักงานของช่วงเวลานั้น แล้วขึ้น msgbox บอกผู้ใช้