У меня есть одна таблица в таблице Excel с примерно 20 столбцами, и я написал SQL-запрос в EXCEL, используя ADO, чтобы получить результирующий набор, которым я пользуюсь.Доступ SQL, выполненный через excel, возвращает пустой набор результатов
Я самостоятельно присоединиться к столу, как это:
strSQL = "SELECT C1.[Column1], C1.[Column2], C2.[Column 1], C2.[Column 2] FROM [Data 1$] C1 " & _
"INNER JOIN [Data 1$] C2 on C1.[Column 3] = C2.[Column 3] " & _
"AND C1.[Column 1] = C2.[Column 1] " & _
"AND C1.[Column 2] = C2.[Column 2] " & _
"AND (C1.[Column 4] = RIGHT(C2.[Column 5], LEN(C2.[Column 5])-1) " & _
"OR C2.[Column 4] = RIGHT(C1.[Column 5], LEN(C1.[Column 5])-1)) " & _
"AND C1.[Column 6] < C2.[Column 6]"
Однако результат является пустым множеством. Я просверлил вниз к следующей строке
"AND (C1.[Column 4] = RIGHT(C2.[Column 5], LEN(C2.[Column 5])-1) " & _
"OR C2.[Column 4] = RIGHT(C1.[Column 5], LEN(C1.[Column 5])-1)) "
Если я удалить его я получаю 5 результатов, 3 каждого удовлетворяют эти критерии !!
Как вы думаете, вы можете помочь мне выяснить, что происходит?
Thanks,
Убедитесь, что вы одинарные кавычки любые строки значений в предложении WHERE. Вы должны отредактировать свой вопрос и показать нам вывод «Debug».Печать strSQL' –
Добро пожаловать в переполнение стека! См. [Как заполнить минимальный, полный и проверенный пример] (/ help/mcve). –
Спасибо, ребята. Вот вывод Debug Print: 'code'SELECT C1. [Столбец 1], C1. [Столбец 2], C2. [Столбец 2], C2. [Столбец 3] FROM [Рабочий лист 1 $] C1 INNER JOIN [Рабочий лист 1 $] C2 на C1. [Столбец 4] = C2. [Столбец 4] И C1. [Столбец 1] = C2. [Столбец 1] И (C1. [Столбец 5] = ВПРАВО (C2. [Столбец 6], LEN (C2. [Столбец 6]) - 1) ИЛИ C2. [Столбец 5] = ВПРАВО (C1. [Столбец 6], LEN (C1. [Столбец 6]) - 1)) И C1. [Столбец 2]