การค้นหาข้อมูลเฉพาะเดือนกับปีได้ไหม
กระทู้เก่าบอร์ด อ.Yeadram

 3,319   6
URL.หัวข้อ / URL
การค้นหาข้อมูลเฉพาะเดือนกับปีได้ไหม

คือมีปัญหาอีกแล้วคะ

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

คือเมื่อกรอกตัวเลข เดือนกับปีไปแล้วจะแสดงเฉพาะข้อมูลของเดือนและปีที่กรอกลงไปนะคะ แต่พอเวลาทำมันมีวันที่มาด้วยนะคะ

พอจะมีหนทางไหมคะ


หัวข้อเก่าเรื่องเตือนเมื่อข้อมูลซ้ำยังมีคำถามต่อนะคะ ช่วยดูให้ทั้งสองหัวข้อเลยนะคะ จักขอบคุณเป็นอย่างยิ่งเลยนะคะ

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

1 @R05601
"แต่พอเวลาทำมันมีวันที่มาด้วย"

ขอดูภาพตัวอย่างที่ทำ ได้ไหมครับ ว่าทำอย่างไร จะได้ให้คำตอบที่สามารถนำไปประยุกต์ใช้ได้เลย
( - จับภาพหน้าจอขณะทำงานหน้าฟอร์ม
- จับภาพหน้าจอขณะแสดงมุมมองออกแบบของฟอร์ม
- เขียนข้อความกำกับลำดับงานลงในภาพนั้นๆ ว่าต้องกรอกข้อมูลใดก่อน แล้วต่อจากนั้นให้กดปุ่มไหนหรือเขียนโค้ดให้เคอร์เซอร์โดดไปโฟกัสที่ไหนก่อนหรือเปล่า (ถ้ามี) แล้วเกิดเหตุการณ์อะไรยังไงต่อบ้าง จนมาถึงจุดที่มีปัญหา หรือจุดที่อยากปรับปรุง
)


-ตัวอย่างโค้ดที่ใช้ค้นหา
-ชื่อฟิลด์ที่เกี่ยวข้อง
-ชื่อคอนโทรลที่เกี่ยวข้อง
-ชื่อออบเจคอื่นๆ ที่เกี่ยวข้อง (คิวรี่ ตาราง ฟอร์ม รายงาน)

ตอบไปก็ไม่รู้จะเริ่มตอบจากตรงไหน
ตอบไปก็ไม่รู้คุณจะถามกลับมาอีกหรือเปล่า เพราะจุดเริ่มต้นของงาน พื้นฐานของกระบวนงานของผู้ถามกับผู้ตอบ เริ่มที่คนละจุดกัน หรือเริ่มจากคนละแนวทางกัน

ไม่ต้องเอามาจนครบทุกอย่างก็ได้ แต่อย่างน้อยๆ ควรจะพอให้คนตอบได้จินตนาการออกว่า งานของคุณมีอะไรบ้าง ทำไปในแนวทางไหนแล้วบ้าง แล้วจะได้ตอบหรือแนะนำให้เป็นไปในแนวทางเดียวกันครับ
2 @R05602
- data type ของฟิลด์ที่เก็บวันที่เป็นประเภทไหน ? เป็น Date/Time หรือเป็น String ถ้าเป็น String แล้วมีรูปแบบการเก็บอย่างไร ? เป็น วัน/เดือน/ปี หรือ ปี/เดือน/วัน หรืออื่นๆ แล้วแต่ละส่วนของวันที่ เก็บกี่หลัก ถ้าวันที่เป็นวันที่ 1 จะเก็บเป็น 1 หรือ 01

- ค้นหาจากไหน ? จากเทเบิล หรือ จากหน้าฟอร์มที่กำลังแสดงอยู่ และสิ่งที่คุณคาดหวังจะได้คำตอบคืออะไร ? คือ SQL statement หรือ VBA procedure หรืออะไร ?!?

- "กรอกตัวเลข เดือนกับปีไปแล้ว" กรอกลงที่ไหน ? ถ้าลง textbox แล้ว กรอกแยกกันเป็นคนละ textbox หรือกรอกลง textbox เดียวกัน กรอกเป็นรูปแบบ format อะไร

- "แต่พอเวลาทำมันมีวันที่มาด้วย" ทำอะไร ทำยังไง ทำที่ไหน ?

- คุณทำอะไรไปมากน้อยแค่ไหนแล้ว ถ้ามีโค้ด ก็ลองเอามาแสดงให้ดูด้วยก็จะดี

สรุปคือ คุณอธิบายไม่ละเอียด พอไม่ละเอียด ก็อาจทำให้คนที่อ่านเขาไม่อยากเสียเวลามานั่งถามไปถามมา เพราะกินเวลาซักถาม อยากแนะนำว่า เวลาถาม

1) อย่าใช้คำที่เป็นคำกลางๆถ้าสิ่งนั้นมีคำนิยามหรือคำเรียกที่เป็นศัพท์ที่เข้าใจกันในโลกคอมพิวเตอร์อยู่แล้ว ให้ใช้คำนิยามคำนั้นแทน เพราะกระชับ ชัดเจน เข้าใจได้ถูกต้องกันทุกคน เช่น "ข้อมูล" มันคืออะไร คือ "เรคอร์ด" หรือ "ฟิลด์" หรืออะไร ก็ใช้คำนั้นให้ชัดเจนไปเลยครับ

