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日vbaをmsアクセスで使用してデータベーステーブルの日付と日付の間に日付を挿入する方法
私はこの投稿を見てきましたHow to insert values into the database table using VBA in MS access しかし、私はどのように日付のループを行うか分からない。
ここをクリックして参考にします。これについて私を助けてください。ありがとうございました!あなたはdo loop.
とともにDateAdd
機能を使用することができ、日付をループし
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
一度に1つのレコードに対して「INSERT」を使用する必要があります。だから、 'DoCmd.RunSQL strSQL'をループ内に置くべきです。しかし、それはあなたに何か問題を引き起こすかどうかわからない、あなたはそれを実行し、参照する必要があります。 – KyloRen