ms-access - 将数据从 from 传递到子表单在 MS Access 中无法正常工作
问题描述
我有一个主窗体 (frmPurchases) 和一个子窗体 (subfrmPurchases)。SubForm 上的 UPC 字段是一个组合框,有 2 列,一个是数字(产品 ID),另一个是文本。我有一个 Not-In-List 事件来打开一个单独的表单来添加新产品。输入产品详细信息后,将执行以下代码行。
Private Sub Command4_Click()
On Error GoTo errline
If IsFormLoaded("frmPurchases") = True Then
Forms!frmPurchases!subfrmPurchases.Form!UPC.Undo
Forms!frmPurchases!subfrmPurchases.Form!UPC.Requery
Forms!frmPurchases!subfrmPurchases.Form!UPC = Me.UPC
DoCmd.Close acForm, "ADDPRODUCT", acSaveYes
Forms!frmPurchases!subfrmPurchases.Form!Quantity.SetFocus
Else
DoCmd.Close acForm, "ADDPRODUCT", acSaveYes
End If
errline:
Exit Sub
End Sub
怎么了:
- 产品添加成功
- 在子表单字段 UPC 上,产品在那里(因为我已经设置了它,因此您不能移动到子表单中的新记录而将该字段留空)但组合框显示为空白。
- 在 subfrmPurchases 的记录源(Purchase 表)中,产品 ID 与 subfrmPurchases 中输入的所有数据一起显示。
为什么组合框不刷新以显示新添加的产品,即组合框的文本列?
编辑:好的,所以我想通了。我忘了提到组合框 UPC 没有以正常方式填充数据。我正在使用一个类来调用行源,所以我需要引用类中的方法来重新查询组合框。
解决方案
您应该设置组合框绑定值(产品 ID),而不是显示的文本(UPC)。所以:
Forms!frmPurchases!subfrmPurchases.Form!UPC.Value = Me!ProductID.Value
推荐阅读
- appcelerator - Titanium Appcelerator Ti 媒体选择器小部件
- c# - Winforms ComboBox 在运行时添加一个行项目
- json - 将 JsObject 保存到 DynamoDB
- arrays - 动态数组经典asp
- c++ - 调整 CMakeList.txt 以与 CUDA 一起运行
- html - 从 typescript 方法启用或禁用 html选项
- java - 如何修复“线程无法解析为变量”错误?
- python-3.x - 为什么这段代码给了我想要的输出,如果数字序列是 1、2、3,它应该返回 True
- asp.net - 在执行 SQl 任务中删除具有 2 个或更多参数的 ssis 包中的查询
- bash - 对两个文件夹中文件之间的每个组合运行一个进程