รายละเอียดของการตอบ ::
แนวคิดที่ 1
ความคิดบ้านๆของผมนะครับ (อ้างอิงจากการ Update ตัวเองของโปรแกรมต่างๆ)
ในตาราง อาจจะต้องมี 3 คัอลัมนี้ครับ
1. วันคิดดอกเบี้ยล่าสุด บอกถึงว่าคิดดอกเบี้ยล่าสุดวันที่เท่าไหร่(_date)
2. จำนวนวันที่จะอัพเดท มีเผื่ออนาคต อาจจะปรับเปลี่ยนจาก 38 เป็น 40 เป็น 50 หรือ 100 วัน ได้โดยไม่ต้องแก้ในโปรแกรม(_count)
3. วันคิดดอกเบี้ยครั้งต่อไป บอกถึงว่าคิดดอกเบี้ยครั้งต่อไปวันที่เท่าไหร่(_NextDate)
SQL ที่ใช้ก็ประมาณนี้ครับ
Code
"Select * form table where _NextDate = " + Now
พอได้ข้อมูลที่จะ คิดดอกเบี้ย ในวันนี้ ก็ให้ อัพเดท ข้อมูลนั้นๆ ไปครับ
แนวคิดที่ 2
ในกรณีที่ มีการกำหนดตายตัวอยู่แล้วว่าจะฝากกี่ปี กี่เดือน หรือ ท่านอยากกำหนดยอดไว้ล่วงหน้า
วันที่ 6/6/2017 เรี่มฝาก
วันที่ 13/7/2017 จ่ายดอกเบี่ย (นับมาจากวันเรี่มฝาก 38 วัน)
วันที่ 20/8/2017 จ่ายดอกเบี่ย (นับมาจากวันเรี่มฝาก 38 วัน)
สามารถคิดดอกเบี้ยตามวันโดย forloop เอาตามใจชอบ
Code (VB.NET)
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If Double.Parse(TextBox1.Text) <= 0 Then
MessageBox.Show("กรุณาระบุเงินต้น")
Return
End If
If DateTimePicker2.Value = DateTimePicker1.Value Or DateTimePicker2.Value < DateTimePicker1.Value.AddDays(37) Then
MessageBox.Show("กรุณาระบุวันที่ตามเงื่อนไข")
Return
End If
Dim d As DateTime = Me.DateTimePicker1.Value
RichTextBox1.Text = ""
RichTextBox1.Text = "วันที่ " & Me.DateTimePicker1.Value.ToString("dd/MM/yyyy") & " เรี่มฝาก เงินต้น " & TextBox1.Text & " บาท"
Dim count As Integer = 0
Dim db As Double = Double.Parse(TextBox1.Text) * 10 / 100
Do While d < DateTimePicker2.Value
d = d.AddDays(37)
count += 1
RichTextBox1.Text += vbCrLf & "วันที่ " & d.ToString("dd/MM/yyyy") & " เงินต้น " & TextBox1.Text & " คิดดอกเบี้ยครั้งที่ " & count & " ดอกเบี้ย " & db & " บาท"
Loop
RichTextBox1.Text += vbCrLf & vbCrLf & vbCrLf & " รวมดอกเบี้ย " & count & " งวด เป็นเงิน " & count * db & " บาท"
End Sub