ms-access - 更新先前表单上的数据
问题描述
我为无家可归者收容所工作,并正在开发一个数据库来跟踪客户在收容所所做的工作。第一个表格显示客户剩余的天数(CDays)、他们的工作计划小时数(CWPHours)和他们的志愿者小时数(CVHours),所有这些都是数字。
当客户提交工作计划信用时,这三个数据由第二种形式处理。一切似乎都工作正常,但我无法让第二个表单将更新的信息传递回第一个表单。我不断收到错误 7878“数据已更改”。但是,当我逐步执行代码时,它可以正常工作。
下面是第二种形式的代码。对不起,如果它草率,我在这方面还是比较新的。
Private Sub cmd_Apply_Click()
Dim TempHours As Single
Dim TempDays As Single
Dim TempVol As Single
DoCmd.SetWarnings False
'Update the client work program hours. This starts the chain reaction
DoCmd.RunSQL "UPDATE tblClient " & _
"SET tblClient.CWPHours = [tblClient].[CWPHours]+[Forms]![Work Pay Form]![WPHours] " & _
"WHERE (((tblClient.ClientID)=[Forms]![Work Pay Form]![ClientID]))"
DoCmd.SetWarnings True
'Set temp values based on the current values of the First Form
TempHours = Forms![Navigation Form]![NavigationSubform].Form![CWPHours]
TempDays = Forms![Navigation Form]![NavigationSubform].Form![CDays]
TempVol = Forms![Navigation Form]![NavigationSubform].Form![CVHours]
'Update TempHours to include new credits
TempHours = TempHours + Me.WPHours
TempHours2 = TempHours 'This is used to update TempDays later on
'Convert TempHours of 2 or more into additional days
If TempHours > 1.9 Then
TempHours = TempHours - (Int(TempHours / 2) * 2)
TempDays = TempDays + (Int(TempHours2 / 2))
End If
'Convert 10 or more days into volunteer hours
If TempDays > 9.9 Then
TempVol = TempVol + ((TempDays - 10) * 2)
TempDays = 10
End If
'Pass the new values back to the First Form
'This is where the problem starts
Forms![Navigation Form]![NavigationSubform].Form![CWPHours] = TempHours
Forms![Navigation Form]![NavigationSubform].Form![CDays] = TempDays
Forms![Navigation Form]![NavigationSubform].Form![CVHours] = TempVol
DoCmd.Close
End Sub
最后的三行是导致问题的原因。如果有人有任何建议,我感谢您的帮助。
解决方案
推荐阅读
- android - 在 Intent.putextra 中传递消息
- azure-data-explorer - 如何在动态时以升序或降序方式对列进行重新排序
- python - 在 python 中处理文本文件时发现错误
- android - 带有渐变轮廓的自定义按钮和带有透明背景的图标
- sql - 如何在需要过滤的两个表上左连接?
- matlab - 将方程应用于数组的特定行并将答案连接到数组
- .net - .Net 中是否有管理权限的标准
- sql - SSDT中数据库项目之间的嵌套引用无法解析
- typescript - 是否可以使用 TypeScripts 装饰器来验证方法参数的值?
- c++ - 有没有一种快速的方法可以知道班级成员对大型班级的可访问性?