我有一个表格,上面有几个组合框和文本框。一个组合框值(对于Wells)将被独立填充,然后我需要文本框使其值基于井组合框值的值。 我创建了一个部分解决了问题的查询,它需要井组合框值的参数。如果我运行查询表单中的一个部分,它会很好并要求参数,这没关系。 我确实想要使用VBA,添加一个处理SELECT语句的代码(上面提到的查询),然后告诉它从井组合值中获取其参数,该值将在表单上准备好。
有人可以为此提供帮助。这可以像我描述的那样工作。
提前致谢。
穆罕默德
除上述问题外,我还尝试了以下解决方案:
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”添加到上面的语法中。但问题仍然存在。
我可能会误解语法,有人会对此有所帮助。这可行吗?
提前致谢。 穆罕默德
答案 0 :(得分:0)
你这样做是错误的。将表单绑定到表格,向导将为您执行此操作,然后添加组合框。从向导中选择“在我的表单上查找记录”。将生成执行此操作的代码或宏。完成此操作后,在组合中选择一条记录将使用该记录的数据填充表单。
答案 1 :(得分:0)
在组合框的AfterUpdate事件中尝试此操作:
Private Sub MyTextBox_AfterUpdate()
MyTextBox.ControlSource = DLookup("WellsField", "WellsTable", "CriteriaField = '" & [MyComboBox] & "'")
MyTextBox.Requery
End Sub
这将告诉您的TextBox在Wells表中查找值,并且Requery确保每次更新组合框时值都是最新的。请注意DLookup标准部分中的'
。只有字符串值才需要这些'
。