vba - 使用对文本框的更改更新表格
问题描述
我有一张车辆信息表(每辆车 5 个字段),每人拥有多辆车的功能。我将所有 5 个字段和所有车辆都放入一个多维数组并根据车辆编号(即 vic1、vic2 ...)填充一个文本框。如果任何车辆信息发生变化,我需要更新表格。每辆车都有一个不同的文本框。我不确定如何进行更改(添加/删除/更新)并将其加载回表中。
Private Sub cmdDone_Click()
strMake1 = VicArray(0, 0)
strModel1 = VicArray(0, 1)
strYear1 = VicArray(0, 2)
strColor1 = VicArray(0, 1)
strPlate1 = VicArray(0, 1)
strMake2 = VicArray(1, 0)
strModel2 = VicArray(1, 1)
strYear2 = VicArray(1, 2)
strColor2 = VicArray(1, 3)
strPlate2 = VicArray(1, 4)
.
.
.
strMake6 = VicArray(5, 0)
strModel6 = VicArray(5, 1)
strYear6 = VicArray(5, 2)
strColor6 = VicArray(5, 3)
strPlate6 = VicArray(5, 4)
strUpdate = "Update VehicleInfo SET " & _
"Vic1License = '" & strPlate1 & "',Vic1Make = '" & strMake1 & "', Vic1Model = '" & strModel1 & "', Vic1Year = '" & strYear1 & "', Vic1Color = '" & strColor1 & " Handicapped= " & strhandicap & "'," & _
"Vic2License = '" & strPlate2 & "',Vic2Make = '" & strMake2 & "', Vic2Model = '" & strModel2 & "', Vic2Year = '" & strYear2 & "', Vic2Color = '" & strColor2 & "'," & _
"Vic3License = '" & strPlate3 & "',Vic3Make = '" & strMake3 & "', Vic3Model = '" & strModel3 & "', Vic3Year = '" & strYear3 & "', Vic3Color = '" & strColor3 & "'," & _
"Vic4License = '" & strPlate4 & "',Vic4Make = '" & strMake4 & "', Vic4Model = '" & strModel4 & "', Vic4Year = '" & strYear4 & "', Vic4Color = '" & strColor4 & "'," & _
"Vic5License = '" & strPlate5 & "',Vic5Make = '" & strMake5 & "', Vic5Model = '" & strModel5 & "', Vic5Year = '" & strYear5 & "', Vic5Color = '" & strColor5 & "'," & _
"Vic6License = '" & strPlate6 & "',Vic6Make = '" & strMake6 & "', Vic6Model = '" & strModel6 & "', Vic6Year = '" & strYear6 & "', Vic6Color = '" & strColor6 & "'," & _
" WHERE ( LastName= '" & TxtLast & "', AND FirstName= '" & txtFirst & "')"
DoCmd.RunSQL strUpdate
解决方案
我认为您正在尝试手动执行 Access 可以自动为您执行的操作。
我建议将表单的记录源设置为表 VehicleInfo。然后,将每个控件的控件源设置为该表的字段。
试试这篇文章,它应该可以很好地介绍如何更有效地使用 Access。
https://support.office.com/en-us/article/introduction-to-forms-e8d47343-c937-44e8-a80f-b6a83a1fa3ae
我认为您应该针对从第一个表单中选择的名称过滤您的 VehicleInfo 表单。第一种形式可能是这样的:
public sub btn_Click()
DoCmd.OpenForm "VehicleInfoForm", , , "Name = '" & selectedName & "'"
end sub
然后车辆信息表单将显示该用户的信息。每当他们对文本框进行更改时,都会在他们关闭表单时保存。假设它都正确绑定。
推荐阅读
- c# - 通过 Bitbucket 部署 Azure
- c++ - 轻松将许多重要的“静态库项目”重构为“dll 项目”
- javascript - 我想使用firebase作为我的后端基于Angular中当前登录的用户ID进行查询
- docker - 无法启动 Portainer 代理并出现错误“无法检索广告地址”
- c# - 是否可以将应用程序添加到 Azure 中的安全组?
- javascript - 如何在科尔多瓦获取当前位置时修复“REQUEST_DENIED”
- c# - 在单个语句中使用 Nunit 测试参数
- c# - 在 ViewModel 中打开 ContextMenu -> RightClick 触发 LeftClickCommand
- python - 如何在文件中复制特定标签及其内容?
- reactjs - React Helmet 不更新元标题标签