กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
426 8
URL.หัวข้อ /
URL
รบกวนเรื่อง Date ครับ ( หาวันที่เริ่มต้น และวันที่สุดท้ายของ เดือน ปี )
โจทย์ คือ ผมทราบ เดือน และปี ที่ต้องการ
ผมเลยอยากหา วันที่เริ่มต้น และวันที่สุดท้าย ของเดือน และ ปี ที่ผมต้องการ
บน Query , Form , Report
รบกวน อ.สุภาพ และ พี่ๆ ท่านอื่นๆ แนะนำด้วยครับ
ขอบพระคุณมากๆ ครับ
Suchat
ชลบุรี
ผมเลยอยากหา วันที่เริ่มต้น และวันที่สุดท้าย ของเดือน และ ปี ที่ผมต้องการ
บน 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
ชลบุรี
Time: 0.1019s