Ошибка времени выполнения '3075' VBA: проверьте, существует ли файл в таблице - PullRequest
0 голосов
/ 05 мая 2020

Я привел фрагмент кода, в котором я пытаюсь проверить, загружен ли уже файл в таблицу. При загрузке файлов имя загруженного файла помещается в столбец «Имя_отчета». Я пытаюсь запустить приведенный ниже код и проверить, существует ли уже файл в таблице «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

1 Ответ

1 голос
/ 05 мая 2020

Параметры для поля текстового типа нуждаются в разделителях апострофа.

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

Однако агрегатная функция домена могла бы выполнять sh вместо открытия набора записей.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...