รบกวนเรื่อง Date ครับ ( หาวันที่เริ่มต้น และวันที่สุดท้ายของ เดือน ปี )
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 366   8
URL.หัวข้อ / URL
รบกวนเรื่อง Date ครับ ( หาวันที่เริ่มต้น และวันที่สุดท้ายของ เดือน ปี )

โจทย์ คือ ผมทราบ เดือน และปี ที่ต้องการ 
ผมเลยอยากหา วันที่เริ่มต้น และวันที่สุดท้าย ของเดือน และ ปี ที่ผมต้องการ 
บน Query , Form , Report 
รบกวน อ.สุภาพ และ พี่ๆ ท่านอื่นๆ แนะนำด้วยครับ 
ขอบพระคุณมากๆ ครับ 
Suchat 
ชลบุรี 

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

1 @R01444
ลองใช้ฟังก์ชันนี้ดูครับ Function GetFirstDay(dte As Date, I As Integer) As Date ' Supply 1 to get the first day of the given month. ' Supply 2 to get the last day of the given month. If I = 1 Then GetFirstDay = DateSerial(Year(dte), Month(dte), 1) Else GetFirstDay = DateAdd("d", -1, DateSerial(Year(dte), Month(dte) + 1, 1)) End If End Function
2 @R01451
อ.สุภาพ ครับ รบกวนแนะนำวิธีการใช้ Funtion ด้วยครับ สมมติ ว่า ผมมี Filed วันที่ชื่อ DocDate ผม Format แบบ d/mm/yyyy ผมลองใช้ GetFirstDay([DocDate]) ใน Query , Form , Report แล้วไม่สามารถ Run ได้ครับ จะขึ้น Error Wrong number of arguments used with funtion in Query expression 'GetFirstDay([DocDate]) '. รบกวน อาจารย์ แนะนำด้วยครับ ขอบพระคุณมากๆ ครับ Suchat ชลบุรี
3 @R01453
นี่คือ SQL ที่ผมลองเรียกใช้ฟังก์ชันนี้ใน Query SELECT Table1.MYDate, GetFirstDay([MyDate],1) AS FirstDay, GetFirstDay([MyDate],2) AS LastDay FROM Table1;
4 @R01454
ลืมบอกครับว่าฟังก์ชันนี้เป็นแบบ 2 in 1 คือ หาทั้งวันที่ 1 และวันที่สุดท้ายของเดือนนั้นๆ ให้ โดยต้องระบุ 1 ถ้าต้องการที่จะหาวันแรกของเดือน และ 2 ถ้าต้องการหาวันสุดท้ายของเดือนครับ
5 @R01455
อ.สุภาพ ครับ ผมสามารถทำได้ใน Query แล้วครับ กำลังหาวิธีทำใน Form / Report (โดยไม่ดึงข้อมูลมาจาก Query ที่ทำ) ครับ ขอบพระคุณมากๆ ครับ Suchat ชลบุรี
6 @R01461
อ.สุภาพ ครับ จาก Code ดังกล่าว และจาก กระทู้ 00731 ที่ผมเข้าไปที่ VB Editor Menu Tools>Referance... แล้วผมติกเครื่องหมายถูก หน้า Missing ... ปัญหาดังกล่าวก็หายไป พอผมปิด Access แล้ว เปิดใหม่ จะแจ้ง Error ดังนี้ครับ Errot accessing file. Network connection may have been lost เมื่อตอบ OK ก็มาหยุดอยู่ที่ Code การหาวันที่ First and Last Day ดังนี้ Function GetFirstDay(dte As Date, I As Integer) As Date ' <-------- ที่บรรทัดนี้ครับ ' Supply 1 to get the first day of the given month. ' Supply 2 to get the last day of the given month. If I = 1 Then GetFirstDay = DateSerial(Year(dte), Month(dte), 1) Else GetFirstDay = DateAdd("d", -1, DateSerial(Year(dte), Month(dte) + 1, 1)) End If End Function ผมลอง Format แล้วลง Program ใหม่ทั้งหมด ก็ยังไม่หายครับ WinME + Access97 + 2000 รบกวน อาจารย์ แนะนำด้วยครับ ขอบพระคุณมากๆ ครับ Suchat ชลบุรี
7 @R01462
ช่วยดูด้วยว่ามีการเลือก References อะไรไว้บ้างครับ แล้วโพสต์รายการให้ดูหน่อยครับ และเป็นปัญหากับ Access 97 หรือ Access 2000?
8 @R01468
อ.สุภาพ ครับ ผมทำใหม่เลยครับ ไม่มีปัญหาแล้ว ปัญหาที่เกิดมาจาก ผม Import Form เข้ามา 2 Form เพื่อทำการ Copy Code บาง Code มาใส่ใน Form ที่ผมสร้างขึ้นใหม่ แล้วก็เกิดปัญหาขึ้น ผมลองดูใน Module มีชื่อ Form ที่ผม Import เข้ามาด้วยครับ ซึ่งปกติจะไม่มีโชว์ขึ้นมา นอกจาก Funtion ที่เราสร้างขึ้นมา ปกติ ผมก็จะทำแบบนี้ แต่ไม่เคยเจอปัญหาเลย มีครั้งนี้ล่ะครับที่เจอปัญหา ขอบพระคุณ อ.สุภาพ มากๆ ครับ อีกเรื่องนึง เรื่องการหาวันที่เริ่มต้น และวันที่สุดท้ายของเดือน ผมลองสร้าง Field ขึ้นมาใหม่ ใน Query โดย หาวันที่เริ่มต้น ---> FirstDay : DateSerial(Year([ชื่อ Field วันที่]), Month([ชื่อ Field วันที่]),1) หาวันที่สุดท้าย ---> LastDay : DateAdd("d", -1, DateSerial(Year([ชื่อ Field วันที่]), Month([ชื่อ Field วันที่]) + 1, 1)) ก็สามารถได้ค่าที่ต้องการครับ ขอบพระคุณ อ.สุภาพ มากๆ ครับ Suchat ชลบุรี
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.0456s