(неквалифицированный) *
в SELECT
означает «каждый столбец каждой таблицы в предложении FROM».
Вы могли бы синтаксически обрабатывать его как поле и выполнятьSELECT *, CompanyID, CustomerNumber, ...
включив его в список полей , разделенных запятыми *1009* (который даст вам все поля, за которыми следуют поля, которые вы явно выбрали).
Без запятой это синтаксическая ошибкапотому что после имени поля в списке SELECT механизм запросов ожидает либо псевдоним (As SomeOtherName
), запятую (за которой следует другое имя поля), либо предложение FROM
.
Наилучшее избегание *
в списках SELECT. Просто удалите его (он у вас есть в двух местах), и синтаксическая ошибка исчезнет. Обратите внимание, что квалификатор Sheet1
на самом деле не нужен, поскольку в предложении FROM
есть только 1 таблица. Также, если возможно, подумайте о переименовании столбцов, чтобы они все последовательно PascalCase
без пробелов и специальных символов - и тогда вы сможете избавиться от этих надоедливых [square brackets]
тоже.
strSQL = "SELECT [CompanyID], [CustomerNumber], [Customer Name], [Pymnt Terms], [Associate Name], [Week End], [Doc Date], [Days Open], [Current], [31 - 60 Days], [61 - 90 Days], [91 - 120 Days], [121 and Over], [Balance] FROM Sheet1"