使用MS Access对我来说是一个新手。我正在制作一个休假申请表,用户输入休假日期,然后将插入表格的数据应该是休假日期,然后是日期,从和之间,以及最新日期。例如,从7月11日到7月16日离开日期。表上的数据应如下所示: LEAVE_DATE 2016年7月11日 2016年7月12日 2016年7月13日 2016年7月14日 2016年7月15日 2016年7月16日
我看过这篇文章How to insert values into the database table using VBA in MS access 但我不知道如何为日期做循环。
这是我的代码供参考。请帮帮我。谢谢!
Private Sub btnSubmit_Click()
Dim FromDate As Date
Dim DateDiff As Integer
Dim strSQL As String
If Len(Nz(Trim(Me.txtLeaveFrom), "")) = 0 Then
Call MessageBox("Please enter Leave Date From.", ExclamationIcon, OKOnly)
Me.txtLeaveFrom.SetFocus
ElseIf Len(Nz(Trim(Me.txtLeaveTo), "")) = 0 Then
Call MessageBox("Please enter Leave Date To.", ExclamationIcon, OKOnly)
Me.txtLeaveTo.SetFocus
ElseIf Len(Nz(Trim(Me.cmbLeaveType), "")) = 0 Then
Call MessageBox("Please select Type of Leave", ExclamationIcon, OKOnly)
Me.cmbLeaveType.SetFocus
Else
FromDate = Me.txtLeaveFrom
strSQL = "INSERT INTO LEAVE_RECORD (EMP_ID, LEAVE_DATE, LEAVE_TYPE, APPROVED_FLG, REMARKS)" & _
"VALUES (EMPLOYEE_ID, '" & FromDate & "', '" & Me.cmbLeaveType & "' , 0, me.txtReason)"
Call MessageBox("Leave Application Submitted. Please wait for approval from management.", InformationIcon, OKOnly)
End If
End Sub
答案 0 :(得分:0)
要循环显示日期,您可以使用DateAdd
功能和do loop.
我想我理解你在说什么,所以请尝试下面的代码,看看你是否正在尝试这样做。
FromDate = Me.txtLeaveFrom
Do Until FromDate = Me.txtLeaveTo
' your code
strSQL = "INSERT INTO LEAVE_RECORD (EMP_ID, LEAVE_DATE, LEAVE_TYPE, APPROVED_FLG, REMARKS)" & _
"VALUES (EMPLOYEE_ID, '" & FromDate & "', '" & Me.cmbLeaveType & "' , 0, me.txtReason)"
FromDate = DateAdd("d", 1, FromDate)
Debug.Print FromDate
Loop
我在那里放了Debug.Print
来检查日期是否正在递增。您必须对代码进行任何调整,以便在每个相应的日期输入您想要的数据。