将SQL查询的结果输出到文本框中

时间:2019-06-26 13:14:19

标签: sql vba ms-access dlookup

我正在创建一个表单,该表单显示当用户输入名称时从两个表中获取的有关个人的信息。我希望将字段输出到它们自己的文本框中。我的代码类似于下面的代码。

当我运行代码时,它将在文本框中显示文字查询“ SELECT name etc ...”。我看到Dlookup适用于文本框,但据我了解,它不适用于多个表。任何建议将不胜感激!

PS我是VBA /访问新手

Dim SQL, SearchInput As String

SQL = "SELECT name" & _
      "FROM tablename INNER JOIN othertablename ON tablename.name = othertablename.name" & _
      "WHERE  tablename.name LIKE ""*" & SearchInput & "*""

Me.txtbox = SQL

2 个答案:

答案 0 :(得分:0)

我很确定这是重复的,但是回答比寻找其他帖子要快。

您需要声明一个记录集,并将从select语句返回的数据分配给它。这将为您提供与数组非常相似的东西。之后,您只需将array元素排列到列的位置。 IE浏览器rs(0)=上面的select语句中的名称。

mongodb://myDBReader:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/admin?replicaSet=myRepl

应该可以。

答案 1 :(得分:0)

由于您通常是MS Access和VBA的新手,所以我将提出一种完全避免使用VBA的解决方案。


在您当前的代码中,我假设SearchInput正在从表单上的另一个控件中获取其值。

我建议使用以下SQL创建一个新的保存的查询(称为MyQuery)。

select table2.name from table1 inner join table2 on table1.name = table2.name

然后,在文本框的“控制源”中,使用带有以下参数的DLookup表达式:

=dlookup("[name]", "MyQuery", "table1.name like '*" & [SearchInput] & "*'")

在这里,[SearchInput]是指表单上包含搜索条件的控件的名称。