У меня есть CompetencyTable в Access, и я использую код VBA для обновления данных в таблице доступа, однако код работает успешно, однако данные в таблице доступа не обновляются.
У меня есть три поля в таблице доступа ActualTarget, ActualCompleted, ActualPending. Теперь фактическая цель уже определена пользователем и изначально фактическая цель = фактическая ожидаемая. Например, если фактическое целевое значение равно 40, тогда фактическое ожидание равно 40. Теперь я хочу, чтобы фактическое завершение увеличивалось с 1,2,3,4 и т. Д. c, и по мере увеличения числа в фактическом завершении число должно уменьшаться на Фактическое ожидание.
Код выполняется без ошибок, но поля не обновляются.
Ниже приведен код, который я разработал
Private Sub CommandButtonSubmit_Click()
Dim CseID, Gid, NmofAgnt, Dt, LOB, Accnmbr, WrkTyp, CsNm, DtmtFnd, Validt, Rsn As String
Dim Gid1, EmpNm As String
Dim ActCm, ActTgt, ActPend As Integer
Gid1 = Environ("USERNAME")
CseID = TextBoxCSID.Text
Gid = TextBoxGID.Value
NmofAgnt = TextBoxNm.Text
Dt = TextBoxDt.Text
LOB = TextBoxLOB.Text
Accnmbr = TextBoxAccNmbr.Text
WrkTyp = TextBoxWrkTyp.Text
CsNm = TextBoxCsNm.Text
DtmtFnd = ComboBoxDetmtFnd.Value
Validt = ComboBoxValidt.Value
Rsn = TextBoxRsn.Text
If ComboBoxValidt.Value = "Yes" Then
Call connOpen
rst.Open "SELECT * FROM LoginAdmin WHERE [GlobalID]= '" & Environ("USERNAME") & "'", conn
If rst.EOF = False Then
EmpNm = Trim(rst.Fields("EmpName").Value)
Else
Exit Sub
End If
rst.Close
strQuery = "INSERT INTO QAAudits ([GlobalIDQA], [EmpName], [CaseID], [GlobalIDAgent],
[NameofAgent], [DateProcessed], [LOB], " & _
"[AccntNmbr], [WorkType], [CustomerName], [DeterimentFindings], [Validated]) " & _
"Values('" & Gid1 & "', '" & EmpNm & "', '" & CseID & "', '" & Gid & "', '" & NmofAgnt & "',
'" & Dt & "', '" & LOB & "', '" & Accnmbr & "', " & _
"'" & WrkTyp & "', '" & CsNm & "', '" & DtmtFnd & "', '" & Validt & "')"
conn.Execute strQuery
rst.Open "SELECT * FROM CompetencyTable WHERE [GlobalID]= '" & Gid & "'", conn
If rst.EOF = False Then
ActCm = Trim(rst.Fields("ActualCompleted").Value)
ActTgt = Trim(rst.Fields("ActualTarget").Value)
ActPend = Trim(rst.Fields("ActualPend").Value)
ActCm = ActCm + 1
ActPend = ActTgt - ActCm
End If
rst.Close
rst.Open "UPDATE CompetencyTable SET ActualCompleted= " & ActCm & " AND ActualPend= " & ActPend &
" WHERE [GlobalID]= '" & Gid & "'", conn
Call connclose
MsgBox "Audited Case Submitted Successfully", vbInformation, "Done"
Unload Me
Qualityform.Show
ElseIf ComboBoxValidt.Value = "No" Then
Call connOpen
rst.Open "SELECT * FROM LoginAdmin WHERE [GlobalID]= '" & Environ("USERNAME") & "'", conn
If rst.EOF = False Then
EmpNm = Trim(rst.Fields("EmpName").Value)
Else
Exit Sub
End If
rst.Close
strQuery = "INSERT INTO QAAuditsIncomplete ([GlobalIDQA], [EmpName], [CaseID],
[GlobalIDAgent], [NameofAgent], [DateProcessed], [LOB]" & _
"[AccntNmbr], [WorkType], [CustomerName], [DeterimentFindings], [Validated], [Reason])" & _
"VALUES ('" & Gid1 & "', '" & EmpNm & "', '" & CseID & "', '" & Gid & "', '" & NmofAgnt & "',
'" & Dt & "', '" & Accnmbr & "'" & _
"'" & WrkTyp & "', '" & CsNm & "', '" & DtmtFnd & "', '" & Validt & "', '" & Rsn & "')"
conn.Execute strQuery
Call connclose
MsgBox "Incomeplete Audit Case Submitted Successfully in Database", vbInformation, "Done"
Unload Me
Qualityform.Show
Else
MsgBox "Please select Validated or not", vbCritical
End If
End Sub
Итак, есть форма в vba, называемой формой аудита, когда данные будут добавлены из формы аудита с проверкой поля со списком enter code here
значение = Да, тогда он должен обновить таблицу компетенций в Фактическое завершение и Фактическое ожидание
Пожалуйста, помогите мне пройти через это !
Заранее большое спасибо!