После ответа на на этот вопрос я выполняю различные запросы, хранящиеся в файле .txt, используя следующий код:
Dim vSql As Variant
Dim vSqls As Variant
Dim strSql As String
Dim intF As Integer
intF = FreeFile()
Open "MyFile.txt" For Input As #intF
strSql = Input(LOF(intF), #intF)
Close intF
vSql = Split(strSql, ";")
On Error Resume Next
For Each vSqls In vSql
DoCmd.RunSQL vSqls
Next
Запросы разделены ;
, и каждому запросу предшествует строка комментария, начинающаяся с '
и заканчивающаяся ;
(так что она разбивается на vSql = Split(strSql, ";")
).
Полученный вариант vSql
состоит из допустимых операторов SQL, перемежающихся строками комментариев, начинающимися с '
. Текущий код работает, но я хотел бы удалить On Error Resume Next
, чтобы ошибочный оператор SQL возвращал ошибку, а не игнорировался.
Как я могу удалить строки, начинающиеся с '
в варианте перед выполнением цикла For Each
? Или есть другой способ достичь моей цели? Символ комментария может быть изменен при необходимости.