0

可能重复:
MSAccess - 使用来自查询的值填充文本框

我有一个表单,上面有几个组合框和文本框。一个组合框值(用于 Wells)将被独立填充,然后我需要文本框的值基于 wells 组合框值的值。我创建了一个部分解决了问题的查询,它需要井组合框值的参数。如果我从表单中查询一个部分,它工作得很好并要求参数并且没问题。我确实认为使用 VBA,添加一个处理 SELECT 语句(上述查询)的代码,然后告诉它从将在表单上准备好的 wells 组合值中获取其参数。

有人可以帮忙吗。这可以像我描述的那样工作吗?

提前致谢。

穆罕默德

除了我上面的问题,我尝试了以下解决方案:

   Private Sub Well_ID_Change()
Last_Ref.ControlSource = " SELECT TOP1 New_Ref FROM" & _
" BSW_Transactions WHERE BSW_Transactions.New_Ref Is Not Null AND BSW_Transactions.Well_ID = " & Me.Well_ID.Value & _
" ORDER BY BSW_Transactions.Sample_Date DESC"
End Sub

Last_Ref 是我想用代码中嵌入的 SELECT 语句的结果填充的文本框。Well_ID 是组合框,其值将成为 SELECT 语句的参数。Well_ID 是数字字段,它显示 well_name 并将关联的 ID 值存储在表中。保存更改后运行表单时,Last_Ref 文本框显示 (#Name?)。我猜测文本框(是一个数字字段)在组合框 Well_ID 中找到了一个文本,所以我在条件 Me.Well_ID 处将“.Value”添加到上述语法中。然而问题依然存在。

我可能在语法上弄错了,有人会帮忙吗?这可以正常工作吗?

提前致谢。穆罕默德

4

2 回答 2

0

在组合框的 AfterUpdate 事件中尝试此操作:

Private Sub MyTextBox_AfterUpdate()
   MyTextBox.ControlSource = DLookup("WellsField", "WellsTable", "CriteriaField = '" & [MyComboBox] & "'")
   MyTextBox.Requery
End Sub

这将告诉您的 TextBox 在 Wells 表中查找值,并且 Requery 确保每次更新组合框时该值都是最新的。请注意'DLookup 的条件部分。这些'仅对字符串值是必需的。

于 2012-08-21T17:52:09.940 回答
0

你这样做是错误的。将表单绑定到表格,向导将为您完成,然后添加组合框。从向导中选择“在我的表单上查找记录”。将生成执行此操作的代码或宏。完成此操作后,在组合中选择一条记录将使用该记录的数据填充表单。

于 2012-08-21T17:46:50.817 回答