Database 更新查询运行时没有错误,但Access中的数据未更新
我在Access中有一个CompetencyTable,我正在使用VBA代码更新Access表中的数据,但是,代码正在成功运行,但是Access表中的数据没有得到更新 在access表ActualTarget、ActualCompleted和ActualPending中有三个字段。现在,用户已经定义了实际目标,并且最初实际目标=实际挂起。例如,如果实际目标为40,则实际挂起为40。现在我希望实际完成的数量从1,2,3,4等增加,随着实际完成的数量增加,实际未决的数量应该减少 代码正在运行,没有出现错误,但字段未得到更新 下面是我开发的代码Database 更新查询运行时没有错误,但Access中的数据未更新,database,vba,ms-access,Database,Vba,Ms Access,我在Access中有一个CompetencyTable,我正在使用VBA代码更新Access表中的数据,但是,代码正在成功运行,但是Access表中的数据没有得到更新 在access表ActualTarget、ActualCompleted和ActualPending中有三个字段。现在,用户已经定义了实际目标,并且最初实际目标=实际挂起。例如,如果实际目标为40,则实际挂起为40。现在我希望实际完成的数量从1,2,3,4等增加,随着实际完成的数量增加,实际未决的数量应该减少 代码正在运行,没有出
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中有一个名为“审核表单”的表单,当数据将通过组合框validat从审核表单中添加时,请在此处输入代码value=Yes,然后它应在“实际完成”和“实际待定”中更新能力表
请帮我度过难关
非常感谢
[LOB]“
中缺少逗号。如果字段是数字类型,请不要使用撇号分隔符。如果字段是日期/时间类型,请使用#分隔符。基本上与中相同的错误,而不是仅为了获取EmpName而打开记录集,可以使用DLookup()域聚合函数。代码中没有错误,但是,数据库没有更新以下代码。请打开“UPDATE CompetencyTable SET ActualCompleted=“&ActCm&”和ActualPend=“&ActPend&”,其中[GlobalID]=”“&Gid&“”,在[LOB]”
中缺少逗号。如果字段是数字类型,请不要使用撇号分隔符。如果字段是日期/时间类型,请使用#分隔符。与中的错误基本相同,可以使用DLookup()域聚合函数,而不只是为了获取EmpName而打开记录集。代码中没有错误,但是,数据库没有更新以下代码。请打开“UPDATE CompetencyTable SET ActualCompleted=“&ActCm&”和ActualPend=“&ActPend&”其中[GlobalID]=”&Gid&“”,康涅狄格州