Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / vba excel не работает SQL оператор like / 14 сообщений из 14, страница 1 из 1
29.08.2017, 09:16
    #39511998
АртЮганск
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vba excel не работает SQL оператор like
Есть код:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Function GetInfPSD2(sObj As String, sTitle As String) As Dictionary  
    Dim s As String
    Dim dic As New Dictionary
    Dim i As Integer
    s = "SELECT [" & sTitle & "] FROM [" & sHN & "$" & sDiap & "] WHERE [Проект/объект] Like '" & sObj & "'"
    Debug.Print "Запрос: " & s
    rs.MaxRecords = 50                                                                          
    rs.Open s, cADO, Options:=adCmdText                                                         
    If Not (rs.EOF Or rs.BOF) Then
        StrToDic2 rs.GetString, dic
    End If
    If rs.BOF Then
        Debug.Print "Записей больше чем " & rs.MaxRecords
        Debug.Print rs.GetString
    End If
    If rs.EOF Then
        Debug.Print "Записей нет!"
    End If
    rs.Close
    Set GetInfPSD = dic
End Function


Данный код отправляет SQL запрос в файл “BD.xlsb”:
Код: sql
1.
SELECT [Ответственный специалист ПИР] FROM [Scene2$G6:CN12000] WHERE [Проект/объект] Like '%КНС-2%гутск%'


Данный SQL ничего не возвращает, хотя в Excel файле данные есть (см. рисунок).
Вопрос: оператор Like вообще работает в SQL запросах для Excel файлов?
Для информации, строка соединения:

Код: xml
1.
Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};ReadOnly=1;DBQ=C:\Art\МАКРОСЫ\ADO_DB\BD.xlsb;
...
Рейтинг: 0 / 0
29.08.2017, 09:37
    #39512012
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vba excel не работает SQL оператор like
В Microsoft Jet SQL плейсхолдером любой подстроки является звёздочка.
Правильный текст запроса:
Код: sql
1.
2.
3.
SELECT [Ответственный специалист ПИР] 
FROM [Scene2$G6:CN12000] 
WHERE [Проект/объект] Like '*КНС-2*гутск*'
...
Рейтинг: 0 / 0
31.08.2017, 15:28
    #39513509
АртЮганск
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vba excel не работает SQL оператор like
Попробовал выполнить запрос:
Код: vbnet
1.
2.
3.
SELECT [Ответственный специалист ПИР] 
FROM [Scene2$G6:CN12000] 
WHERE [Проект/объект] Like '*КНС-2*гутск*'


Получилось тоже самое, SQL ничего не возвращает!
...
Рейтинг: 0 / 0
31.08.2017, 15:43
    #39513520
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vba excel не работает SQL оператор like
у вас нет поля [Проект/объект] - это лишь label в excel, обращайтесь по номеру , пример: [F3]
...
Рейтинг: 0 / 0
01.09.2017, 08:04
    #39513796
АртЮганск
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vba excel не работает SQL оператор like
Поэкспериментировал с разными вариантами SQL запроса, вот что получилось:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
Запрос: SELECT [Ответственный специалист ПИР] FROM [Scene2$G6:CN12000] WHERE [P9:P12000] Like '*КНС-2*гутск*'
[Microsoft][Драйвер ODBC Excel] Слишком мало параметров. Требуется 1.

Запрос: SELECT [Ответственный специалист ПИР] FROM [Scene2$G6:CN12000] WHERE [P9] Like '*КНС-2*гутск*'
[Microsoft][Драйвер ODBC Excel] Слишком мало параметров. Требуется 1.

Запрос: SELECT [Ответственный специалист ПИР] FROM [Scene2$G6:CN12000] WHERE [P:P] Like '*КНС-2*гутск*'
[Microsoft][Драйвер ODBC Excel] Слишком мало параметров. Требуется 1.
...
Рейтинг: 0 / 0
01.09.2017, 08:23
    #39513800
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vba excel не работает SQL оператор like
Вам же русским по белому написано - имя поля F x. А Вы туда какую-то "P" пихаете...
Или в строке соединения явно укажите HDR=Yes - и вот тогда обращайтесь по именам колонок, с учётом подмены недопустимых символов.
...
Рейтинг: 0 / 0
03.09.2017, 04:48
    #39514606
АртЮганск
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vba excel не работает SQL оператор like
Akina,
для моего случая Fx чему будет равен?
...
Рейтинг: 0 / 0
03.09.2017, 04:49
    #39514607
АртЮганск
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vba excel не работает SQL оператор like
К предыдущему сообщению
...
Рейтинг: 0 / 0
03.09.2017, 04:49
    #39514608
АртЮганск
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vba excel не работает SQL оператор like
К предыдущему сообщению
...
Рейтинг: 0 / 0
03.09.2017, 04:49
    #39514609
АртЮганск
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vba excel не работает SQL оператор like
К предыдущему сообщению
...
Рейтинг: 0 / 0
03.09.2017, 04:50
    #39514610
АртЮганск
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vba excel не работает SQL оператор like
К предыдущему сообщению
...
Рейтинг: 0 / 0
03.09.2017, 04:50
    #39514611
АртЮганск
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vba excel не работает SQL оператор like
К предыдущему сообщению
...
Рейтинг: 0 / 0
03.09.2017, 04:51
    #39514612
АртЮганск
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vba excel не работает SQL оператор like
К предыдущему сообщению
...
Рейтинг: 0 / 0
03.09.2017, 04:54
    #39514613
АртЮганск
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vba excel не работает SQL оператор like
К предыдущему сообщению
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / vba excel не работает SQL оператор like / 14 сообщений из 14, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]