运行时错误'3075' VBA: 检查表中是否已经存在文件

问题描述 投票:0回答:1

我给出了一段代码,我试图检查一个文件是否已经被上传到一个表中。当文件被上传时,上传的文件名会被放入一个名为'Name_of_report'的列中。我试图运行下面的代码,检查文件是否已经存在于保存所有数据的'Table1'中。

但是当我运行下面的代码时,我得到了错误。运行时错误'3075'。在查询表达式'Name_of_report' = File1. xlsx(这是分配给TableName变量的值)中出现语法错误(缺少运算符)。

我知道这是个简单的修复方法,但我对VBA非常陌生,尝试了各种改变,但看不到它的工作。

希望能得到帮助。

Sub Check_TableExists(TableName As Variant)
If CurrentDb.OpenRecordset("SELECT count(Name_of_Report) FROM Table1 WHERE Name_of_Report =" & TableName & ";").Fields(0) > 0 Then
    MsgBox ("Data already exists in table")
End If
ms-access access-vba
1个回答
1
投票

文本类型字段的参数需要用引号分隔符。

If CurrentDb.OpenRecordset("SELECT count(Name_of_Report) FROM Table1 WHERE Name_of_Report ='" & TableName & "';").Fields(0) > 0 Then

但是,域汇总函数可以代替打开记录集来完成。

If DCount("*", "Table1", "Name_of_Report='" & TableName & "'") > 0 Then

© www.soinside.com 2019 - 2024. All rights reserved.