我正在创建一个表单,该表单显示当用户输入名称时从两个表中获取的有关个人的信息。我希望将字段输出到它们自己的文本框中。我的代码类似于下面的代码。
当我运行代码时,它将在文本框中显示文字查询“ 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
答案 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]
是指表单上包含搜索条件的控件的名称。