กระทู้เก่าบอร์ด อ.Yeadram
2,371 10
URL.หัวข้อ /
URL
การคำนวณวันที่
ข้อ 1. ถ้าเกิดผมต้องการให้ลบข้อมูลการทำงานของพนักงานที่มีวันที่เกิน 3 เดือน จากปัจจุบันนะครับ ผมต้องเขียน Code อย่างไรครับ
ข้อ 2. ถ้าผมต้องการไม่ให้กรอกข้อมูลวันที่ใน Text box ย้อนหลังเกิน 2 วัน ผมต้องเขียนอย่างไรครับ
ขอรบกวนอาจารย์ และผู้รู้ทุกท่านด้วยนะครับ
ข้อ 2. ถ้าผมต้องการไม่ให้กรอกข้อมูลวันที่ใน Text box ย้อนหลังเกิน 2 วัน ผมต้องเขียนอย่างไรครับ
ขอรบกวนอาจารย์ และผู้รู้ทุกท่านด้วยนะครับ
10 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R02764
คุณ yeadram ครับ ข้อ 2 ไม่เห็นได้เลยครับเลือกย้อนหลังเกิน 2 วันก็ได้ครับ งง?????
รบกวนอธิบายช่วยอธิบายทั้ง 2 ข้อหน่อยนะครับ ขอบคุณครับ
รบกวนอธิบายช่วยอธิบายทั้ง 2 ข้อหน่อยนะครับ ขอบคุณครับ
3 @R02769
ข้อ 1 คำอธิบายน่าจะอยู่ในคำถามหมดแล้วนะครับ ไม่รู้จะเพิ่มเติมอย่างไร
อืมม ก็คงจะบอกว่า เราต้องการลบข้อมูลออกจากตาราง ตามเงื่อนไขที่กำหนด เราก็เขียน statement ในภาษา sql ให้ได้ตามต้องการ แล้วเราก็สั่งให้มันรันครับ
ข้อ 2
อย่างไรเรียกว่า ได้
อย่างไรเรียกว่า ไม่ได้ ครับ
ถึงคีย์เข้าไปได้ มันเซฟได้หรือเปล่า แล้วมันเอา เคอร์เซอร์ไปไหนต่อได้ได้หรือเปล่า เพราะมัน สั่ง cancel ไปแล้วนะครับ
จากโจทก์ "ถ้าผมต้องการไม่ให้กรอกข้อมูล"
เราบังคับไม่ให้กรอกไม่ได้ เพราะเขามีมือ และมีคีย์บอร์ด แต่เราดักจับเหตุการณ์ได้ เหตุการณ์ที่ผมยกตัวอย่างให้ดักจับคือ.................... หลังจากคีย์ > ก่อนจะบันทึก นั่นเป็นจังหวะที่ดีที่สุดเท่าที่จะหาได้แล้วครับ ถึงเข้าคีย์เขาไปได้ แต่โปรแกรมเราก็ไม่บันทึกข้อมูลให้ครับ
อืมม ก็คงจะบอกว่า เราต้องการลบข้อมูลออกจากตาราง ตามเงื่อนไขที่กำหนด เราก็เขียน statement ในภาษา sql ให้ได้ตามต้องการ แล้วเราก็สั่งให้มันรันครับ
ข้อ 2
อย่างไรเรียกว่า ได้
อย่างไรเรียกว่า ไม่ได้ ครับ
ถึงคีย์เข้าไปได้ มันเซฟได้หรือเปล่า แล้วมันเอา เคอร์เซอร์ไปไหนต่อได้ได้หรือเปล่า เพราะมัน สั่ง cancel ไปแล้วนะครับ
จากโจทก์ "ถ้าผมต้องการไม่ให้กรอกข้อมูล"
เราบังคับไม่ให้กรอกไม่ได้ เพราะเขามีมือ และมีคีย์บอร์ด แต่เราดักจับเหตุการณ์ได้ เหตุการณ์ที่ผมยกตัวอย่างให้ดักจับคือ.................... หลังจากคีย์ > ก่อนจะบันทึก นั่นเป็นจังหวะที่ดีที่สุดเท่าที่จะหาได้แล้วครับ ถึงเข้าคีย์เขาไปได้ แต่โปรแกรมเราก็ไม่บันทึกข้อมูลให้ครับ
4 @R02770
คือว่าข้อ 2 มันบันทึกได้ครับ ส่วนข้อ 1 เขียนCode ไม่ได้ครับ โปรแกรมมันฟ้องตรง "M" ครับ แล้วที่คุณ yeadram เขียนว่า วันที่ ต่อจาก M อะครับ หมายถึงอะไรหรอครับ ขอรบกวนด้วยนะครับ
5 @R02772
ข้อ 1
- ปัญหา "M" เปลี่ยน เอ็ม เป็นตัวพิมพ์เล็กครับ ขอโทษที่บอกผิดไปครับ
- ปัญหา "วันที่" เพราะผมก็ไม่รู้ว่า มันคือวันที่อะไร ผมก็เลยเขียนไปสั้นๆ ว่า วันที่ นึกว่า คุณจะหาใส่เองได้ ผมเอามันมาจากประโยคในคำถามประโยคนี้ครับ "ข้อมูลการทำงานของพนักงานที่มีวันที่เกิน 3 เดือน" คำว่า "วันที่เกิน 3 เดือน" ผมก็ไม่รู้ว่ามันคือวันที่อะไรครับ
- ปัญหา "M" เปลี่ยน เอ็ม เป็นตัวพิมพ์เล็กครับ ขอโทษที่บอกผิดไปครับ
- ปัญหา "วันที่" เพราะผมก็ไม่รู้ว่า มันคือวันที่อะไร ผมก็เลยเขียนไปสั้นๆ ว่า วันที่ นึกว่า คุณจะหาใส่เองได้ ผมเอามันมาจากประโยคในคำถามประโยคนี้ครับ "ข้อมูลการทำงานของพนักงานที่มีวันที่เกิน 3 เดือน" คำว่า "วันที่เกิน 3 เดือน" ผมก็ไม่รู้ว่ามันคือวันที่อะไรครับ
6 @R02783
อ๋อครับ คือวันที่ ที่ผมหมายถึงก็คือว่า ผมมีฟิลด์ที่เก็บวันที่ ชื่อว่า date_entered ครับผมอยากจะลบข้อมูลที่มีข้อมูลวันที่จากฟิลด์ date_entered ที่ย้อนหลังเกิน 3 เดือน นะครับ แล้วอีกอย่างที่ให้เปลี่ยเป็น m เล็ก ก็ไม่ได้ครับ
7 @R02786
ขอดูโค้ดที่คุณนำไปเขียนได้ไหมครับ คุณเอาไปใช้ ตรงไหนอย่างไรบ้าง
8 @R02804
Private Sub Form_Load()
SQL = "Delete * from inv_invoiceheader where datediff(m,[date_entered],Date)>3 AND (inv_invoiceheader.invoicetype=ใบเสนอราคา) "
DoCmd.SetWarnings False
DoCmd.RunSQL
End Sub
พอผมเอาเครื่องหมาย " " จากตัว m ออก ก็ไม่ปัญหาแล้วครับ แต่มีปัญหาตอนรันนะครับ มันติดตรง docmd.runsql คือผมจะเอาโค๊ดนี้ไว้ที่หน้า main ครับ พอเปิดหน้า main ก็ให้ลบข้อมูลเลยครับผม
SQL = "Delete * from inv_invoiceheader where datediff(m,[date_entered],Date)>3 AND (inv_invoiceheader.invoicetype=ใบเสนอราคา) "
DoCmd.SetWarnings False
DoCmd.RunSQL
End Sub
พอผมเอาเครื่องหมาย " " จากตัว m ออก ก็ไม่ปัญหาแล้วครับ แต่มีปัญหาตอนรันนะครับ มันติดตรง docmd.runsql คือผมจะเอาโค๊ดนี้ไว้ที่หน้า main ครับ พอเปิดหน้า main ก็ให้ลบข้อมูลเลยครับผม
9 @R02808
SQL = "Delete * from inv_invoiceheader where datediff(""m"",[date_entered],Date)>3 AND (inv_invoiceheader.invoicetype=ใบเสนอราคา)"
DoCmd.SetWarnings False
DoCmd.RunSQL [SIZE=4]sql[/FONT]
โค้ด มันก็แค่นี้ อยากเอาไปวางตรงไหนก็ได้ หน้า Main คืออะไรใช่ฟอร์มหรือเปล่าล่ะครับ
SQL = "Delete * from inv_invoiceheader where datediff(""m"",[date_entered],Date)>3 AND (inv_invoiceheader.invoicetype=ใบเสนอราคา)"
DoCmd.SetWarnings False
DoCmd.RunSQL [SIZE=4]sql[/FONT]
โค้ด มันก็แค่นี้ อยากเอาไปวางตรงไหนก็ได้ หน้า Main คืออะไรใช่ฟอร์มหรือเปล่าล่ะครับ
10 @R02813
ได้แล้วครับ ผมไม่ได้ใส่ ""m"" ขอบคุณมากเลยครับ
Time: 0.3499s
private sub form_load()
sql = "Delete * from ตาราง where datediff("M",วันที่,Date)>3"
docmd.setwarnings false
docmd.runsql sql
end sub
2:
private sub text1_beforeupdate(cancel as integer)
cancel = datediff("d",cdate(text1),date)>=2
end sub