2) ลองอ่านคำถามที่เขียนขึ้นเอง อ่านหลายรอบช้าๆ แล้วลองคิดว่าถ้าคนที่ไม่รู้ในงานที่เรากำลังทำหรือปัญหาที่กำลังพบอยู่ เขาอ่านแล้วจะติดขัดตรงไหนไม๊ อ่านแล้วรู้สึกติดๆขัดๆไหม ถ้ามีก็ให้แก้ไข เขียนคำถามใหม่ครับ

3) ทำอะไร ทำยังไง ทำที่ไหน ควรเขียนอธิบายให้ชัดเจนประกอบคำถามด้วยครับ

คำถามละเอียด ได้คำตอบเร็ว ตรงประเด็น
คำถามไม่ละเอียด ได้คำตอบช้า เสียเวลา ไม่ตรงประเด็น
คำถามสั้น แบบสั้นมากๆ ส่วนใหญ่จะไม่ได้คำตอบเลย

เท่าที่เห็นคำถามมามาก ลองดูคำถามของคุณ "มาลี" เธอเขียนได้ละเอียดชัดเจนดี ก็มักได้คำตอบที่เร็วครับ

ผมเขียนยืดยาวออกไปในทางตำหนิอย่างนี้ ก็ต้องขอโทษมา ณ ที่นี้ด้วย แต่เพื่ออยากให้เป็นแนวทาง ให้เห็นปัญหาในการตั้งคำถาม เพื่อให้เกิดประโยชน์สูงสุดทั้งผู้ถาม ผู้ตอบ และคนอื่นๆที่ได้เข้ามาอ่านด้วย
3 @R05604
คือตอนนี้ดิวมีฟอร์มหลักใช้กรอกวันที่นะคะ รูปแบบตอนนี้ดิวกำหนดเป็น mm/yy แล้ว

แล้วก้อมีฟอร์มย่อย มาจากการ Qry คะ
จุดประสงค์คือต้องการให้เมื่อกรอกลงในฟอร์มหลักแล้ว ฟอร์มย่อยแสดงข้อมูลของเดือนที่กรอกไปทั้งหมด

ปัญหาตอนนี้นะคะ เมื่อกรอกเดือนและปีไปแล้ว ข้อมูลในฟอร์มย่อยแสดงไม่ครบทั้งเดือนนะคะ

และที่สำคัญตอนนี้นะคะ ดิวเอารูปขึ้นเวปไปได้คะ ทำยังไงคะมันขึ้นว่า error
4 @R05606
ขออภัยในความไม่สะดวกครับ เพิ่งเจอปัญหา(เรื่องการอัพรูป)
ตอนนี้แก้ให้แล้วครับ ทดสอบให้แล้วครับ
5 @R05609


รบกวนด้วยนะคะ
6 @R05610
Qry คืออะไร ? คือ Query object หรือไม่ ถ้าใช่ ต้องเอา SQL statement ของ Query object นั้นมาให้ดุ หรือจะคือ SQL SELECT statement ที่ใส่เข้าไปตรงๆใน RecordSource property ของฟอร์มย่อย

แล้วที่บอกว่าแสดงไม่ครบทั้งเดือน หมายถึงอย่างไร ?

และ data type ของฟิลด์ที่เก็บวันที่เป็นประเภทไหน จุดนี้ก็ไม่ได้บอกมา

เอาหล่ะ ก็ตอบแบบเดาๆตามรายละเอียดเท่าที่มี ผิดอย่างไรก็ขอโทษด้วยแล้วกันนะครับ ผมเดาว่า
- Qry คือ SQL SELECT statement
- yy ป้อนเป็นปี คศ.
- data type ของฟิลด์ที่เก็บวันที่เป็นประเภท Date/Time

   ดังนั้นหลังจากป้อนวันที่บนฟอร์มหลัก แล้วคุณมี event อะไรสักอย่างที่รองรับเพื่อสั่งให้ฟอร์มย่อยแสดงเรคอร์ดตามเงื่อนไขวันที่ คุณก็ต้องไปกำหนด RecordSource property ของฟอร์มย่อย เท่านี้เอง

ดังนั้น โค้ดก็จะเป็น
Private Sub evnt_อะไรสักอย่าง
   Me.[ชื่อ Subform control].Form.RecordSource = "SELECT * FROM ชื่อเทเบิล WHERE Month([ชื่อฟิลด์วันที่ในเทเบิล]) = " & Left$(Me.[ชื่อฟิลด์วันที่บนฟอร์ม],2) & " AND Year([ชื่อฟิลด์วันที่ในเทเบิล]) = " & CStr(Val(Right$(Me.[ชื่อฟิลด์วันที่บนฟอร์ม],2)) + 2000)
End Sub


หมายเหตุ : ไม่สามารถแสดงภาพที่แนบมาได้นะครับ คลิกไปแล้วพบว่า "The page can not be found"
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3278s