 |
|
รบกวนถามเรื่องการเทียบค่าวันที่ในแถวกับวันที่ปัจจุบัน ในมันสามารถเปลี่ยนสถานะเองได้ |
|
 |
|
|
 |
 |
|
สวัดดีคับวันนี้ผมต้องมารบกวนพี่ๆน้องๆอีกแล้ว ผมพยายามแก้ด้วยตัวเองแล้ว แต่ก็ยังไม่สำเร็จเลยอยากรบกวนถามวิธีแก้ไขหน่อยคับ เข้าเรื่องเลย.....
คือโจรท์ที่ผมได้มานั้น คื่อ อาจาย์ให้ วันที่หมดอายุใน ในช่อง "วันที่หมดอายุ" มาเปรียบเทียบกับวันที่ปัจจุบัน (ตามเวลาในเครื่องคอมฯ) เมื่อผมเปลี่ยนเวลาเครื่องเดินหน้าไปอีก สองปีข้างหน้า ตรงที่โชว์ในกิด "สถานะ" กับไม่เปลี่ยนไปเป็นสถานะ "หมดอายุสมาชิก" (อายุสมาชิกคือ 1 ปี นะคับ ) และให้ขึ้นแทบสีแดง ซึ่งอาจารย์ได้ให้คำแนะนำมาว่า ให้ตรวจสอบตั้งแต่เรื่มเปิดฟอร์มขึ้นมาเลย ผมเลยเขียนโค๊ดไว้ในฟอร์มโหลด
ผมหาทางแก้มา 1 อาทิตย์แล้วมึนจริงๆ นี้คับโค๊ด ช่วยตรวจให้ที่ว่าผมผิดตรงไหนและขอคำแนะนำในการแก้ไขด้วยคับ ขอบคุณคับ
Code (VB.NET)
Dim j As Integer
adapMember = New OleDb.OleDbDataAdapter("select * from Member", dbConnect)
tbMember.Reset()
adapMember.Fill(tbMember, "Member")
For j = 0 To tbMember.Tables("Member").Rows.Count - 1
recMember = tbMember.Tables("Member").Rows(j)
'Dim S As String = recMember("M_Status")
If Trim(recMember("M_Status")) = "1" And recMember("M_Date") < Date.Now Then
DataGridView1.Rows.Add(recMember("M_ID"), recMember("M_Name"), recMember("M_Tel"), "สมาชิก", recMember("M_Date"), recMember("M_Exp_Date"))
Else
DataGridView1.Rows.Add(recMember("M_ID"), recMember("M_Name"), recMember("M_Tel"), "หมดอายุสมาชิก", recMember("M_Date"), recMember("M_Exp_Date"))
DataGridView1.Rows(j).DefaultCellStyle.BackColor = Color.Red
DataGridView1.Rows(j).DefaultCellStyle.ForeColor = Color.White
End If
Next
End Sub
ปล. M_Status = 1 คือ "สมาชิก" ส่วน M_Status = 2 คือ "หมดอายุสมาชิก"

Tag : .NET, Ms SQL Server 2008, VS 2008 (.NET 3.x)
|
|
 |
 |
 |
 |
Date :
2014-05-15 15:56:25 |
By :
Heroplayboy |
View :
1061 |
Reply :
8 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองดูครับ เขียนสดไม่ได้ลองรันนะครับ
Code (VB.NET)
Dim j As Integer
adapMember = New OleDb.OleDbDataAdapter("select * from Member", dbConnect)
tbMember.Reset()
adapMember.Fill(tbMember, "Member")
For j = 0 To tbMember.Tables("Member").Rows.Count - 1
recMember = tbMember.Tables("Member").Rows(j)
'Dim S As String = recMember("M_Status")
If (Trim(recMember("M_Status")) = "1") And (Date.Now > recMember("M_Exp_Date")) Then
DataGridView1.Rows.Add(recMember("M_ID"), recMember("M_Name"), recMember("M_Tel"), "สมาชิก", recMember("M_Date"), recMember("M_Exp_Date"))
Else
DataGridView1.Rows.Add(recMember("M_ID"), recMember("M_Name"), recMember("M_Tel"), "หมดอายุสมาชิก", recMember("M_Date"), recMember("M_Exp_Date"))
DataGridView1.Rows(j).DefaultCellStyle.BackColor = Color.Red
DataGridView1.Rows(j).DefaultCellStyle.ForeColor = Color.White
End If
Next
End Sub
|
ประวัติการแก้ไข 2014-05-15 16:19:42 2014-05-15 16:25:49 2014-05-15 16:29:52
 |
 |
 |
 |
Date :
2014-05-15 16:13:47 |
By :
CPU4Core |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตอนลองปรับวัน เวลา ในเครื่องเป็น เท่าไรครับ
|
 |
 |
 |
 |
Date :
2014-05-15 19:20:06 |
By :
CPU4Core |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แสดง ว่าเวลายังเป็น ปี 2557 อยู่ใช่ไหมครับ
|
 |
 |
 |
 |
Date :
2014-05-16 13:36:21 |
By :
CPU4Core |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
งั้นลอง Bug Value ของ recMember("M_Exp_Date") ว่าให้ค่าอะไร
และก็ Value ของ Date.Now() ให้ค่าอะไร
ในช่วงก่อนที่จะเข้า IF ที่ไว้เช็ค หมดอายุอะครับ
|
 |
 |
 |
 |
Date :
2014-05-16 13:42:43 |
By :
CPU4Core |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เอางี้ครับ ขอถามหน่อยว่า
- ตอนที่ลอง คุณปรับเวลาในเครื่องเป็น วันอะไร เดือนอะไร ปีอะไร เวลากี่โมง
- recMember("M_Exp_Date") มันคือ column วันหมดอายุใช่หรือไม่
- ตอนลอง Bug โปรแกรม recMember("M_Exp_Date") มันออกมาเป็นค่าอะไร
|
 |
 |
 |
 |
Date :
2014-05-16 14:47:01 |
By :
CPU4Core |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|