自动填写文本框,点击列表框中的项目

时间:2017-05-04 08:39:23

标签: textbox listbox ms-access-2010

另一个初学者提问,但这次是关于MS Access Controls。 我有一个表单,我有一个包含许多项目的列表框。 我需要做的是当我双击列表框中存储的这个项目之一时,如果所有文本框都填充了一个项目,该项目存储在来自我的表格的同一行的不同字段中。

我已经检查了很多教程,但没有找到一个好的解决方案。

感谢您的帮助!

编辑:

我有一个包含多个字段的表格。列表框包含第一个字段(ID)中的项目。其余字段(平铺,交付日期等)由我的表单中的文本框表示。

当我双击单击列表框中的一个项目时,将填充文本框。  如果我从列表框中选择第5项表示我表格中的第5行,则每个文本框的项目都应该来自表格中所示字段的同一行。

我只想用这个表格编辑存储在表格中的数据。

1 个答案:

答案 0 :(得分:0)

好的,我终于得到了这个解决方案。

我使用DLOOKUP在双击事件后将数据拉到我的表单。

 Dim ctrloop

 For Each ctrloop In Me.lbReportID.ItemsSelected
      strReportID = Me.lbReportID.ItemData(ctrloop)
 Next ctrloop

 Me.txtTitle = DLookup("[Title]", "tblreports", "[ID No] = '" & strReportID & "'")

循环存储我在表格中的所有报告ID。 DLOOKUP使用此作为过滤器。它就像SQL中的WHERE

当程序运行时,将填写我的标题文本框,查看使用tblreports过滤的strReportID表格中的标题字段。

它的工作方式类似于我在其他文本框中使用的SQL查询:

SELECT tblReports.[ID No] 
FROM tblReports 
WHERE (((tblReports.WorkPacage) = 'CDS'))  
  AND (((tblReports.State) <> 'Complete'));