我给出了一段代码,我试图检查一个文件是否已经被上传到一个表中。当文件被上传时,上传的文件名会被放入一个名为'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
文本类型字段的参数需要用引号分隔符。
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