Я использую пользовательскую функцию импорта (скелет ниже) для сбора данных из текстовых файлов «Связанные» (содержащих заголовок/записи/нижний колонтитул). Первое поле заголовка всегда будет содержать 123, но мне нужно пропустить те записи, где второе поле в заголовке начинается с букв «AC».Custom Import VBA issue
Я попытался создать цикл, который, когда он найдет первое поле, содержит «123», а второе поле начинается с «AC», а затем пропускает записи до тех пор, пока не найдет другой «123», а затем снова проведет проверку через цикл и только вырваться из цикла, чтобы записать записи, которые не содержат «AC» во втором поле заголовка.
Однако я получаю сообщение об ошибке «Ошибка компиляции: Augment не является обязательным» на основе строки Loop Until rs!Field1 = "123" And Left(rs!Field2) <> "AC"
при попытке выполнить следующее и не совсем уверенно, что еще нужно проверить, если строка во втором поле начинается с «AC». Благодарю.
Public Function FormatTextFile()
Dim db As Database
Dim rs, rsa As Recordset
Dim cCount as double
Set db = CurrentDb
Set rs = db.OpenRecordset("Flow_20160316")
cCount = 1
Do
Do While rs!Field1 = "123" And Left(rs!Field2, 2) = "AC"
Debug.Print "Code Skipped on Record " & cCount
cCount = cCOunt + 1
rs.MoveNext
Loop Until rs!Field1 = "123" And Left(rs!Field2) <> "AC"
Select Case rs!Field1
Case Is = "123"
'Code continues and writes some variables to tables'
Case else
Debug.Print "Code Skipped on Record " & cCount
End select
cCount = cCOunt + 1
rs.MoveNext
Loop until rs.eof
rs.Close
db.Close
Set rs = Nothing
Set db = Nothing
End Function
Эта линия *. * Сбор. Я думаю, что вы слишком упростили свой код. [mcve] ==> Подтверждаемый – Andre
BTW, 'Case Is =" 123 "' является ** очень ** неортодоксальным способом записи 'Case" 123 "' :) – Andre
Извинения, это была строка, которая ранее не компилировалась , Я изменил свой оригинал, чтобы показать строку, которая не компилируется в раздел «Loop Until». Спасибо за комментарии к разделу 'Case is =" "'. Я буду изучать это коротко =) – Wowdude