Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 将表单记录源从库表单设置为应用程序表_Vba_Ms Access - Fatal编程技术网

Vba 将表单记录源从库表单设置为应用程序表

Vba 将表单记录源从库表单设置为应用程序表,vba,ms-access,Vba,Ms Access,我遇到了一个挑战,试图将recordsource设置为存储在库数据库中的多种形式。这些表单用于一般用途,而要访问的数据存储在应用程序本身的(链接)表中 例如表格“frm_设置”(在库账户中) (部分代码) 根据[this post][1],我必须在recordsource字符串中添加一个“IN”子句: 如果表单引用应用程序中的表或查询,则需要设置 打开事件时窗体的recordsource。你也需要 将“IN C:\Program Files\MyDirectory\MyApp.MDB”子句添加到

我遇到了一个挑战,试图将recordsource设置为存储在库数据库中的多种形式。这些表单用于一般用途,而要访问的数据存储在应用程序本身的(链接)表中

例如表格“frm_设置”(在库账户中) (部分代码)

根据[this post][1],我必须在recordsource字符串中添加一个“IN”子句:

如果表单引用应用程序中的表或查询,则需要设置 打开事件时窗体的recordsource。你也需要 将“IN C:\Program Files\MyDirectory\MyApp.MDB”子句添加到任何 查询引用应用程序MDB中的表

有人有过这样的经历吗?这是否意味着库数据库中的表单只能作为未绑定表单使用?如果是这样,我需要创建各种过程来使用DAO/ADO读取、删除和更新表


Art

为了确保对表或简化SQL字符串的引用不起作用,我将一个表单从库数据库复制到应用程序(frm\u settings\u local)并尝试打开它。它工作得完美无缺

继续页面上的解决方案(旧帖子),尽管我在Accessx64 2016中工作,但我尝试更改SQL,现在在应用程序路径/名称字符串周围添加引号

strSQL = "SELECT * FROM USysAppSettings IN '" & CurrentProject.FullName & "';"
这成功了!这意味着,在库数据库中使用表单时:

  • 不能将表名(可能也不能使用查询)用作 form.recordsource,如果此表(或查询)存储在应用程序本身中
  • 您必须在记录中添加“IN'[应用程序的完整路径和名称];” 源SQL字符串

  • 希望这能帮助其他人解决同样的问题。

    这只是使用外部数据库。对于本地或链接表,您当前的代码可以。您可以将绑定表单与外部记录集一起使用。请提供一个尝试,通常在子句中添加
    后,这应该可以正常工作(或者正如Gustav所说,使用链接表时,它也应该可以正常工作)
    
    strSQL = "SELECT * FROM USysAppSettings IN '" & CurrentProject.FullName & "';"