ช่วยหน่อยคะ คำสั่ง sql ใน vb ต้องการให้แสดงข้อมูลวันที่ที่น้อยกว่าวันที่ปัจจุบันอยู่ 2 เดือนคะ
Code (VB.NET)
DateTime.Now.AddMonths(-2).ToShortDateString()
Date :
2010-02-01 15:59:10
By :
tungman
ตามที่พี่ tungman บอกมันเขียนเเบบนี้รึเปล่าครับ
Code (VB.NET)
Private Sub dt_expDate_ValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles dt_expDate.ValueChanged
dt_expDate.Value = DateTime.Now.AddMonths(-2).ToShortDateString()
End Sub
ผมลอง Run แบบ Single Step ดูเเล้วครับมันทำงานเเบบวนไปวนมาอยุ่ประมาณ 2 รอบครับเเต่ค่ากลับไม่เเสดงครับ
Date :
2010-02-01 16:26:42
By :
artcode
ทำได้เเล้วครับ
Code (VB.NET)
dt_expDate.Value = DateTime.Now.AddMonths(-2).ToString()
ขอบคุณมากๆครับ
Date :
2010-02-01 16:29:58
By :
artcode
เปลี่ยนเป็น
Code (VB.NET)
dt_expDate.Value = dt_expDate.Value.AddMonths(-2)
type ของ dt_expDate.Value มันเป็น datetime อยู่แล้ว โทษทีๆ
Date :
2010-02-01 16:42:44
By :
tungman
ทำได้แล้วเช่นกันคะ พี่ ขอบคุณมากนะคะ
Date :
2010-02-01 17:12:57
By :
numsom
เอาตั้งแต่ sql เลยดีกว่า ไม่ต้องเขียน code ใฟ้เมื่อยตุ้ม
SELECT
DATEADD(MONTH, -2, "field datetime ที่ต้องการ")
FROM
"table ที่จะ select"
Date :
2010-02-01 17:17:32
By :
numenoy
พี่ tungman เเละพี่ๆท่านอื่นครับมีเรื่องรบกวนอีกเเล้วครับ
ถ้าผมต้องการให้วันที่เปลี่ยนไปตามวันที่เราเลือกหละครับ
เเบบว่าถ้าเลือก วันที่ 5 ม.ค. 53 มันก็จะกลายเป็น 5 พ.ย. 53 << ซึ่งน้อยกว่าวันที่เราเลือก 2 เดือนครับ
ทำอย่างไรครับ
Date :
2010-02-01 21:45:09
By :
artcode
ตาม no.4 เลยครับ
Date :
2010-02-01 22:06:34
By :
tungman
ตามที่พี่ numenoy บอกครับผมเอามาลองเเล้วมันถึง ข้อมูลมาทั้งหมดเลย ผมก็เลยเอาไปเปรียบเทียบว่า
ถ้าข้อมูลที่ Querry ขึ้นมาน้อยกว่า Exp_date อยู่ 2 เดือน เเล้วเท่ากับวันที่ปัจจุบันให้เเสดงครับ
เเต่ก็ Error ครับ (รูปครับ)
อันนี้ code ที่เขียนใน VB ครับ
Code (VB.NET)
d_adap = New SqlDataAdapter("Select DATEADD(MONTH, -2, Exp_date = '" & DateTime.Now.Year.ToString() & "/" & DateTime.Now.Month.ToString() & "/" & DateTime.Now.Day.ToString() & "')" & _
"from Vaccine", sqlConnection)
rowaffected = d_adap.Fill(d_set, "Vaccine")
DataGridView2.DataSource = d_set.Tables("Vaccine")
Date :
2010-02-01 22:41:27
By :
artcode
อันนี้ทำตามที่พี่ tungman บอกครับ เกิด Error เช่นกันครับ
ผมได้ลองทำตามที่ Comment ไว้เเล้วด้วยนะครับเเต่ไม่ได้เหมือนกันครับ
รูปครับ
Date :
2010-02-01 22:44:51
By :
artcode
ลองนี่ดู
Code (VB.NET)
dt_expDate.Value = DateTime.Parse(dt_expDate.Value.ToString()).AddMonths(-2)
ถ้าไม่ได้ ลองแบบนี่
Code (VB.NET)
dt_expDate.Value = DateTime.Parse(dt_expDate.Value.ToString()).AddMonths(-2).ToString()
มั่วล้วนๆ
Date :
2010-02-02 08:56:02
By :
tungman
ไม่ได้เลยครับพี่ tungman
Date :
2010-02-02 11:10:16
By :
artcode
ลองเเล้วยัง error เเบบเดิมอยู่ครับ
Date :
2010-02-02 16:41:00
By :
artcode
ใช้ event closeup ครับ
ถ้าใช้ valuechanged มันจะ change ไปเรื่อยๆ จนน้อยกว่าค่า mindate แล้วก็ error
ต้องใช้เจ้านี่
Code (VB.NET)
Private Sub DateTimePicker1_CloseUp(ByVal sender As Object, ByVal e As System.EventArgs) Handles DateTimePicker1.CloseUp
DateTimePicker1.Value = DateTimePicker1.Value.AddMonths(-2).ToString()
End Sub
Date :
2010-02-02 20:34:37
By :
tungman
ขอบคุณพี่ tungman มากๆครับ ทำโปรเจคพี่ช่วยผมได้เยอะมากเลยครับ
พี่ใจดีมากๆซึ้งน้ำใจจริงๆ
Date :
2010-02-03 12:34:07
By :
artcode
ทำได้เรียบร้อยเเล้วครับพี่ tungman
Date :
2010-02-03 12:34:36
By :
artcode
Load balance : Server 01