รบกวนดู Code หน่อยค่ะ คือต้องการ Add ช่วงวันที่เริ่มลา ถึง วันสิ้นสุดการลาค่ะ บันทึกใน table การลา เช่น
วันที่เริ่มลา 2017-02-16 สิ้นสุดการลา 2017-02-17
ผลลัพธ์ที่ต้องการ คือ
Employee ID Name LastName Position A BB Job Zone LeaveType StartDate EndDate TotalLeave Description 4801575 ประจงจิตต์ เดชเกลี้ยง ผู้ช่วยผู้จัดการแผนก Support ลาพักร้อน 2017-02-16 2017-02-17 2 พักผ่อน 4801575 ประจงจิตต์ เดชเกลี้ยง ผู้ช่วยผู้จัดการแผนก Support ลาพักร้อน 2017-02-17 2017-02-17 2 พักผ่อน
แต่จากการเขียน code ผลลัพธ์ที่ได้คือ
Employee ID Name LastName Position A BB Job Zone LeaveType StartDate EndDate TotalLeave Description 4801575 ประจงจิตต์ เดชเกลี้ยง ผู้ช่วยผู้จัดการแผนก Support ลาพักร้อน 2017-02-16 2017-02-17 2 พักผ่อน 4801575 ประจงจิตต์ เดชเกลี้ยง ผู้ช่วยผู้จัดการแผนก Support ลาพักร้อน 2017-02-17 2017-02-17 2 พักผ่อน 4801575 ประจงจิตต์ เดชเกลี้ยง ผู้ช่วยผู้จัดการแผนก Support ลาพักร้อน 2017-02-17 2017-02-17 2 พักผ่อน
คือ add เกินมา 1 วันค่ะ
Employee ID Name LastName Position A BB Job Zone LeaveType StartDate EndDate TotalLeave Description 4801575 ประจงจิตต์ เดชเกลี้ยง ผู้ช่วยผู้จัดการแผนก Support ลาพักร้อน 2017-02-17 2017-02-17 2 พักผ่อน
รบการช่วยดู Code ให้ด้วยค่ะ
Code (VB.NET)
01.Private Sub Btnabsent_Click(sender As Object, e As EventArgs) Handles Btnabsent.Click
02.Dim iCheck As String
03.Dim idate1 As String
04.idate1 = CStr(Format(Dtpstrdate.Value, "yyyy-MM-dd"))
05.Dim idate2 As String
06.idate2 = CStr(Format(DtpEndDate.Value, "yyyy-MM-dd"))
07.Dim datex As Date
08.Dim iloop As Boolean = False
09.datex = Dtpstrdate.Value
10.
11.
12.
13.If confirm("คุณต้องการเพิ่มข้อมูล หรือไม่?") = vbNo Then Return
14.
15.'For i As Integer = 0 To ts
16.
17.For i As Integer = 0 To DateDiff(DateInterval.Day, Dtpstrdate.Value, DtpEndDate.Value)
18.
19.sql = "select count(*) from tblLeave where [Job] = '" & txtjob2.Text & "'and StartDate = '" & datex.ToString("yyyy-MM-dd") & "'"
20.
21.iCheck = cx.ExecuteScalar(sql)
22.' Debug.Print(datex.ToString("yyyy-MM-dd") & " " & iCheck)
23.If iCheck > 1 Then
24.fail("ไม่สามารถ Plan ลาได้เนื่องจากฝั่ง'" & txtjob2.Text & "' มีคนลาครบแล้ว ในวันที่ " & datex.ToString("dd/MM/yyyy"))
25.txtid2.Select()
26.iloop = True
27.Return
28.Else
29.sql = ""
30.sql = "insert into tblLeave values('" & txtid2.Text & "','" & txtname2.Text & "','" & txtlastname2.Text & "','" & txtposition2.Text & "','" & txtA2.Text & "','" & txtBB2.Text & "','" & txtjob2.Text & "','" & txtzone2.Text & "','" & cboleave.Text & "','" & datex.ToString("yyyy-MM-dd") & "','" & idate2.ToString & "','" & txttotalleave.Text & "','" & txtcom.Text & "')"
31.cx.Execute(sql)
32.iloop = False
33.End If
34.datex = datex.AddDays(1)
35.
36.Next
37.If iloop Then
38.Return
39.End If
40.
41.If cmd_excuteNonquery() = 0 Then
42.fail("เพิ่มข้อมูลไม่สำเร็จ")
43.Else
44.ok("เพิ่มข้อมูลเรียบร้อยแล้ว")
45.refresh_all_data_userid()
46.txtid2.Text = ""
47.txtname2.Text = ""
48.txtlastname2.Text = ""
49.txtposition2.Text = ""
50.txtA2.Text = ""
51.txtBB2.Text = ""
52.txtjob2.Text = ""
53.txtzone2.Text = ""
54.txtphone.Text = ""
55.cboleave.Text = ""
56.Dtpstrdate.Value = Now
57.DtpEndDate.Value = Now
58.txttotalleave.Text = ""
59.txtcom.Text = ""
60.txtid2.Select()
61.
62.
63.
64.End If
65.End Sub
รบกวนด้วยน่ะค่ะ
ตอบ/อธิบาย